public class FeatureScopes extends java.lang.Object implements IFeatureNames
IT, SELF, SUPER, THIS
Constructor and Description |
---|
FeatureScopes() |
Modifier and Type | Method and Description |
---|---|
protected XAbstractFeatureCall |
asAbstractFeatureCall(org.eclipse.emf.ecore.EObject context) |
protected IScope |
createConstructorDelegates(org.eclipse.emf.ecore.EObject context,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes) |
protected IScope |
createDynamicExtensionsScope(QualifiedName implicitFirstArgumentName,
org.eclipse.emf.ecore.EObject featureCall,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes,
IScope parent) |
protected DynamicExtensionsScope |
createDynamicExtensionsScope(XExpression firstArgument,
LightweightTypeReference argumentType,
boolean implicit,
org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session) |
protected IScope |
createDynamicExtensionsScope(XExpression firstArgument,
LightweightTypeReference firstArgumentType,
org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes) |
IScope |
createFeatureCallScope(org.eclipse.emf.ecore.EObject context,
org.eclipse.emf.ecore.EReference reference,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes)
creates the feature scope for
XAbstractFeatureCall , including the local variables in case it is a feature
call without receiver (XFeatureCall). |
IScope |
createFeatureCallScopeForReceiver(XExpression featureCall,
XExpression receiver,
org.eclipse.emf.ecore.EReference reference,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes)
This method serves as an entry point for the content assist scoping for features.
|
protected IScope |
createFeatureScopeForTypeRef(XExpression receiver,
LightweightTypeReference featureDeclarator,
boolean implicit,
org.eclipse.emf.ecore.EObject featureCall,
IFeatureScopeSession session,
JvmIdentifiableElement receiverFeature,
IScope parent) |
protected IScope |
createFollowUpErrorScope(LightweightTypeReference receiverType) |
protected IScope |
createImplicitExtensionScope(QualifiedName implicitName,
org.eclipse.emf.ecore.EObject featureCall,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes,
IScope parent) |
protected IScope |
createImplicitFeatureCallScope(org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes) |
protected IScope |
createImplicitFeatureCallScope(QualifiedName implicitName,
org.eclipse.emf.ecore.EObject featureCall,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes,
IScope parent) |
protected IScope |
createImplicitStaticScope(QualifiedName implicitName,
XAbstractFeatureCall featureCall,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes,
IScope parent) |
IScope |
createSimpleFeatureCallScope(org.eclipse.emf.ecore.EObject context,
org.eclipse.emf.ecore.EReference reference,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes)
This method serves as an entry point for the content assist scoping for simple feature calls.
|
protected StaticExtensionImportsScope |
createStaticExtensionsScope(XExpression receiver,
LightweightTypeReference receiverType,
boolean implicit,
org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session) |
protected IScope |
createStaticExtensionsScope(XExpression receiver,
LightweightTypeReference receiverType,
org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes) |
protected IScope |
createStaticFeatureOnTypeLiteralScope(XAbstractFeatureCall featureCall,
JvmType type,
XExpression receiver,
LightweightTypeReference receiverType,
IScope parent,
IFeatureScopeSession session) |
protected IScope |
createStaticFeaturesScope(org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session) |
protected IScope |
createStaticScope(XAbstractFeatureCall featureCall,
XExpression receiver,
LightweightTypeReference receiverType,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes) |
protected IScope |
createTypeLiteralScope(org.eclipse.emf.ecore.EObject featureCall,
IScope parent,
IFeatureScopeSession session,
IResolvedTypes resolvedTypes,
QualifiedName parentSegments) |
protected XExpression |
getSyntacticalReceiver(XAbstractFeatureCall call) |
protected boolean |
isDefiniteTypeLiteral(XFeatureCall featureCall) |
boolean |
isFeatureCallScope(org.eclipse.emf.ecore.EReference reference) |
protected boolean |
isUnknownReceiverType(LightweightTypeReference receiverType) |
protected boolean |
isValidFeatureCallArgument(XExpression expression,
JvmIdentifiableElement linkedReceiver,
IFeatureScopeSession session)
Returns
true if the linked receiver may be passed as an argument. |
public IScope createFeatureCallScope(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EReference reference, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
XAbstractFeatureCall
, including the local variables in case it is a feature
call without receiver (XFeatureCall).session
- the currently available session datapublic boolean isFeatureCallScope(org.eclipse.emf.ecore.EReference reference)
public IScope createSimpleFeatureCallScope(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EReference reference, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
context
- the context e.g. a for loop expression, a block or a catch clausereference
- the reference who's value shall be scoped. Not necessarily a feature of the context.protected boolean isDefiniteTypeLiteral(XFeatureCall featureCall)
protected IScope createConstructorDelegates(org.eclipse.emf.ecore.EObject context, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
protected XAbstractFeatureCall asAbstractFeatureCall(org.eclipse.emf.ecore.EObject context)
protected IScope createFeatureScopeForTypeRef(XExpression receiver, LightweightTypeReference featureDeclarator, boolean implicit, org.eclipse.emf.ecore.EObject featureCall, IFeatureScopeSession session, JvmIdentifiableElement receiverFeature, IScope parent)
public IScope createFeatureCallScopeForReceiver(XExpression featureCall, XExpression receiver, org.eclipse.emf.ecore.EReference reference, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
featureCall
- the context provides access to the resource set. If it is an assignment, it
will be used to restrict scoping.receiver
- the receiver of the feature call.resolvedTypes
- TODOsession
- TODOprotected boolean isUnknownReceiverType(LightweightTypeReference receiverType)
protected IScope createFollowUpErrorScope(@Nullable LightweightTypeReference receiverType)
protected boolean isValidFeatureCallArgument(XExpression expression, JvmIdentifiableElement linkedReceiver, IFeatureScopeSession session)
true
if the linked receiver may be passed as an argument. Basically everything could
be passed as an argument except the linked receiver is null, a proxy or a reference to super
.protected IScope createStaticExtensionsScope(XExpression receiver, LightweightTypeReference receiverType, org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
protected IScope createStaticScope(XAbstractFeatureCall featureCall, XExpression receiver, LightweightTypeReference receiverType, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
protected IScope createStaticFeatureOnTypeLiteralScope(XAbstractFeatureCall featureCall, JvmType type, XExpression receiver, LightweightTypeReference receiverType, IScope parent, IFeatureScopeSession session)
protected IScope createDynamicExtensionsScope(XExpression firstArgument, LightweightTypeReference firstArgumentType, org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
protected IScope createDynamicExtensionsScope(QualifiedName implicitFirstArgumentName, org.eclipse.emf.ecore.EObject featureCall, IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent)
protected DynamicExtensionsScope createDynamicExtensionsScope(XExpression firstArgument, LightweightTypeReference argumentType, boolean implicit, org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session)
protected StaticExtensionImportsScope createStaticExtensionsScope(XExpression receiver, LightweightTypeReference receiverType, boolean implicit, org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session)
protected XExpression getSyntacticalReceiver(XAbstractFeatureCall call)
protected IScope createTypeLiteralScope(org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes, QualifiedName parentSegments)
protected IScope createStaticFeaturesScope(org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session)
protected IScope createImplicitFeatureCallScope(org.eclipse.emf.ecore.EObject featureCall, IScope parent, IFeatureScopeSession session, IResolvedTypes resolvedTypes)
protected IScope createImplicitFeatureCallScope(QualifiedName implicitName, org.eclipse.emf.ecore.EObject featureCall, IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent)
protected IScope createImplicitExtensionScope(QualifiedName implicitName, org.eclipse.emf.ecore.EObject featureCall, IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent)
protected IScope createImplicitStaticScope(QualifiedName implicitName, XAbstractFeatureCall featureCall, IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent)