private void fillFieldTypes( AbstractClassTypeDeclarationDescr typeDescr, PackageDescr packageDescr ) { for (TypeFieldDescr field : typeDescr.getFields().values()) { String declaredType = field.getPattern().getObjectType(); if (declaredType != null) { int separator = declaredType.lastIndexOf( "." ); boolean qualified = separator > 0; // check if a simple name corresponds to a f.q.n. if (!qualified) { declaredType = resolveType( declaredType, packageDescr, this.pkgRegistryMap.get( typeDescr.getNamespace() ) ); field.getPattern().setObjectType( declaredType ); } } } }
for ( TypeFieldDescr field : tdescr.getFields().values() ) { QualifiedName typeName = new QualifiedName( field.getPattern().getObjectType() ); if ( ! hasCircularDependency( name, typeName, taxonomy ) ) {
if (!typeDescr.getFields().isEmpty()) { PriorityQueue<FieldDefinition> fieldDefs = sortFields( typeDescr.getFields(), pkgRegistry ); int n = fieldDefs.size(); for ( String existingFieldName : cfi.getFieldTypesField().keySet() ) { if ( ! cfi.isNonGetter( existingFieldName ) && ! "class".equals( existingFieldName ) && cfi.getSetterMethods().containsKey( existingFieldName ) ) { if ( ! typeDescr.getFields().containsKey( existingFieldName ) ) { type.setValid(false); this.results.add(new TypeDeclarationError(typeDescr, "New declaration of "+typeDescr.getType().getFullName() + } else { String fldType = cfi.getFieldTypes().get( existingFieldName ).getName(); TypeFieldDescr declaredField = typeDescr.getFields().get( existingFieldName ); if ( ! fldType.equals( type.getTypeClassDef().getField( existingFieldName ).getTypeName() ) ) { type.setValid(false); if ( fieldCount != typeDescr.getFields().size() ) { this.results.add(new TypeDeclarationError(typeDescr, "New declaration of "+typeDescr.getType().getFullName() +" declares a different set of fields \n" + "existing : " + cfi.getFieldTypesField() + "\n" + "declared : " + typeDescr.getFields() ));
if ( isEmpty( typeDescr.getNamespace() ) && typeDescr.getFields().isEmpty() ) {
TypeDeclarationDescr tempDescr = new TypeDeclarationDescr(); tempDescr.setNamespace( typeDescr.getNamespace() ); tempDescr.setFields( typeDescr.getFields() ); tempDescr.setType( target, typeDescr.getNamespace() );