Package org.eclipse.xtext.xbase.compiler
Class TypeConvertingCompiler
- java.lang.Object
-
- org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
-
- org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
-
- Direct Known Subclasses:
LiteralsCompiler
public class TypeConvertingCompiler extends AbstractXbaseCompiler
-
-
Constructor Summary
Constructors Constructor Description TypeConvertingCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
convertPrimitiveToWrapper(LightweightTypeReference primitive, LightweightTypeReference wrapper, ITreeAppendable appendable, Later expression)
Convert a primitive expression (number, char, boolean) to its wrapper equivalent.protected void
convertWrapperToPrimitive(LightweightTypeReference wrapper, LightweightTypeReference primitive, XExpression context, ITreeAppendable appendable, Later expression)
Convert a wrapper expression (number, char, boolean) to its primitive equivalent.protected void
doCastConversion(LightweightTypeReference castTo, ITreeAppendable buffer, Later expression)
Invoked to generate the Java cast operation to the given buffer.protected void
doConversion(LightweightTypeReference left, LightweightTypeReference right, ITreeAppendable appendable, XExpression context, Later expression)
protected void
doReassignThisInClosure(ITreeAppendable b, org.eclipse.xtext.common.types.JvmType prevType)
protected org.eclipse.xtext.common.types.JvmOperation
findImplementingOperation(LightweightTypeReference closureType)
protected void
internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
protected void
internalToConvertedExpression(XExpression obj, ITreeAppendable appendable, LightweightTypeReference toBeConvertedTo)
protected void
internalToJavaExpression(XExpression obj, ITreeAppendable appendable)
protected java.util.List<XExpression>
normalizeBlockExpression(java.util.Collection<XExpression> expr)
protected XExpression
normalizeBlockExpression(XExpression expr)
protected void
reassignThisInClosure(ITreeAppendable b, org.eclipse.xtext.common.types.JvmType rawClosureType)
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
_toJavaExpression, _toJavaStatement, appendDefaultLiteral, canCompileToJavaExpression, compile, compile, compile, compile, compileAsJavaExpression, compileAsJavaExpression, compileWithJvmConstructorCall, declareFreshLocalVariable, declareSyntheticVariable, doInternalToJavaStatement, findKnownTopLevelType, findKnownType, generateCheckedExceptionHandling, getDefaultValueLiteral, getExpectedType, getFavoriteVariableName, getLightweightExpectedType, getLightweightReturnType, getLightweightType, getLightweightType, getNameProvider, getReferenceName, getResolvedTypes, getType, getType, getTypeComputationServices, getTypeForVariableDeclaration, getTypeReferenceSerializer, getVarName, hasJvmConstructorCall, hasUnhandledException, internalCanCompileToJavaExpression, internalToJavaStatement, isEarlyExit, isJavaConformant, isPrimitiveVoid, isPrimitiveVoid, isReferenceToForeignTypeParameter, isUnhandledException, isVariableDeclarationRequired, isVariableDeclarationRequired, makeJavaIdentifier, needsSneakyThrow, newTypeReferenceOwner, resolveMultiType, serialize, serialize, serialize, setNameProvider, toJavaExpression, toJavaStatement, toLightweight
-
-
-
-
Method Detail
-
internalToJavaExpression
protected final void internalToJavaExpression(XExpression obj, ITreeAppendable appendable)
- Overrides:
internalToJavaExpression
in classAbstractXbaseCompiler
-
internalToConvertedExpression
protected void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable, LightweightTypeReference toBeConvertedTo)
- Specified by:
internalToConvertedExpression
in classAbstractXbaseCompiler
-
internalToConvertedExpression
protected void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
-
doConversion
protected void doConversion(LightweightTypeReference left, LightweightTypeReference right, ITreeAppendable appendable, XExpression context, Later expression)
-
findImplementingOperation
protected org.eclipse.xtext.common.types.JvmOperation findImplementingOperation(LightweightTypeReference closureType)
-
doCastConversion
protected void doCastConversion(LightweightTypeReference castTo, ITreeAppendable buffer, Later expression)
Invoked to generate the Java cast operation to the given buffer.- Parameters:
castTo
- is the expected type of the cast expression.buffer
- is the receiver of the Java expression.expression
- is the expression that has to be casted.- Since:
- 2.23
-
reassignThisInClosure
protected void reassignThisInClosure(ITreeAppendable b, org.eclipse.xtext.common.types.JvmType rawClosureType)
-
doReassignThisInClosure
protected void doReassignThisInClosure(ITreeAppendable b, org.eclipse.xtext.common.types.JvmType prevType)
-
convertPrimitiveToWrapper
protected void convertPrimitiveToWrapper(LightweightTypeReference primitive, LightweightTypeReference wrapper, ITreeAppendable appendable, Later expression)
Convert a primitive expression (number, char, boolean) to its wrapper equivalent.- Parameters:
primitive
- unused in this context but useful for inheritors.wrapper
- the wrapper type to convert to.appendable
- the receiver of the convertion.expression
- the expression to convert.
-
normalizeBlockExpression
protected java.util.List<XExpression> normalizeBlockExpression(java.util.Collection<XExpression> expr)
-
normalizeBlockExpression
protected XExpression normalizeBlockExpression(XExpression expr)
-
convertWrapperToPrimitive
protected void convertWrapperToPrimitive(LightweightTypeReference wrapper, LightweightTypeReference primitive, XExpression context, ITreeAppendable appendable, Later expression)
Convert a wrapper expression (number, char, boolean) to its primitive equivalent.- Parameters:
wrapper
- unused in this context but useful for inheritors.primitive
- the primitive type to convert to.context
- the context of the convertion, i.e. the containing expression.appendable
- the receiver of the convertion.expression
- the expression to convert.
-
-