org.eclipse.xtext.xbase.compiler
Class FeatureCallCompiler

java.lang.Object
  extended by org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
      extended by org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
          extended by org.eclipse.xtext.xbase.compiler.LiteralsCompiler
              extended by org.eclipse.xtext.xbase.compiler.FeatureCallCompiler
Direct Known Subclasses:
XbaseCompiler

@NonNullByDefault
public class FeatureCallCompiler
extends LiteralsCompiler

Author:
Sven Efftinge - Initial contribution and API

Constructor Summary
FeatureCallCompiler()
           
 
Method Summary
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  void appendNullValue(JvmTypeReference 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 binaryOperation, ITreeAppendable b)
           
protected  java.lang.String getDefaultLiteral(JvmPrimitiveType primitiveType)
           
protected  ILocationInFileProvider getLocationInFileProvider()
           
protected  ILocationData getLocationOfTypeArguments(XAbstractFeatureCall call)
           
protected  ILocationData getLocationWithoutTypeArguments(XAbstractFeatureCall call)
           
protected  ILocationData getLocationWithTypeArguments(XAbstractFeatureCall call)
           
protected  ILogicalContainerProvider getLogicalContainerProvider()
           
protected  ILocationData getStaticQualifierLocation(XFeatureCall call)
           
protected  JvmTypeReference getUpperBound(XAbstractFeatureCall call, org.eclipse.emf.common.util.EList<JvmTypeConstraint> constraints)
           
protected  void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
           
protected  boolean isDeclaredInNewLine(XExpression obj)
           
protected  boolean isHidden(INode node)
           
protected  boolean isMemberCall(XAbstractFeatureCall call)
           
protected  boolean isStatic(JvmIdentifiableElement feature)
           
protected  boolean isVariableDeclarationRequired(XExpression expr, ITreeAppendable b)
          whether an expression needs to be declared in a statement If an expression has side effects this method must return true for it.
protected  void prepareExpression(XExpression arg, ITreeAppendable b)
           
protected  ILocationData toLocationData(java.util.List<INode> nodes)
           
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.LiteralsCompiler
_toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, generateComment, generateComment
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
convertArrayToList, convertFunctionType, convertListToArray, convertMultiType, convertPrimitiveToWrapper, convertWrapperToPrimitive, doConversion, getContextProvider, identifierStartWith, internalToConvertedExpression, internalToJavaExpression, isFunction, isList, isProcedure
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
_toJavaExpression, _toJavaStatement, appendDefaultLiteral, canCompileToJavaExpression, compile, compile, compile, compileAsJavaExpression, declareFreshLocalVariable, declareSyntheticVariable, generateCheckedExceptionHandling, getDefaultValueLiteral, getFavoriteVariableName, getNameProvider, getPrimitives, getReferenceName, getTypeConformanceComputer, getTypeForVariableDeclaration, getTypeProvider, getTypeReferences, getVarName, internalCanCompileToJavaExpression, internalToJavaStatement, isPrimitiveVoid, isReferenceToForeignTypeParameter, makeJavaIdentifier, needsSneakyThrow, resolveMultiType, serialize, serialize, serialize, setNameProvider, setTypeReferences, toJavaExpression, toJavaStatement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FeatureCallCompiler

public FeatureCallCompiler()
Method Detail

internalToConvertedExpression

protected void internalToConvertedExpression(XExpression obj,
                                             ITreeAppendable appendable)
Overrides:
internalToConvertedExpression in class LiteralsCompiler

doInternalToJavaStatement

protected void doInternalToJavaStatement(XExpression obj,
                                         ITreeAppendable appendable,
                                         boolean isReferenced)
Overrides:
doInternalToJavaStatement in class LiteralsCompiler

_toJavaStatement

protected void _toJavaStatement(XAbstractFeatureCall expr,
                                ITreeAppendable b,
                                boolean isReferenced)

_toJavaStatement

protected void _toJavaStatement(XFeatureCall expr,
                                ITreeAppendable b,
                                boolean isReferenced)

generateShortCircuitInvocation

protected void generateShortCircuitInvocation(XAbstractFeatureCall binaryOperation,
                                              ITreeAppendable b)

isVariableDeclarationRequired

protected boolean isVariableDeclarationRequired(XExpression expr,
                                                ITreeAppendable b)
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 class LiteralsCompiler
Parameters:
expr - the checked expression
b - the appendable which represents the current compiler state

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

@Nullable
protected ILocationData getLocationWithoutTypeArguments(XAbstractFeatureCall call)

getLocationWithTypeArguments

@Nullable
protected ILocationData getLocationWithTypeArguments(XAbstractFeatureCall call)

getLocationOfTypeArguments

@Nullable
protected ILocationData getLocationOfTypeArguments(XAbstractFeatureCall call)

toLocationData

@Nullable
protected ILocationData toLocationData(java.util.List<INode> nodes)

isHidden

protected boolean isHidden(INode node)

appendReceiver

protected boolean appendReceiver(XAbstractFeatureCall call,
                                 ITreeAppendable b,
                                 boolean isExpressionContext)

getStaticQualifierLocation

@Nullable
protected ILocationData getStaticQualifierLocation(XFeatureCall call)

appendNullValue

protected void appendNullValue(JvmTypeReference type,
                               org.eclipse.emf.ecore.EObject context,
                               ITreeAppendable b)

getDefaultLiteral

protected java.lang.String getDefaultLiteral(JvmPrimitiveType primitiveType)

isMemberCall

protected boolean isMemberCall(XAbstractFeatureCall call)

isStatic

protected boolean isStatic(JvmIdentifiableElement feature)

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)

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)

getUpperBound

protected JvmTypeReference getUpperBound(XAbstractFeatureCall call,
                                         org.eclipse.emf.common.util.EList<JvmTypeConstraint> constraints)

getLogicalContainerProvider

protected ILogicalContainerProvider getLogicalContainerProvider()

getLocationInFileProvider

protected ILocationInFileProvider getLocationInFileProvider()