Package org.eclipse.xtend.core.macro
Class ConstantExpressionsInterpreter
- java.lang.Object
-
- org.eclipse.xtext.xbase.interpreter.AbstractConstantExpressionsInterpreter
-
- org.eclipse.xtend.core.macro.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.
-
Constructor Summary
Constructors Constructor Description ConstantExpressionsInterpreter()
-
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
-
-
-
-
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 classorg.eclipse.xtext.xbase.interpreter.AbstractConstantExpressionsInterpreter
-
getFullName
public java.lang.String getFullName(org.eclipse.xtext.xbase.XExpression call)
-
-