protected boolean needsQualifiedName(String qualifiedName, String simpleName) { return !organizeImports || (getThisTypeSimpleNames().contains(simpleName) && !getThisTypeQualifiedNames().contains(qualifiedName)) || CodeGenUtil2.isJavaLangType(simpleName); }
public ImportManager(boolean organizeImports, JvmDeclaredType thisType, char innerTypeSeparator) { this.organizeImports = organizeImports; this.innerTypeSeparator = innerTypeSeparator; if (thisType != null) { getThisTypeSimpleNames().add(thisType.getSimpleName()); getThisTypeQualifiedNames().add(thisType.getQualifiedName(innerTypeSeparator)); thisCollidesWithJavaLang |= CodeGenUtil2.isJavaLangType(thisType.getSimpleName()); registerSimpleNamesOfInnerClasses(thisType, new LinkedHashSet<JvmType>()); } }
protected void registerSimpleNamesOfInnerClasses(JvmDeclaredType thisType, LinkedHashSet<JvmType> handled) { if (!handled.add(thisType)) return; List<JvmDeclaredType> nested = EcoreUtil2.typeSelect(thisType.getMembers(), JvmDeclaredType.class); for (JvmDeclaredType jvmDeclaredType : nested) { getThisTypeSimpleNames().add(jvmDeclaredType.getSimpleName()); getThisTypeQualifiedNames().add(jvmDeclaredType.getQualifiedName(getInnerTypeSeparator())); thisCollidesWithJavaLang |= CodeGenUtil2.isJavaLangType(jvmDeclaredType.getSimpleName()); } for (JvmTypeReference superType: thisType.getSuperTypes()) { if (superType.getType() instanceof JvmDeclaredType) { registerSimpleNamesOfInnerClasses((JvmDeclaredType) superType.getType(), handled); } } }