Class BucketedEObjectDescription
- java.lang.Object
-
- org.eclipse.xtext.resource.AbstractEObjectDescription
-
- org.eclipse.xtext.resource.EObjectDescription
-
- org.eclipse.xtext.xbase.scoping.batch.BucketedEObjectDescription
-
- All Implemented Interfaces:
org.eclipse.xtext.resource.IEObjectDescription
,IIdentifiableElementDescription
- Direct Known Subclasses:
ConstructorDescription
,InstanceFeatureDescription
,InstanceFeatureDescriptionWithoutReceiver
,QualifiedThisOrSuperDescription
,StaticExtensionFeatureDescription
,StaticFeatureDescription
public abstract class BucketedEObjectDescription extends org.eclipse.xtext.resource.EObjectDescription implements IIdentifiableElementDescription
A description that contains some more information, e.g. on the bound type parameters, the receiver or its type. The bucket concept allows to properly identify ambiguous descriptions, e.g. if two descriptions from the very same bucket are matching with equal confidence, the link is ambiguous and should be indicated as such. A possible scenario is a conflict in the static imports where two imported types have the very same static method signature, e.g.main(String[])
. If the client tries to invoke that method without an explicitly declared receiver, it should be flagged as ambiguous.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BucketedEObjectDescription(org.eclipse.xtext.naming.QualifiedName qualifiedName, org.eclipse.xtext.common.types.JvmIdentifiableElement feature, int bucketId, boolean visible)
-
Method Summary
-
Methods inherited from class org.eclipse.xtext.resource.EObjectDescription
create, create, create, create, getEClass, getEObjectOrProxy, getEObjectURI, getName, getQualifiedName, getUserData, getUserDataKeys, normalize
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.xtext.resource.IEObjectDescription
getEClass, getEObjectOrProxy, getEObjectURI, getName, getQualifiedName, getUserData, getUserDataKeys
-
Methods inherited from interface org.eclipse.xtext.xbase.scoping.batch.IIdentifiableElementDescription
isExtension, isStatic
-
-
-
-
Method Detail
-
getShadowingKey
public java.lang.String getShadowingKey()
- Specified by:
getShadowingKey
in interfaceIIdentifiableElementDescription
-
computeShadowingKey
protected void computeShadowingKey(org.eclipse.xtext.common.types.JvmIdentifiableElement identifiable, java.lang.StringBuilder result)
-
getBucketId
public int getBucketId()
- Specified by:
getBucketId
in interfaceIIdentifiableElementDescription
-
getImplicitReceiverType
public LightweightTypeReference getImplicitReceiverType()
- Specified by:
getImplicitReceiverType
in interfaceIIdentifiableElementDescription
-
getImplicitReceiver
public XExpression getImplicitReceiver()
Returns the actual receiver of this (potential) feature call. It may benull
even though there is a syntactic receiver available (in case of static features).- Specified by:
getImplicitReceiver
in interfaceIIdentifiableElementDescription
-
getImplicitReceiverTypeParameterMapping
public java.util.Map<org.eclipse.xtext.common.types.JvmTypeParameter,LightweightMergedBoundTypeArgument> getImplicitReceiverTypeParameterMapping()
- Specified by:
getImplicitReceiverTypeParameterMapping
in interfaceIIdentifiableElementDescription
-
getImplicitReceiverConformanceHints
public java.util.EnumSet<ConformanceHint> getImplicitReceiverConformanceHints()
- Specified by:
getImplicitReceiverConformanceHints
in interfaceIIdentifiableElementDescription
-
getImplicitReceiverConformanceFlags
public int getImplicitReceiverConformanceFlags()
- Specified by:
getImplicitReceiverConformanceFlags
in interfaceIIdentifiableElementDescription
-
getSyntacticReceiverType
public LightweightTypeReference getSyntacticReceiverType()
- Specified by:
getSyntacticReceiverType
in interfaceIIdentifiableElementDescription
-
getSyntacticReceiver
public XExpression getSyntacticReceiver()
- Specified by:
getSyntacticReceiver
in interfaceIIdentifiableElementDescription
-
isSyntacticReceiverPossibleArgument
public boolean isSyntacticReceiverPossibleArgument()
- Specified by:
isSyntacticReceiverPossibleArgument
in interfaceIIdentifiableElementDescription
-
getSyntacticReceiverTypeParameterMapping
public java.util.Map<org.eclipse.xtext.common.types.JvmTypeParameter,LightweightMergedBoundTypeArgument> getSyntacticReceiverTypeParameterMapping()
- Specified by:
getSyntacticReceiverTypeParameterMapping
in interfaceIIdentifiableElementDescription
-
getSyntacticReceiverConformanceHints
public java.util.EnumSet<ConformanceHint> getSyntacticReceiverConformanceHints()
- Specified by:
getSyntacticReceiverConformanceHints
in interfaceIIdentifiableElementDescription
-
getSyntacticReceiverConformanceFlags
public int getSyntacticReceiverConformanceFlags()
- Specified by:
getSyntacticReceiverConformanceFlags
in interfaceIIdentifiableElementDescription
-
isVisible
public boolean isVisible()
- Specified by:
isVisible
in interfaceIIdentifiableElementDescription
-
toString
public java.lang.String toString()
- Overrides:
toString
in classorg.eclipse.xtext.resource.AbstractEObjectDescription
-
getElementOrProxy
public org.eclipse.xtext.common.types.JvmIdentifiableElement getElementOrProxy()
- Specified by:
getElementOrProxy
in interfaceIIdentifiableElementDescription
-
getImplicitFirstArgument
public XExpression getImplicitFirstArgument()
- Specified by:
getImplicitFirstArgument
in interfaceIIdentifiableElementDescription
-
getImplicitFirstArgumentType
public LightweightTypeReference getImplicitFirstArgumentType()
- Specified by:
getImplicitFirstArgumentType
in interfaceIIdentifiableElementDescription
-
isTypeLiteral
public boolean isTypeLiteral()
- Specified by:
isTypeLiteral
in interfaceIIdentifiableElementDescription
-
isAnonymousClassConstructorCall
public boolean isAnonymousClassConstructorCall()
- Specified by:
isAnonymousClassConstructorCall
in interfaceIIdentifiableElementDescription
-
getNumberOfIrrelevantParameters
public int getNumberOfIrrelevantParameters()
- Specified by:
getNumberOfIrrelevantParameters
in interfaceIIdentifiableElementDescription
-
getNumberOfParameters
public int getNumberOfParameters()
- Specified by:
getNumberOfParameters
in interfaceIIdentifiableElementDescription
-
isValidStaticState
public boolean isValidStaticState()
- Specified by:
isValidStaticState
in interfaceIIdentifiableElementDescription
-
-