/** * We cannot rely on JvmType#getIdentifier as it is cached and does not pick up changed simpleNames, e.g. in rename * refactoring. */ protected String serializeType(JvmDeclaredType type) { return type.getQualifiedName('.'); }
protected boolean needsImport(JvmDeclaredType type, String name, NonOverridableTypesProvider nonOverridableTypesProvider, Iterable<TypeUsage> usages) { boolean nameEquals = type.getQualifiedName().equals(name) || type.getQualifiedName('.').equals(name); return !(nameEquals || isUsedInLocalContextOnly(type, usages, nonOverridableTypesProvider, name)); }
protected String getPackageLocalName(JvmDeclaredType type) { String packageName = type.getPackageName(); if (isEmpty(packageName)) return type.getQualifiedName('.'); else return type.getQualifiedName('.').substring(packageName.length() + 1); }
@Override public String getQualifiedName(char innerClassDelimiter) { if (simpleName == null) return null; JvmDeclaredType declaringType = getDeclaringType(); if (declaringType == null) return simpleName; return declaringType.getQualifiedName(innerClassDelimiter) + '.' + simpleName; }
@Override public String getQualifiedName(char innerClassDelimiter) { if (simpleName == null) return null; JvmDeclaredType declaringType = getDeclaringType(); if (declaringType == null) return simpleName; return declaringType.getQualifiedName(innerClassDelimiter) + '.' + simpleName; }
protected Multimap<String, JvmDeclaredType> getLocallyDefinedTypes(XtextResource resource) { Multimap<String, JvmDeclaredType> result = LinkedHashMultimap.create(); for(JvmDeclaredType type: config.getLocallyDefinedTypes(resource)) { String packageName = type.getPackageName(); if(isEmpty(packageName)) result.put(type.getQualifiedName('.'), type); else result.put(type.getQualifiedName('.').substring(packageName.length() + 1), type); } return result; }
public String getQualifiedName() { return this.getDelegate().getQualifiedName('.'); }
protected String getClassNamePattern(XtextResource state) { TreeIterator<Object> contents = EcoreUtil.getAllContents(state, false); StringBuilder sb = new StringBuilder(); while (contents.hasNext()) { Object next = contents.next(); if (next instanceof JvmDeclaredType) { JvmDeclaredType type = (JvmDeclaredType) next; sb.append(type.getQualifiedName()).append("*"); sb.append(","); } } if (sb.length() == 0) return null; else return sb.substring(0, sb.length() - 1); }
@Override public String getQualifiedName(char innerClassDelimiter) { JvmDeclaredType declaringType = getDeclaringType(); if (declaringType != null) return declaringType.getQualifiedName(innerClassDelimiter); return getSimpleName(); }
protected void _internalDoGenerate(final JvmDeclaredType type, final IFileSystemAccess fsa) { boolean _isDisabled = DisableCodeGenerationAdapter.isDisabled(type); if (_isDisabled) { return; } String _qualifiedName = type.getQualifiedName(); boolean _tripleNotEquals = (_qualifiedName != null); if (_tripleNotEquals) { String _replace = type.getQualifiedName().replace(".", "/"); String _plus = (_replace + ".java"); fsa.generateFile(_plus, this.generateType(type, this.generatorConfigProvider.get(type))); } }
@Override public String getQualifiedName(char innerClassDelimiter) { JvmDeclaredType declaringType = getDeclaringType(); if (declaringType != null) return declaringType.getQualifiedName(innerClassDelimiter); return getSimpleName(); }
protected boolean isImportDeclarationRequired(final ITypeDescriptor typeDesc, final String qualifiedName, final ContentAssistContext context, final XImportSection importSection) { return ((!(typeDesc.getName().startsWith("java.lang") && (typeDesc.getName().lastIndexOf(".") == 9))) && ((importSection == null) || (!IterableExtensions.<XImportDeclaration>exists(importSection.getImportDeclarations(), ((Function1<XImportDeclaration, Boolean>) (XImportDeclaration it) -> { JvmDeclaredType _importedType = it.getImportedType(); String _qualifiedName = null; if (_importedType!=null) { _qualifiedName=_importedType.getQualifiedName(); } return Boolean.valueOf(Objects.equal(_qualifiedName, qualifiedName)); }))))); }
@Override public String getQualifiedName(char innerClassDelimiter) { if (simpleName == null) return null; JvmDeclaredType declaringType = getDeclaringType(); if (declaringType == null) { if (Strings.isEmpty(packageName)) return simpleName; return packageName + "." + simpleName; } String parentName = declaringType.getQualifiedName(innerClassDelimiter); if (parentName == null) return null; return parentName + innerClassDelimiter + simpleName; }
@Override public String getQualifiedName(char innerClassDelimiter) { if (simpleName == null) return null; JvmDeclaredType declaringType = getDeclaringType(); if (declaringType == null) { if (Strings.isEmpty(packageName)) return simpleName; return packageName + "." + simpleName; } String parentName = declaringType.getQualifiedName(innerClassDelimiter); if (parentName == null) return null; return parentName + innerClassDelimiter + simpleName; }
@Override protected PreferredType findPreferredType(JvmDeclaredType referencedType, String text) { if (referencedType != null && referencedType.getQualifiedName().equals(XtendImportedNamespaceScopeProvider.OLD_DATA_ANNOTATION.toString("."))) return new PreferredType("Data"); return super.findPreferredType(referencedType, text); } }
protected void addDescriptions(JvmDeclaredType type, JvmType declarator, List<IEObjectDescription> result) { String typeName = type.getQualifiedName('.'); String declaratorName = declarator.getQualifiedName('.'); int declaratorLength = declaratorName.length(); String subName = typeName.substring(declaratorLength + 1); List<String> segments = Strings.split(subName, '.'); result.add(EObjectDescription.create(QualifiedName.create(segments), type)); result.add(EObjectDescription.create(subName.replace('.', '$'), type)); for(JvmDeclaredType nestedType: type.getAllNestedTypes()) { addDescriptions(nestedType, declarator, result); } }
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>()); } }
private Type findType(final String qualifiedName) { final Function1<JvmDeclaredType, String> _function = (JvmDeclaredType type) -> { return type.getQualifiedName('.'); }; final Function1<JvmDeclaredType, Iterable<? extends JvmDeclaredType>> _function_1 = (JvmDeclaredType type) -> { return Iterables.<JvmDeclaredType>filter(type.getMembers(), JvmDeclaredType.class); }; final JvmDeclaredType result = this.<JvmDeclaredType>recursiveFindType(qualifiedName, Iterables.<JvmDeclaredType>filter(this.compilationUnit.getXtendFile().eResource().getContents(), JvmDeclaredType.class), _function, _function_1); Type _xifexpression = null; if ((result != null)) { _xifexpression = this.compilationUnit.toType(result); } return _xifexpression; }
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); } } }
@Check public void checkComponentTypeIsInterfaceOrAbstract(Component component) { if (component.getModule() != null) return; JvmType actualType = component.getActualType(); if (actualType == null || actualType.eIsProxy()) return; JvmDeclaredType declaredType = (JvmDeclaredType) actualType; if (declaredType.isAbstract() || (declaredType instanceof JvmGenericType && ((JvmGenericType) declaredType).isInterface())) { error( "'" + declaredType.getQualifiedName('.') + "' is not instantiable.", component, Mwe2Package.Literals.REFERRABLE__TYPE, ValidationMessageAcceptor.INSIGNIFICANT_INDEX, ABSTRACT_OR_INTERFACE); } }