Class ConstantExpressionsInterpreter


  • public class ConstantExpressionsInterpreter
    extends org.eclipse.xtext.xbase.interpreter.AbstractConstantExpressionsInterpreter
    An interpreter for evaluating constant expressions in annotation values.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ConstantExpressionsInterpreter.VisibleFieldsCollector
      The visible fields collector does not interfere with the local caches of JvmDeclaredTypes but only looks at the fields of those types.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XExpression call)  
      protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XFeatureCall call)  
      protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XMemberFeatureCall call)  
      protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XFeatureCall it, org.eclipse.xtext.xbase.interpreter.Context ctx)  
      protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XListLiteral it, org.eclipse.xtext.xbase.interpreter.Context ctx)  
      protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XMemberFeatureCall it, org.eclipse.xtext.xbase.interpreter.Context ctx)  
      protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XNumberLiteral it, org.eclipse.xtext.xbase.interpreter.Context ctx)  
      protected void collectAllVisibleFields​(org.eclipse.xtext.common.types.JvmDeclaredType type, java.util.Map<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> result)  
      java.lang.Object evaluate​(org.eclipse.xtext.xbase.XExpression expression, org.eclipse.xtext.common.types.JvmTypeReference expectedType)  
      protected java.lang.Object evaluateField​(org.eclipse.xtext.xbase.XAbstractFeatureCall call, org.eclipse.xtext.common.types.JvmField field, org.eclipse.xtext.xbase.interpreter.Context context)  
      protected org.eclipse.xtext.common.types.JvmType findTypeByName​(org.eclipse.emf.ecore.EObject context, java.lang.String qualifiedName)  
      protected java.util.Map<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> findVisibleFeatures​(org.eclipse.xtext.xbase.XExpression expression)
      looks up the static final fields which are accessible in unqualified form for the given expression.
      protected java.util.HashMap<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> getAllVisibleFields​(org.eclipse.xtext.common.types.JvmDeclaredType type)  
      java.lang.String getFullName​(org.eclipse.xtext.xbase.XExpression call)  
      protected java.lang.Class<?> getJavaType​(org.eclipse.xtext.common.types.JvmType type, org.eclipse.xtext.common.types.access.impl.ClassFinder classFinder)  
      java.lang.Object internalEvaluate​(org.eclipse.xtext.xbase.XExpression it, org.eclipse.xtext.xbase.interpreter.Context ctx)  
      protected boolean isResolveProxies​(org.eclipse.emf.ecore.EObject ctx)  
      protected void resolveFeature​(org.eclipse.xtext.xbase.XAbstractFeatureCall featureCall, org.eclipse.xtext.common.types.JvmIdentifiableElement feature)  
      protected void resolveType​(org.eclipse.xtext.xbase.XAbstractFeatureCall featureCall, org.eclipse.xtext.common.types.JvmIdentifiableElement feature)  
      • Methods inherited from class org.eclipse.xtext.xbase.interpreter.AbstractConstantExpressionsInterpreter

        _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, _internalEvaluate, evaluate, evaluateBinaryOperation, getConstantOperators, getOperator, notConstantExpression, toText, toTypeReference
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConstantExpressionsInterpreter

        public ConstantExpressionsInterpreter()
    • Method Detail

      • evaluate

        public java.lang.Object evaluate​(org.eclipse.xtext.xbase.XExpression expression,
                                         org.eclipse.xtext.common.types.JvmTypeReference expectedType)
      • findVisibleFeatures

        protected java.util.Map<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> findVisibleFeatures​(org.eclipse.xtext.xbase.XExpression expression)
        looks up the static final fields which are accessible in unqualified form for the given expression. That essentially includes static imports and the fields declared in the containing types
      • collectAllVisibleFields

        protected void collectAllVisibleFields​(org.eclipse.xtext.common.types.JvmDeclaredType type,
                                               java.util.Map<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> result)
      • getAllVisibleFields

        protected java.util.HashMap<java.lang.String,​org.eclipse.xtext.common.types.JvmIdentifiableElement> getAllVisibleFields​(org.eclipse.xtext.common.types.JvmDeclaredType type)
      • findTypeByName

        protected org.eclipse.xtext.common.types.JvmType findTypeByName​(org.eclipse.emf.ecore.EObject context,
                                                                        java.lang.String qualifiedName)
      • _internalEvaluate

        protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XNumberLiteral it,
                                                     org.eclipse.xtext.xbase.interpreter.Context ctx)
      • _internalEvaluate

        protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XListLiteral it,
                                                     org.eclipse.xtext.xbase.interpreter.Context ctx)
      • isResolveProxies

        protected boolean isResolveProxies​(org.eclipse.emf.ecore.EObject ctx)
      • _internalEvaluate

        protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XFeatureCall it,
                                                     org.eclipse.xtext.xbase.interpreter.Context ctx)
      • _internalEvaluate

        protected java.lang.Object _internalEvaluate​(org.eclipse.xtext.xbase.XMemberFeatureCall it,
                                                     org.eclipse.xtext.xbase.interpreter.Context ctx)
      • _getFullName

        protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XExpression call)
      • _getFullName

        protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XMemberFeatureCall call)
      • _getFullName

        protected java.lang.String _getFullName​(org.eclipse.xtext.xbase.XFeatureCall call)
      • evaluateField

        protected java.lang.Object evaluateField​(org.eclipse.xtext.xbase.XAbstractFeatureCall call,
                                                 org.eclipse.xtext.common.types.JvmField field,
                                                 org.eclipse.xtext.xbase.interpreter.Context context)
      • getJavaType

        protected java.lang.Class<?> getJavaType​(org.eclipse.xtext.common.types.JvmType type,
                                                 org.eclipse.xtext.common.types.access.impl.ClassFinder classFinder)
                                          throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • resolveType

        protected void resolveType​(org.eclipse.xtext.xbase.XAbstractFeatureCall featureCall,
                                   org.eclipse.xtext.common.types.JvmIdentifiableElement feature)
      • resolveFeature

        protected void resolveFeature​(org.eclipse.xtext.xbase.XAbstractFeatureCall featureCall,
                                      org.eclipse.xtext.common.types.JvmIdentifiableElement feature)
      • internalEvaluate

        public java.lang.Object internalEvaluate​(org.eclipse.xtext.xbase.XExpression it,
                                                 org.eclipse.xtext.xbase.interpreter.Context ctx)
        Overrides:
        internalEvaluate in class org.eclipse.xtext.xbase.interpreter.AbstractConstantExpressionsInterpreter
      • getFullName

        public java.lang.String getFullName​(org.eclipse.xtext.xbase.XExpression call)