@Override public StructNameType clone() { return new StructNameType(name); }
private StructDefinitionType fuzzStruct() { List<String> names = new ArrayList<>(); List<Type> types = new ArrayList<>(); int numFields = generator.nextPositiveInt(MAX_FIELDS_PER_STRUCT); for (int i = 0; i < numFields; i++) { names.add(createName("a")); types.add(fuzzType()); } return new StructDefinitionType( new StructNameType(createName("S")), names, types); }
private StructDefinitionType getStructDefinitionAndRecordStructType( Struct_specifierContext ctx) { StructNameType structNameType = null; if (ctx.IDENTIFIER() != null) { structNameType = new StructNameType(ctx.IDENTIFIER().getText()); assert !structs.contains(structNameType); structs.add(structNameType); } return makeStructDefinition(Optional.ofNullable(structNameType), ctx.member_list()); }
default: final StructNameType maybeStructType = new StructNameType(typeConstructorExpr.getTypename()); if (structDeclarationMap.containsKey(maybeStructType)) { types.put(typeConstructorExpr, maybeStructType);
new StructNameType(Constants.STRUCTIFICATION_STRUCT_PREFIX + idGenerator.freshId()), fieldNames, fieldTypes)); result.addAll(subStructs);
private Type getType(Type_specifierContext typeSpecifier, List<TypeQualifier> qualifiers) { if (typeSpecifier.array_specifier() != null) { throw new RuntimeException(); } if (typeSpecifier.type_specifier_nonarray().builtin_type_specifier_nonarray() != null) { return new QualifiedType(getBuiltinType(typeSpecifier.type_specifier_nonarray() .builtin_type_specifier_nonarray()), qualifiers); } else if (typeSpecifier.type_specifier_nonarray().struct_specifier() != null) { return getStructDefinitionAndRecordStructType( typeSpecifier.type_specifier_nonarray().struct_specifier()); } else { assert typeSpecifier.type_specifier_nonarray().IDENTIFIER() != null; final StructNameType maybeStructNameType = new StructNameType( typeSpecifier.type_specifier_nonarray().IDENTIFIER().getText()); return new QualifiedType(maybeStructNameType, qualifiers); } }
final StructNameType structType = new StructNameType( header.function_identifier().variable_identifier().getText()); return new ArrayConstructorExpr(