protected boolean isInstanceContext() { return getFeatureScopeSession().isInstanceContext(); }
@Override public AbstractTypeComputationState withoutExpectation() { return new ExpressionTypeComputationStateWithExpectation(getResolvedTypes(), getFeatureScopeSession(), this, null); }
@Override public TypeComputationStateWithExpectation withExpectation(/* @Nullable */ LightweightTypeReference expectation) { return new ExpressionTypeComputationStateWithExpectation(getResolvedTypes(), getFeatureScopeSession(), this, expectation); }
@Override public TypeCheckpointComputationState withTypeCheckpoint(/* @Nullable */ EObject context) { return new ExpressionAwareTypeCheckpointComputationState(getResolvedTypes(), getFeatureScopeSession(), this); }
protected ExpressionAwareStackedResolvedTypes doComputeTypes(XExpression expression) { ExpressionAwareStackedResolvedTypes stackedResolvedTypes = pushTypes(expression); ExpressionTypeComputationState state = createExpressionComputationState(expression, stackedResolvedTypes); stackedResolvedTypes.addExpressionScope(expression, state.getFeatureScopeSession(), IExpressionScope.Anchor.BEFORE); getResolver().getTypeComputer().computeTypes(expression, state); stackedResolvedTypes.prepareMergeIntoParent(); if (stackedResolvedTypes.doGetTypeData(expression) == null) { state.acceptActualType(stackedResolvedTypes.getReferenceOwner().newAnyTypeReference()); } stackedResolvedTypes.addExpressionScope(expression, getFeatureScopeSession(), IExpressionScope.Anchor.AFTER); return stackedResolvedTypes; }
XAbstractFeatureCall target = (XAbstractFeatureCall) memberFeatureCall.getMemberCallTarget(); final JvmType referencedType = (JvmType) target.getFeature(); List<JvmDeclaredType> enclosingTypes = getState().getFeatureScopeSession().getEnclosingTypes(); if (SUPER.equals(featureName) && referencedType instanceof JvmGenericType && ((JvmGenericType) referencedType).isInterface() && !enclosingTypes.isEmpty()) { List<JvmDeclaredType> enclosingTypes = getState().getFeatureScopeSession().getEnclosingTypes(); JvmDeclaredType declaringType = null; if (!enclosingTypes.isEmpty()) if (receiverType != null) { if (receiverType.getType() != member.getDeclaringType()) { List<JvmDeclaredType> enclosingTypes = getState().getFeatureScopeSession().getEnclosingTypes(); if (enclosingTypes.contains(member.getDeclaringType())) { String message = String.format("Cannot access the private %s %s%s in a subclass context",