@Override public Unit matchIntegerSigned( final TIntegerSigned t) { return this.onInteger(t.getSizeInBits()); }
private TypeExprIntegerSigned<IdentifierType, TType> checkTypeExprIntegerSigned( final TypeExprIntegerSigned<IdentifierType, Untyped> e) throws JPRACompilerCheckerException { final SizeExprType<IdentifierType, TType> se = this.checkSizeExpr(e.getSize()); final Size<SizeUnitBitsType> size = this.evaluateSize(se); final TType type = new TIntegerSigned(e.getLexicalInformation(), size); final TypeExprIntegerSigned<IdentifierType, TType> rv = new TypeExprIntegerSigned<>( type, e.getLexicalInformation(), se); this.checkTypeExprIntegerSize(e, size); return rv; }
private TypeExprIntegerSigned<IdentifierType, TType> checkTypeExprIntegerSigned( final TypeExprIntegerSigned<IdentifierType, Untyped> e) throws JPRACompilerCheckerException { final SizeExprType<IdentifierType, TType> se = this.checkSizeExpr(e.getSize()); final Size<SizeUnitBitsType> size = JPRAChecker.evaluateSize(se); final TType type = new TIntegerSigned(e.getLexicalInformation(), size); final TypeExprIntegerSigned<IdentifierType, TType> rv = new TypeExprIntegerSigned<>( type, e.getLexicalInformation(), se); this.checkTypeExprIntegerSize(e, size); return rv; }
new FieldName(no_lex, "r2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "g2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "b2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "a2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "y2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "z2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "w2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L)));
@Override public Unit matchIntegerSigned( final TIntegerSigned t) { return this.onInteger(t.getSizeInBits().getValue()); }
new FieldName(no_lex, "r4"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); rb.addField( new FieldName(no_lex, "g4"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); rb.addField( new FieldName(no_lex, "b4"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); rb.addField( new FieldName(no_lex, "a4"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L)));
@Override public Unit matchIntegerSigned( final TIntegerSigned t) { return this.onInteger(t.getSizeInBits().getValue()); }
new FieldName(no_lex, "r2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "g2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "b2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L))); rb.addField( new FieldName(no_lex, "a2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(2L)));
@Override public Unit matchIntegerSigned(final TIntegerSigned t) { return this.onInteger(t.getSizeInBits().getValue()); }
new FieldName(no_lex, "r16"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(16L))); rb.addField( new FieldName(no_lex, "g16"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(16L))); rb.addField( new FieldName(no_lex, "b16"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(16L))); rb.addField( new FieldName(no_lex, "a16"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(16L)));
final TIntegerSigned t) final int e_size = t.getSizeInBits().getValue().intValue(); switch (e_size) { case 32: {
new FieldName(no_lex, "r8"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(8L))); rb.addField( new FieldName(no_lex, "g8"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(8L))); rb.addField( new FieldName(no_lex, "b8"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(8L))); rb.addField( new FieldName(no_lex, "a8"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(8L)));
@Test public final void testTypeExprIntegerSignedSizeCorrect() throws Exception { final JPRAParserType p = this.newParser(); final GlobalContextType c = GlobalContexts.newContext(new AlwaysEmptyLoader()); final JPRAResolverType r = this.newResolver(c); final JPRACheckerType ch = this.newChecker( c, JPRACheckerStandardCapabilities.newCapabilities()); final TypeExprType<IdentifierType, Untyped> te = r.resolveTypeExpression( p.parseTypeExpression( this.newStringSExpr("(integer signed 32)"))); final TypeExprIntegerSigned<IdentifierType, TType> e = TypeExprIntegerSigned.class.cast(ch.checkTypeExpression(te)); final TIntegerSigned ti = TIntegerSigned.class.cast(e.getType()); Assert.assertEquals(BigInteger.valueOf(32L), ti.getSizeInBits().getValue()); }
new FieldName(no_lex, "f0"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); tpb.addField( new FieldName(no_lex, "f1"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); tpb.addField( new FieldName(no_lex, "f2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); tpb.addField( new FieldName(no_lex, "f3"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L)));
new FieldName(no_lex, "f0"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); tpb.addPaddingBits(no_lex, Size.valueOf(4L)); tpb.addField( new FieldName(no_lex, "f2"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); tpb.addPaddingBits(no_lex, Size.valueOf(4L));
new FieldName(no_lex, "i8"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(8L))); rb.addField( new FieldName(no_lex, "i16"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(16L))); rb.addField( new FieldName(no_lex, "i32"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(32L))); rb.addField( new FieldName(no_lex, "i64"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(64L)));
new FieldName(no_lex, "s4"), gc.getFreshIdentifier(), new TIntegerSigned(no_lex, Size.valueOf(4L))); rb.addField( new FieldName(no_lex, "un4"),
new TIntegerSigned(no_lex, Size.valueOf(32L)); final TIntegerSigned t_long = new TIntegerSigned(no_lex, Size.valueOf(64L)); final TFloat t_float = new TFloat(no_lex, Size.valueOf(32L));