@Override protected void addExtensionProviders(List<ExpressionBucket> result) { parent.addExtensionProviders(result); }
@Override protected void addLocalElements(List<IEObjectDescription> result) { parent.addLocalElements(result); }
protected AbstractNestedFeatureScopeSession(AbstractFeatureScopeSession parent) { this.parent = parent; this.featureScopes = parent.getFeatureScopes(); this.typeScopes = parent.getTypeScopes(); this.constructorScopes = parent.getConstructorScopes(); this.resolvedFeaturesProvider = parent.getResolvedFeaturesProvider(); this.id = parent.getId() + 1; }
@Override public IScope getScope(EObject context, EReference reference, IResolvedTypes types) { if (getFeatureScopes().isFeatureCallScope(reference)) { return createFeatureCallScope(context, reference, types); } else if (getConstructorScopes().isConstructorCallScope(reference)) { return createConstructorScope(context, reference, types); } else if (getTypeScopes().isTypeScope(reference)) { return createTypeScope(context, reference, types); } else { return getDefaultScopeProvider().getScope(context, reference); } }
public FeatureScopeSessionWithNestedTypes(AbstractFeatureScopeSession parent, JvmDeclaredType type) { super(parent); this.enclosingTypes = Lists.newLinkedList(); enclosingTypes.add(type); enclosingTypes.addAll(parent.getEnclosingTypes()); this.nestedTypeDeclarators = Lists.newLinkedList(); nestedTypeDeclarators.add(type); nestedTypeDeclarators.addAll(parent.getNestedTypeDeclarators()); }
@Override public List<ExpressionBucket> getExtensionProviders() { return parent.getExtensionProviders(); }
@Override protected IScopeProvider getDefaultScopeProvider() { return parent.getDefaultScopeProvider(); }
@Override public List<JvmDeclaredType> getEnclosingTypes() { return parent.getEnclosingTypes(); }
protected IScope createFeatureCallScope(EObject context, EReference reference, IResolvedTypes resolvedTypes) { return getFeatureScopes().createFeatureCallScope(context, reference, this, resolvedTypes); }
protected IScope createConstructorScope(EObject context, EReference reference, IResolvedTypes resolvedTypes) { return getConstructorScopes().createConstructorScope(context, reference, this, resolvedTypes); }
@Override public IFeatureScopeSession addLocalElement(QualifiedName name, JvmIdentifiableElement element, ITypeReferenceOwner owner) { IFeatureScopeSession result = addLocalElements(Collections.singletonMap(name, element), owner); return result; }
@Override public List<IEObjectDescription> getLocalElements() { List<IEObjectDescription> result = Lists.newArrayListWithCapacity(3); addLocalElements(result); return result; }