@Override public void visitEnd() { InternalEList<JvmMember> members = (InternalEList<JvmMember>) declarator.getMembers(); members.addUnique(result); }
@Override public void visitEnd() { InternalEList<JvmMember> members = (InternalEList<JvmMember>) declarator.getMembers(); members.addUnique(result); }
/** * Return the local cases that match the given signature (in no particular order, usually as defined in the file). */ public List<JvmOperation> getLocalDispatchCases(JvmDeclaredType type, DispatchSignature signature) { List<JvmOperation> result = Lists.newArrayListWithExpectedSize(5); for(JvmMember feature: type.getMembers()) { if (feature instanceof JvmOperation && signature.isDispatchCase((JvmOperation) feature)) { result.add((JvmOperation) feature); } } return result; }
/** * @deprecated build your own :-) */ @Deprecated public /* @Nullable */ JvmOperation toHashCodeMethod(/* @Nullable */ final EObject sourceElement, final boolean extendsSomethingWithProperHashCode, /* @Nullable */ final JvmDeclaredType declaredType) { if (sourceElement == null || declaredType == null) return null; return toHashCodeMethod(sourceElement, extendsSomethingWithProperHashCode, toArray(filter(declaredType.getMembers(), JvmField.class), JvmField.class)); }
/** * @deprecated build your own :-) */ @Deprecated public /* @Nullable */ JvmOperation toEqualsMethod(/* @Nullable */ final EObject sourceElement, /* @Nullable */ final JvmDeclaredType declaredType, final boolean isDelegateToSuperEquals) { if (sourceElement == null || declaredType == null) return null; return toEqualsMethod(sourceElement, declaredType, isDelegateToSuperEquals, toArray(filter(declaredType.getMembers(), JvmField.class), JvmField.class)); }
protected JvmType findNestedType(JvmDeclaredType outerType, Iterator<String> iterator) { String current = iterator.next(); for(JvmMember member: outerType.getMembers()) { if (member instanceof JvmDeclaredType && member.getSimpleName().equals(current)) { if (iterator.hasNext()) { return findNestedType((JvmDeclaredType) member, iterator); } return (JvmDeclaredType) member; } } return null; }
protected void _recordExpressions(JvmDeclaredType type) { List<JvmMember> members = type.getMembers(); for(int i = 0, size = members.size(); i < size; i++) { recordExpressions(members.get(i)); } recordAnnotationExpressions(type); }
protected void computeMemberTypes(Map<JvmIdentifiableElement, ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type) { IFeatureScopeSession childSession = addExtensionsToMemberSession(resolvedTypes, featureScopeSession, type); List<JvmMember> members = type.getMembers(); for(int i = 0; i < members.size(); i++) { computeTypes(preparedResolvedTypes, resolvedTypes, childSession, members.get(i)); } }
protected Iterable<JvmMember> _getMembersToBeCompiled(final JvmDeclaredType it) { final Function1<JvmMember, Boolean> _function = (JvmMember it_1) -> { return Boolean.valueOf((!((it_1 instanceof JvmConstructor) && this._jvmTypeExtensions.isSingleSyntheticDefaultConstructor(((JvmConstructor) it_1))))); }; return IterableExtensions.<JvmMember>filter(it.getMembers(), _function); }
private void collectAccessibleFields(final JvmDeclaredType type, final JvmDeclaredType sourceType, final List<JvmField> result) { final Function1<JvmField, Boolean> _function = (JvmField it) -> { return Boolean.valueOf(this.isAccessibleBy(it, sourceType)); }; Iterable<JvmField> _filter = IterableExtensions.<JvmField>filter(Iterables.<JvmField>filter(type.getMembers(), JvmField.class), _function); Iterables.<JvmField>addAll(result, _filter); final Consumer<JvmDeclaredType> _function_1 = (JvmDeclaredType it) -> { this.collectAccessibleFields(it, type, result); }; this.getSuperClasses(type).forEach(_function_1); }
@Override public void doAddImports(ITypeImporter importer) { for (JvmMember member : enumType.getMembers()) { if (member instanceof JvmEnumerationLiteral) { importer.importStatic(enumType, member.getSimpleName()); } } } }
protected void addInnerTypes(JvmDeclaredType containerType, IAcceptor<? super JvmDeclaredType> result) { for (JvmMember member : containerType.getMembers()) { if (member instanceof JvmDeclaredType) { result.accept((JvmDeclaredType) member); addInnerTypes((JvmDeclaredType) member, result); } } }
protected void addInnerTypes( JvmDeclaredType type, String prefix, IVisibilityHelper visibilityHelper, Map<String, JvmIdentifiableElement> result) { for (JvmMember member : type.getMembers()) { if (member instanceof JvmDeclaredType && visibilityHelper.isVisible(member)) { String localName = prefix + member.getSimpleName(); if (!result.containsKey(localName)) { result.put(localName, member); } addInnerTypes((JvmDeclaredType) member, prefix + member.getSimpleName() + ".", visibilityHelper, result); } } }
public Iterable<? extends MemberDeclaration> getDeclaredMembers() { final Function1<JvmMember, MemberDeclaration> _function = (JvmMember it) -> { return this.getCompilationUnit().toMemberDeclaration(it); }; return ImmutableList.<MemberDeclaration>copyOf(ListExtensions.<JvmMember, MemberDeclaration>map(this.getDelegate().getMembers(), _function)); }
/** * Infers inner classes for Match class based on the input 'pattern'. */ public boolean inferMatchInnerClasses(final JvmDeclaredType matchClass, final Pattern pattern) { boolean _xblockexpression = false; { EList<JvmMember> _members = matchClass.getMembers(); JvmGenericType _makeMatchInnerClass = this.makeMatchInnerClass(matchClass, pattern, this._eMFPatternLanguageJvmModelInferrerUtil.matchMutableInnerClassName(pattern), true); this._eMFJvmTypesBuilder.<JvmGenericType>operator_add(_members, _makeMatchInnerClass); EList<JvmMember> _members_1 = matchClass.getMembers(); JvmGenericType _makeMatchInnerClass_1 = this.makeMatchInnerClass(matchClass, pattern, this._eMFPatternLanguageJvmModelInferrerUtil.matchImmutableInnerClassName(pattern), false); _xblockexpression = this._eMFJvmTypesBuilder.<JvmGenericType>operator_add(_members_1, _makeMatchInnerClass_1); } return _xblockexpression; }
protected void indexFeatures(JvmDeclaredType type, Multimap<Triple<EClass, String, Integer>, JvmFeature> index) { for (JvmMember member : type.getMembers()) { if (member instanceof JvmExecutable) { Triple<EClass, String, Integer> key = Tuples.create(member.eClass(), member.getSimpleName(), ((JvmExecutable) member).getParameters().size()); index.put(key, (JvmFeature) member); } else if (member instanceof JvmField) { Triple<EClass, String, Integer> key = Tuples.create(member.eClass(), member.getSimpleName(), -1); index.put(key, (JvmFeature) member); } } }
public boolean isSingleSyntheticDefaultConstructor(final JvmConstructor it) { return ((((it.getParameters().isEmpty() && (this._iLogicalContainerProvider.getAssociatedExpression(it) == null)) && (this.getCompilationStrategy(it) == null)) && (this.getCompilationTemplate(it) == null)) && (IterableExtensions.size(Iterables.<JvmConstructor>filter(it.getDeclaringType().getMembers(), JvmConstructor.class)) == 1)); }
public IScope createMemberScope(JvmType containerType, Predicate<JvmMember> filter, Function<JvmMember, QualifiedName> names, IScope outer) { if (containerType == null || containerType.eIsProxy()) return outer; if (containerType instanceof JvmDeclaredType) { IScope result = outer; List<JvmTypeReference> superTypes = ((JvmDeclaredType) containerType).getSuperTypes(); for(JvmTypeReference superType: superTypes) { if (superType.getType() != null) result = createMemberScope(superType.getType(), filter, names, result); } List<JvmMember> members = ((JvmDeclaredType) containerType).getMembers(); return Scopes.scopeFor(Iterables.filter(members, filter), names, result); } return outer; }
public MutableFieldDeclaration addField(final String name, final Procedure1<MutableFieldDeclaration> initializer) { this.checkMutable(); ConditionUtils.checkJavaIdentifier(name, "name"); Preconditions.checkArgument((initializer != null), "initializer cannot be null"); final JvmField newField = TypesFactory.eINSTANCE.createJvmField(); newField.setSimpleName(name); newField.setVisibility(JvmVisibility.PRIVATE); this.getDelegate().getMembers().add(newField); MemberDeclaration _memberDeclaration = this.getCompilationUnit().toMemberDeclaration(newField); final MutableFieldDeclaration mutableFieldDeclaration = ((MutableFieldDeclaration) _memberDeclaration); initializer.apply(mutableFieldDeclaration); return mutableFieldDeclaration; }
private void doGetAllDescriptions(JvmDeclaredType type, List<IEObjectDescription> descriptions) { descriptions.add(EObjectDescription.create(getQualifiedNameConverter().toQualifiedName(type.getIdentifier()), type)); EList<JvmMember> members = null; if (type instanceof JvmDeclaredTypeImplCustom) { members = ((JvmDeclaredTypeImplCustom)type).basicGetMembers(); } else { members = type.getMembers(); } for(JvmMember member: members) { if (member instanceof JvmDeclaredType) { // add nested types also with the dot delimiter descriptions.add(EObjectDescription.create(getQualifiedNameConverter().toQualifiedName(member.getQualifiedName('.')), member)); doGetAllDescriptions((JvmDeclaredType) member, descriptions); } } }