org.eclipse.xtext.xbase.scoping.featurecalls
Class DefaultJvmFeatureDescriptionProvider

java.lang.Object
  extended by org.eclipse.xtext.xbase.scoping.featurecalls.DefaultJvmFeatureDescriptionProvider
All Implemented Interfaces:
IFeaturesForTypeProvider, IJvmFeatureDescriptionProvider
Direct Known Subclasses:
XAssignmentDescriptionProvider, XAssignmentSugarDescriptionProvider, XFeatureCallSugarDescriptionProvider

public class DefaultJvmFeatureDescriptionProvider
extends java.lang.Object
implements IJvmFeatureDescriptionProvider, IFeaturesForTypeProvider

Author:
Sven Efftinge - Initial contribution and API

Field Summary
protected  JvmDeclaredType contextType
           
protected  IFeaturesForTypeProvider featuresForTypeProvider
           
protected  XExpression implicitReceiver
           
protected  JvmFeatureSignatureProvider signatureProvider
           
protected  VisibilityService visibilityService
           
 
Constructor Summary
DefaultJvmFeatureDescriptionProvider()
           
 
Method Summary
 void addFeatureDescriptions(JvmFeature feature, TypeArgumentContext context, IAcceptor<JvmFeatureDescription> acceptor)
          called for each feature in the current context type's type hierarchy.
protected  JvmFeatureDescription createJvmFeatureDescription(JvmFeature jvmFeature, TypeArgumentContext ctx, com.google.inject.Provider<java.lang.String> shadowingStringProvider, boolean isValid)
           
protected  JvmFeatureDescription createJvmFeatureDescription(QualifiedName name, JvmFeature jvmFeature, TypeArgumentContext ctx, com.google.inject.Provider<java.lang.String> shadowingStringProvider, boolean isValid)
           
protected  JvmFeatureDescription createJvmFeatureDescription(QualifiedName name, JvmFeature jvmFeature, TypeArgumentContext ctx, java.lang.String shadowingString, boolean isValid)
           
 java.lang.Iterable<? extends JvmFeature> getFeaturesForType(JvmTypeReference declType)
          provides the features for a given type
protected  com.google.inject.Provider<java.lang.String> getSignature(JvmFeature feature, TypeArgumentContext context)
           
 java.lang.String getText()
          Used to name scopes created using this provider
 boolean isExtensionProvider()
           
protected  boolean isValid(JvmFeature feature)
           
 void setContextType(JvmDeclaredType contextType)
           
 void setFeaturesForTypeProvider(IFeaturesForTypeProvider featuresForTypeProvider)
           
 void setImplicitReceiver(XExpression implicitReceiver)
           
 void setVisibilityService(VisibilityService visibilityService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

visibilityService

@Inject
protected VisibilityService visibilityService

featuresForTypeProvider

@Inject
protected IFeaturesForTypeProvider featuresForTypeProvider

signatureProvider

@Inject
protected JvmFeatureSignatureProvider signatureProvider

contextType

protected JvmDeclaredType contextType

implicitReceiver

protected XExpression implicitReceiver
Constructor Detail

DefaultJvmFeatureDescriptionProvider

public DefaultJvmFeatureDescriptionProvider()
Method Detail

setVisibilityService

public void setVisibilityService(VisibilityService visibilityService)

setFeaturesForTypeProvider

public void setFeaturesForTypeProvider(IFeaturesForTypeProvider featuresForTypeProvider)

getFeaturesForType

public java.lang.Iterable<? extends JvmFeature> getFeaturesForType(JvmTypeReference declType)
Description copied from interface: IFeaturesForTypeProvider
provides the features for a given type

Specified by:
getFeaturesForType in interface IFeaturesForTypeProvider

setContextType

public void setContextType(JvmDeclaredType contextType)

setImplicitReceiver

public void setImplicitReceiver(XExpression implicitReceiver)

createJvmFeatureDescription

protected JvmFeatureDescription createJvmFeatureDescription(QualifiedName name,
                                                            JvmFeature jvmFeature,
                                                            TypeArgumentContext ctx,
                                                            java.lang.String shadowingString,
                                                            boolean isValid)

createJvmFeatureDescription

protected JvmFeatureDescription createJvmFeatureDescription(QualifiedName name,
                                                            JvmFeature jvmFeature,
                                                            TypeArgumentContext ctx,
                                                            com.google.inject.Provider<java.lang.String> shadowingStringProvider,
                                                            boolean isValid)

isExtensionProvider

public boolean isExtensionProvider()
Specified by:
isExtensionProvider in interface IFeaturesForTypeProvider

createJvmFeatureDescription

protected JvmFeatureDescription createJvmFeatureDescription(JvmFeature jvmFeature,
                                                            TypeArgumentContext ctx,
                                                            com.google.inject.Provider<java.lang.String> shadowingStringProvider,
                                                            boolean isValid)

addFeatureDescriptions

public void addFeatureDescriptions(JvmFeature feature,
                                   TypeArgumentContext context,
                                   IAcceptor<JvmFeatureDescription> acceptor)
Description copied from interface: IJvmFeatureDescriptionProvider
called for each feature in the current context type's type hierarchy.

Specified by:
addFeatureDescriptions in interface IJvmFeatureDescriptionProvider

getSignature

protected com.google.inject.Provider<java.lang.String> getSignature(JvmFeature feature,
                                                                    TypeArgumentContext context)

isValid

protected boolean isValid(JvmFeature feature)

getText

public java.lang.String getText()
Description copied from interface: IJvmFeatureDescriptionProvider
Used to name scopes created using this provider

Specified by:
getText in interface IJvmFeatureDescriptionProvider