@Override public void acceptActualType(LightweightTypeReference type, int flags) { for (int i = 0; i < components.length; i++) { components[i].acceptActualType(type, flags); } }
@Override public void acceptCandidate(XExpression expression, IApplicableCandidate candidate) { for (int i = 0; i < components.length; i++) { components[i].acceptCandidate(expression, candidate); } }
@Override public void addDiagnostic(AbstractDiagnostic diagnostic) { for (int i = 0; i < components.length; i++) { components[i].addDiagnostic(diagnostic); } }
protected void assignType(JvmIdentifiableElement element, /* @Nullable */ LightweightTypeReference actualType, boolean addToChildScope) { if (actualType != null) { state.getResolvedTypes().setType(element, actualType); } else { state.getResolvedTypes().setType(element, state.getReferenceOwner().newAnyTypeReference()); } if (addToChildScope) state.addLocalToCurrentScope(element); }
@Override protected LightweightTypeReference acceptType(XExpression alreadyHandled, ResolvedTypes types, AbstractTypeExpectation expectation, LightweightTypeReference type, boolean returnType, int flags) { return getParent().acceptType(alreadyHandled, types, expectation, type, returnType, flags); }
@Override public void addExtensionsToCurrentScope(List<? extends JvmIdentifiableElement> extensionProviders) { if (extensionProviders.isEmpty()) return; if (extensionProviders.size() == 1) { addExtensionToCurrentScope(extensionProviders.get(0)); return; } Map<XExpression, LightweightTypeReference> prototypeToType = Maps2.newLinkedHashMapWithExpectedSize(extensionProviders.size()); for(JvmIdentifiableElement extensionProvider: extensionProviders) { LightweightTypeReference knownType = getResolvedTypes().getActualType(extensionProvider); if (knownType != null && !knownType.isAny() && !knownType.isUnknown()) { XFeatureCall prototype = getResolver().getXbaseFactory().createXFeatureCall(); prototype.setFeature(extensionProvider); prototypeToType.put(prototype, knownType); } } if (!prototypeToType.isEmpty()) featureScopeSession = featureScopeSession.addToExtensionScope(prototypeToType); }
@Override public void addLocalToCurrentScope(JvmIdentifiableElement element) { String simpleName = element.getSimpleName(); if (Strings.isNullOrEmpty(simpleName)) return; QualifiedName elementName = QualifiedName.create(simpleName); addLocalToCurrentScope(elementName, element, !getResolver().isShadowingAllowed(elementName)); }
@Override public void addTypeToStaticExtensionImportScope(JvmDeclaredType type) { for (int i = 0; i < components.length; i++) { components[i].addTypeToStaticExtensionImportScope(type); } }
@Override public void addExtensionsToCurrentScope(List<? extends JvmIdentifiableElement> extensionProviders) { for (int i = 0; i < components.length; i++) { components[i].addExtensionsToCurrentScope(extensionProviders); } }
@Override public void addTypeToStaticImportScope(JvmDeclaredType type) { for (int i = 0; i < components.length; i++) { components[i].addTypeToStaticImportScope(type); } }
@Override public void addImports(ITypeImporter.Client importer) { for (int i = 0; i < components.length; i++) { components[i].addImports(importer); } }
@Override public void addExtensionToCurrentScope(JvmIdentifiableElement extensionProvider) { for (int i = 0; i < components.length; i++) { components[i].addExtensionToCurrentScope(extensionProvider); } }
@Override public void addLocalToCurrentScope(JvmIdentifiableElement element) { for (int i = 0; i < components.length; i++) { components[i].addLocalToCurrentScope(element); } }
@Override protected LightweightTypeReference acceptType(ResolvedTypes types, AbstractTypeExpectation expectation, LightweightTypeReference type, boolean returnType, int flags) { return getParent().acceptType(types, expectation, type, returnType, flags); }
@Override protected LightweightTypeReference acceptType(ResolvedTypes types, AbstractTypeExpectation expectation, LightweightTypeReference type, boolean returnType, int flags) { if (returnType) return getParent().acceptType(types, expectation, type, returnType, flags); return type; }
@Override public void acceptActualType(LightweightTypeReference type, EnumSet<ConformanceHint> hints) { for (int i = 0; i < components.length; i++) { components[i].acceptActualType(type, hints); } }
@Override protected LightweightTypeReference acceptType(XExpression alreadyHandled, ResolvedTypes types, AbstractTypeExpectation expectation, LightweightTypeReference type, boolean returnType, int flags) { if (returnType) return getParent().acceptType(alreadyHandled, types, expectation, type, returnType, flags); return type; } }
@Override public void acceptActualType(LightweightTypeReference type, ConformanceHint... hints) { for (int i = 0; i < components.length; i++) { components[i].acceptActualType(type, hints); } }
@Override protected LightweightTypeReference acceptType(ResolvedTypes types, AbstractTypeExpectation expectation, LightweightTypeReference type, boolean returnType, int flags) { return getParent().acceptType(types, expectation, type, returnType, flags); }
@Override public void acceptActualType(LightweightTypeReference type) { for (int i = 0; i < components.length; i++) { components[i].acceptActualType(type); } }