org.eclipse.xtext.xbase.compiler
Class TypeConvertingCompiler

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

@NonNullByDefault
public class TypeConvertingCompiler
extends AbstractXbaseCompiler

Author:
Sven Efftinge - Initial contribution and API

Constructor Summary
TypeConvertingCompiler()
           
 
Method Summary
protected  void convertArrayToList(JvmTypeReference left, ITreeAppendable appendable, XExpression context, Later expression)
           
protected  void convertFunctionType(JvmTypeReference expectedType, JvmTypeReference functionType, ITreeAppendable appendable, Later expression, XExpression context)
           
protected  void convertListToArray(JvmTypeReference arrayTypeReference, ITreeAppendable appendable, XExpression context, Later expression)
           
protected  void convertMultiType(JvmTypeReference expectation, JvmMultiTypeReference multiType, XExpression context, ITreeAppendable b, Later expression)
           
protected  void convertPrimitiveToWrapper(JvmTypeReference primitive, JvmTypeReference wrapper, XExpression context, ITreeAppendable appendable, Later expression)
           
protected  void convertWrapperToPrimitive(JvmTypeReference wrapper, JvmTypeReference primitive, XExpression context, ITreeAppendable appendable, Later expression)
           
protected  void doConversion(JvmTypeReference left, JvmTypeReference right, ITreeAppendable appendable, XExpression context, Later expression)
           
protected  TypeArgumentContextProvider getContextProvider()
           
protected  boolean identifierStartWith(JvmTypeReference typeReference, java.lang.String prefix)
           
protected  void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
           
protected  void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable, JvmTypeReference toBeConvertedTo)
           
protected  void internalToJavaExpression(XExpression obj, ITreeAppendable appendable)
           
protected  boolean isFunction(JvmTypeReference typeReference)
           
protected  boolean isList(JvmTypeReference type)
           
protected  boolean isProcedure(JvmTypeReference typeReference)
           
 
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
_toJavaExpression, _toJavaStatement, appendDefaultLiteral, canCompileToJavaExpression, compile, compile, compile, compileAsJavaExpression, declareFreshLocalVariable, declareSyntheticVariable, doInternalToJavaStatement, generateCheckedExceptionHandling, getDefaultValueLiteral, getFavoriteVariableName, getNameProvider, getPrimitives, getReferenceName, getTypeConformanceComputer, getTypeForVariableDeclaration, getTypeProvider, getTypeReferences, getVarName, internalCanCompileToJavaExpression, internalToJavaStatement, isPrimitiveVoid, isReferenceToForeignTypeParameter, isVariableDeclarationRequired, 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

TypeConvertingCompiler

public TypeConvertingCompiler()
Method Detail

internalToJavaExpression

protected final void internalToJavaExpression(XExpression obj,
                                              ITreeAppendable appendable)
Overrides:
internalToJavaExpression in class AbstractXbaseCompiler

internalToConvertedExpression

protected final void internalToConvertedExpression(XExpression obj,
                                                   ITreeAppendable appendable,
                                                   @Nullable
                                                   JvmTypeReference toBeConvertedTo)
Specified by:
internalToConvertedExpression in class AbstractXbaseCompiler

internalToConvertedExpression

protected void internalToConvertedExpression(XExpression obj,
                                             ITreeAppendable appendable)

doConversion

protected void doConversion(JvmTypeReference left,
                            JvmTypeReference right,
                            ITreeAppendable appendable,
                            XExpression context,
                            Later expression)

isFunction

protected boolean isFunction(JvmTypeReference typeReference)

isProcedure

protected boolean isProcedure(JvmTypeReference typeReference)

identifierStartWith

protected boolean identifierStartWith(JvmTypeReference typeReference,
                                      java.lang.String prefix)

convertMultiType

protected void convertMultiType(JvmTypeReference expectation,
                                JvmMultiTypeReference multiType,
                                XExpression context,
                                ITreeAppendable b,
                                Later expression)

convertFunctionType

protected void convertFunctionType(JvmTypeReference expectedType,
                                   JvmTypeReference functionType,
                                   ITreeAppendable appendable,
                                   Later expression,
                                   XExpression context)

convertListToArray

protected void convertListToArray(JvmTypeReference arrayTypeReference,
                                  ITreeAppendable appendable,
                                  XExpression context,
                                  Later expression)

convertArrayToList

protected void convertArrayToList(JvmTypeReference left,
                                  ITreeAppendable appendable,
                                  XExpression context,
                                  Later expression)

convertPrimitiveToWrapper

protected void convertPrimitiveToWrapper(JvmTypeReference primitive,
                                         JvmTypeReference wrapper,
                                         XExpression context,
                                         ITreeAppendable appendable,
                                         Later expression)
Parameters:
primitive - unused in this context but useful for inheritors

convertWrapperToPrimitive

protected void convertWrapperToPrimitive(JvmTypeReference wrapper,
                                         JvmTypeReference primitive,
                                         XExpression context,
                                         ITreeAppendable appendable,
                                         Later expression)
Parameters:
wrapper - unused in this context but useful for inheritors

isList

protected boolean isList(JvmTypeReference type)

getContextProvider

protected TypeArgumentContextProvider getContextProvider()