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 voidappendArgument(XExpression argument, ITreeAppendable b)protected voidappendArgument(XExpression argument, ITreeAppendable b, boolean doLineWrappingIfSourceWasWrapped)protected voidappendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b)protected voidappendArguments(java.util.List<? extends XExpression> arguments, ITreeAppendable b, boolean shouldWrapLine)protected voidappendFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)protected voidappendInlineFeatureCall(XAbstractFeatureCall call, ITreeAppendable b)protected ITreeAppendableappendLeftOperand(XAbstractFeatureCall expr, ITreeAppendable appendable, boolean isExpressionContext)protected voidappendNullValue(org.eclipse.xtext.common.types.JvmTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)protected voidappendNullValueUntyped(LightweightTypeReference type, org.eclipse.emf.ecore.EObject context, ITreeAppendable b)protected booleanappendReceiver(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)protected ITreeAppendableappendTypeArguments(XAbstractFeatureCall call, ITreeAppendable original)protected voidassignmentToJavaExpression(XAssignment expr, ITreeAppendable b, boolean isExpressionContext)protected voiddoInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)protected voidfeatureCalltoJavaExpression(XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext)protected voidgenerateShortCircuitInvocation(XAbstractFeatureCall featureCall, ITreeAppendable b)protected java.util.List<XExpression>getActualArguments(XAbstractFeatureCall expr)protected XExpressiongetActualReceiver(XAbstractFeatureCall expr)protected java.lang.StringgetDefaultLiteral(org.eclipse.xtext.common.types.JvmPrimitiveType primitiveType)protected XAbstractFeatureCallgetFeatureCall(XExpression argument)protected org.eclipse.xtext.resource.ILocationInFileProvidergetLocationInFileProvider()protected org.eclipse.xtext.generator.trace.ILocationDatagetLocationOfTypeArguments(XAbstractFeatureCall call)protected org.eclipse.xtext.generator.trace.ILocationDatagetLocationWithoutTypeArguments(XAbstractFeatureCall call)protected org.eclipse.xtext.generator.trace.ILocationDatagetLocationWithTypeArguments(XAbstractFeatureCall call)protected ILogicalContainerProvidergetLogicalContainerProvider()protected booleaninlineCallNeedsParenthesis(XAbstractFeatureCall call, java.lang.String formatString)protected booleaninternalCanCompileToJavaExpression(XExpression expression, ITreeAppendable appendable)protected voidinternalToConvertedExpression(XExpression obj, ITreeAppendable appendable)protected booleanisDeclaredInNewLine(XExpression obj)protected booleanisHidden(org.eclipse.xtext.nodemodel.INode node)protected booleanisMemberCall(XAbstractFeatureCall call)protected booleanisReferenceToSelf(XFeatureCall featureCall, org.eclipse.xtext.common.types.JvmType type)protected booleanisVariableDeclarationRequired(XAbstractFeatureCall featureCall, XExpression expression, ITreeAppendable b)protected booleanisVariableDeclarationRequired(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 booleanisVariableDeclarationRequired(XMemberFeatureCall expr, ITreeAppendable b)protected booleanneedMultiAssignment(XAbstractFeatureCall expr)protected booleannullSafeMemberFeatureCallExpressionNeedsPreparation(XExpression argument, ITreeAppendable b)protected voidprepareExpression(XExpression arg, ITreeAppendable b)protected org.eclipse.xtext.generator.trace.ILocationDatatoLocationData(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:
internalToConvertedExpressionin classLiteralsCompiler
-
doInternalToJavaStatement
protected void doInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)
- Overrides:
doInternalToJavaStatementin 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:
internalCanCompileToJavaExpressionin 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:AbstractXbaseCompilerwhether an expression needs to be declared in a statement If an expression has side effects this method must return true for it.- Overrides:
isVariableDeclarationRequiredin 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()
-
-