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

public class FeatureCallCompiler
extends LiteralsCompiler

Author:
Sven Efftinge - Initial contribution and API

Constructor Summary
FeatureCallCompiler()
           
 
Method Summary
protected  void _toJavaExpression(XAbstractFeatureCall call, IAppendable b)
           
protected  void _toJavaStatement(XAbstractFeatureCall expr, IAppendable b, boolean isReferenced)
           
protected  void appendArguments(java.util.List<? extends XExpression> eList, JvmExecutable executable, XExpression context, IAppendable b)
           
protected  void appendFeatureCall(XAbstractFeatureCall call, IAppendable b)
           
protected  void appendNullValue(JvmTypeReference type, org.eclipse.emf.ecore.EObject context, IAppendable b)
           
protected  boolean appendReceiver(XAbstractFeatureCall call, IAppendable b)
           
protected  void featureCalltoJavaExpression(XAbstractFeatureCall call, IAppendable b)
           
protected  void generateShortCircuitInvocation(XAbstractFeatureCall binaryOperation, IAppendable b)
           
protected  java.lang.String getDefaultLiteral(JvmPrimitiveType primitiveType)
           
protected  JvmTypeReference getUpperBound(XAbstractFeatureCall call, org.eclipse.emf.common.util.EList<JvmTypeConstraint> constraints)
           
protected  boolean isMemberCall(XAbstractFeatureCall call)
           
protected  boolean isSpreadingMemberFeatureCall(XAbstractFeatureCall expr)
           
protected  boolean isStatic(JvmIdentifiableElement feature)
           
protected  boolean isVariableDeclarationRequired(XExpression expr, IAppendable 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, IAppendable b)
           
protected  void prepareSpreadingMemberFeatureCall(XMemberFeatureCall expr, IAppendable b)
           
protected  void xAssignmentToJavaExpression(XAssignment expr, IAppendable b)
           
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.LiteralsCompiler
_toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, generateComment
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
convertArrayToList, convertFunctionType, convertListToArray, convertMultiType, convertPrimitiveToWrapper, doConversion, getContextProvider, internalToConvertedExpression, internalToJavaExpression, isList
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
_toJavaExpression, _toJavaExpression, _toJavaStatement, _toJavaStatement, compile, declareLocalVariable, declareLocalVariable, declareLocalVariable, declareNameInVariableScope, getDefaultValueLiteral, getFavoriteVariableName, getNameProvider, getPrimitives, getTypeConformanceComputer, getTypeProvider, getTypeReferences, getVarName, internalToJavaStatement, isLocalTypeParameter, isPrimitiveVoid, makeJavaIdentifier, 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

_toJavaStatement

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

generateShortCircuitInvocation

protected void generateShortCircuitInvocation(XAbstractFeatureCall binaryOperation,
                                              IAppendable b)

isVariableDeclarationRequired

protected boolean isVariableDeclarationRequired(XExpression expr,
                                                IAppendable 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

prepareSpreadingMemberFeatureCall

protected void prepareSpreadingMemberFeatureCall(XMemberFeatureCall expr,
                                                 IAppendable b)

prepareExpression

protected void prepareExpression(XExpression arg,
                                 IAppendable b)

isSpreadingMemberFeatureCall

protected boolean isSpreadingMemberFeatureCall(XAbstractFeatureCall expr)

_toJavaExpression

protected void _toJavaExpression(XAbstractFeatureCall call,
                                 IAppendable b)

featureCalltoJavaExpression

protected void featureCalltoJavaExpression(XAbstractFeatureCall call,
                                           IAppendable b)

appendReceiver

protected boolean appendReceiver(XAbstractFeatureCall call,
                                 IAppendable b)

appendNullValue

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

getDefaultLiteral

protected java.lang.String getDefaultLiteral(JvmPrimitiveType primitiveType)

isMemberCall

protected boolean isMemberCall(XAbstractFeatureCall call)

isStatic

protected boolean isStatic(JvmIdentifiableElement feature)

xAssignmentToJavaExpression

protected void xAssignmentToJavaExpression(XAssignment expr,
                                           IAppendable b)

appendFeatureCall

protected void appendFeatureCall(XAbstractFeatureCall call,
                                 IAppendable b)

getUpperBound

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

appendArguments

protected void appendArguments(java.util.List<? extends XExpression> eList,
                               JvmExecutable executable,
                               XExpression context,
                               IAppendable b)