/** * Creates a scope for the static features that are exposed by a type that was used, e.g. * {@code java.lang.String.valueOf(1)} where {@code valueOf(1)} is to be linked. * * @param featureCall the feature call that is currently processed by the scoping infrastructure * @param receiver an optionally available receiver expression * @param receiverType the type of the receiver. It may be available even if the receiver itself is null, which indicates an implicit receiver. * @param receiverBucket the types that contribute the static features. * @param parent the parent scope. Is never null. * @param session the currently known scope session. Is never null. */ protected IScope createStaticFeatureOnTypeLiteralScope( EObject featureCall, XExpression receiver, LightweightTypeReference receiverType, TypeBucket receiverBucket, IScope parent, IFeatureScopeSession session) { return new StaticFeatureOnTypeLiteralScope(parent, session, asAbstractFeatureCall(featureCall), receiver, receiverType, receiverBucket, operatorMapping); }