Package org.eclipse.xtext.xbase.compiler
Class FeatureCallCompiler
- java.lang.Object
-
- org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
-
- org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
-
- org.eclipse.xtext.xbase.compiler.LiteralsCompiler
-
- org.eclipse.xtext.xbase.compiler.FeatureCallCompiler
-
- Direct Known Subclasses:
XbaseCompiler
public class FeatureCallCompiler extends LiteralsCompiler
-
-
Constructor Summary
Constructors Constructor Description FeatureCallCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_toJavaExpression(XAbstractFeatureCall call, ITreeAppendable b)
protected void
_toJavaStatement(XAbstractFeatureCall expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XFeatureCall expr, ITreeAppendable b, boolean isReferenced)
protected void
appendArgument(XExpression argument, ITreeAppendable b)
protected void
appendArgument(XExpression argument, ITreeAppendable b, boolean doLineWrappingIfSourceWasWrapped)
protected void
appendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b)
protected void
appendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b, boolean shouldWrapLine)
protected void
appendFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)
protected void
appendInlineFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)
protected ITreeAppendable
appendLeftOperand(XAbstractFeatureCall expr, ITreeAppendable appendable, boolean isExpressionContext)
protected void
appendNullValue(org.eclipse.xtext.common.types.JvmTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)
protected void
appendNullValueUntyped(LightweightTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)
protected boolean
appendReceiver(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)
protected ITreeAppendable
appendTypeArguments(XAbstractFeatureCall call, ITreeAppendable original)
protected void
assignmentToJavaExpression(XAssignment expr, ITreeAppendable b, boolean isExpressionContext)
protected void
doInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)
protected void
featureCalltoJavaExpression(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)
protected void
generateShortCircuitInvocation(XAbstractFeatureCall featureCall, ITreeAppendable b)
protected java.util.List<XExpression>
getActualArguments(XAbstractFeatureCall expr)
protected XExpression
getActualReceiver(XAbstractFeatureCall expr)
protected java.lang.String
getDefaultLiteral(org.eclipse.xtext.common.types.JvmPrimitiveType primitiveType)
protected XAbstractFeatureCall
getFeatureCall(XExpression argument)
protected org.eclipse.xtext.resource.ILocationInFileProvider
getLocationInFileProvider()
protected org.eclipse.xtext.generator.trace.ILocationData
getLocationOfTypeArguments(XAbstractFeatureCall call)
protected org.eclipse.xtext.generator.trace.ILocationData
getLocationWithoutTypeArguments(XAbstractFeatureCall call)
protected org.eclipse.xtext.generator.trace.ILocationData
getLocationWithTypeArguments(XAbstractFeatureCall call)
protected ILogicalContainerProvider
getLogicalContainerProvider()
protected boolean
inlineCallNeedsParenthesis(XAbstractFeatureCall call, java.lang.String formatString)
protected boolean
internalCanCompileToJavaExpression(XExpression expression, ITreeAppendable appendable)
protected void
internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
protected boolean
isDeclaredInNewLine(XExpression obj)
protected boolean
isHidden(org.eclipse.xtext.nodemodel.INode node)
protected boolean
isMemberCall(XAbstractFeatureCall call)
protected boolean
isReferenceToSelf(XFeatureCall featureCall, org.eclipse.xtext.common.types.JvmType type)
protected boolean
isVariableDeclarationRequired(XAbstractFeatureCall featureCall, XExpression expression, ITreeAppendable b)
protected boolean
isVariableDeclarationRequired(XExpression expr, ITreeAppendable b, boolean recursive)
whether an expression needs to be declared in a statement If an expression has side effects this method must return true for it.protected boolean
isVariableDeclarationRequired(XMemberFeatureCall expr, ITreeAppendable b)
protected boolean
needMultiAssignment(XAbstractFeatureCall expr)
protected boolean
nullSafeMemberFeatureCallExpressionNeedsPreparation(XExpression argument, ITreeAppendable b)
protected void
prepareExpression(XExpression arg, ITreeAppendable b)
protected org.eclipse.xtext.generator.trace.ILocationData
toLocationData(java.util.List<org.eclipse.xtext.nodemodel.INode> nodes)
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.LiteralsCompiler
_toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, generateComment, generateComment, toJavaExpression, toJavaStatement
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
convertPrimitiveToWrapper, convertWrapperToPrimitive, doCastConversion, doConversion, doReassignThisInClosure, findImplementingOperation, internalToConvertedExpression, internalToJavaExpression, normalizeBlockExpression, normalizeBlockExpression, reassignThisInClosure
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
_toJavaExpression, _toJavaStatement, appendDefaultLiteral, canCompileToJavaExpression, compile, compile, compile, compile, compileAsJavaExpression, compileAsJavaExpression, compileWithJvmConstructorCall, declareFreshLocalVariable, declareSyntheticVariable, findKnownTopLevelType, findKnownType, generateCheckedExceptionHandling, getDefaultValueLiteral, getExpectedType, getFavoriteVariableName, getLightweightExpectedType, getLightweightReturnType, getLightweightType, getLightweightType, getNameProvider, getReferenceName, getResolvedTypes, getType, getType, getTypeComputationServices, getTypeForVariableDeclaration, getTypeReferenceSerializer, getVarName, hasJvmConstructorCall, hasUnhandledException, internalToJavaStatement, isEarlyExit, isJavaConformant, isPrimitiveVoid, isPrimitiveVoid, isReferenceToForeignTypeParameter, isUnhandledException, isVariableDeclarationRequired, makeJavaIdentifier, needsSneakyThrow, newTypeReferenceOwner, resolveMultiType, serialize, serialize, serialize, setNameProvider, toJavaExpression, toJavaStatement, toLightweight
-
-
-
-
Method Detail
-
internalToConvertedExpression
protected void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
- Overrides:
internalToConvertedExpression
in classLiteralsCompiler
-
doInternalToJavaStatement
protected void doInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)
- Overrides:
doInternalToJavaStatement
in classLiteralsCompiler
-
nullSafeMemberFeatureCallExpressionNeedsPreparation
protected boolean nullSafeMemberFeatureCallExpressionNeedsPreparation(XExpression argument, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XAbstractFeatureCall expr, ITreeAppendable b, boolean isReferenced)
-
appendLeftOperand
protected ITreeAppendable appendLeftOperand(XAbstractFeatureCall expr, ITreeAppendable appendable, boolean isExpressionContext)
-
needMultiAssignment
protected boolean needMultiAssignment(XAbstractFeatureCall expr)
-
getFeatureCall
protected XAbstractFeatureCall getFeatureCall(XExpression argument)
-
getActualArguments
protected java.util.List<XExpression> getActualArguments(XAbstractFeatureCall expr)
-
getActualReceiver
protected XExpression getActualReceiver(XAbstractFeatureCall expr)
-
_toJavaStatement
protected void _toJavaStatement(XFeatureCall expr, ITreeAppendable b, boolean isReferenced)
-
generateShortCircuitInvocation
protected void generateShortCircuitInvocation(XAbstractFeatureCall featureCall, ITreeAppendable b)
-
internalCanCompileToJavaExpression
protected boolean internalCanCompileToJavaExpression(XExpression expression, ITreeAppendable appendable)
- Overrides:
internalCanCompileToJavaExpression
in classAbstractXbaseCompiler
- Parameters:
expression
- to be used by subtypesappendable
- to be used by subtypes
-
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(XMemberFeatureCall expr, ITreeAppendable b)
-
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(XExpression expr, ITreeAppendable b, boolean recursive)
Description copied from class:AbstractXbaseCompiler
whether an expression needs to be declared in a statement If an expression has side effects this method must return true for it.- Overrides:
isVariableDeclarationRequired
in classLiteralsCompiler
- Parameters:
expr
- the checked expressionb
- the appendable which represents the current compiler staterecursive
- determines if the siblings of the expression shall be investigated too to determine the is variable declaration required status
-
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(XAbstractFeatureCall featureCall, XExpression expression, ITreeAppendable b)
-
prepareExpression
protected void prepareExpression(XExpression arg, ITreeAppendable b)
-
_toJavaExpression
protected void _toJavaExpression(XAbstractFeatureCall call, ITreeAppendable b)
-
featureCalltoJavaExpression
protected void featureCalltoJavaExpression(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)
-
appendTypeArguments
protected ITreeAppendable appendTypeArguments(XAbstractFeatureCall call, ITreeAppendable original)
-
getLocationWithoutTypeArguments
protected org.eclipse.xtext.generator.trace.ILocationData getLocationWithoutTypeArguments(XAbstractFeatureCall call)
-
getLocationWithTypeArguments
protected org.eclipse.xtext.generator.trace.ILocationData getLocationWithTypeArguments(XAbstractFeatureCall call)
-
getLocationOfTypeArguments
protected org.eclipse.xtext.generator.trace.ILocationData getLocationOfTypeArguments(XAbstractFeatureCall call)
-
toLocationData
protected org.eclipse.xtext.generator.trace.ILocationData toLocationData(java.util.List<org.eclipse.xtext.nodemodel.INode> nodes)
-
isHidden
protected boolean isHidden(org.eclipse.xtext.nodemodel.INode node)
-
appendReceiver
protected boolean appendReceiver(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)
-
appendNullValue
protected void appendNullValue(org.eclipse.xtext.common.types.JvmTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)
-
appendNullValueUntyped
protected void appendNullValueUntyped(LightweightTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)
-
getDefaultLiteral
protected java.lang.String getDefaultLiteral(org.eclipse.xtext.common.types.JvmPrimitiveType primitiveType)
-
isMemberCall
protected boolean isMemberCall(XAbstractFeatureCall call)
-
isReferenceToSelf
protected boolean isReferenceToSelf(XFeatureCall featureCall, org.eclipse.xtext.common.types.JvmType type)
-
assignmentToJavaExpression
protected void assignmentToJavaExpression(XAssignment expr, ITreeAppendable b, boolean isExpressionContext)
-
appendFeatureCall
protected void appendFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)
-
appendInlineFeatureCall
protected void appendInlineFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)
-
inlineCallNeedsParenthesis
protected boolean inlineCallNeedsParenthesis(XAbstractFeatureCall call, java.lang.String formatString)
-
appendArguments
protected void appendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b)
-
appendArguments
protected void appendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b, boolean shouldWrapLine)
-
appendArgument
protected void appendArgument(XExpression argument, ITreeAppendable b)
-
appendArgument
protected void appendArgument(XExpression argument, ITreeAppendable b, boolean doLineWrappingIfSourceWasWrapped)
-
isDeclaredInNewLine
protected boolean isDeclaredInNewLine(XExpression obj)
-
getLogicalContainerProvider
protected ILogicalContainerProvider getLogicalContainerProvider()
-
getLocationInFileProvider
protected org.eclipse.xtext.resource.ILocationInFileProvider getLocationInFileProvider()
-
-