Package org.eclipse.xtext.xbase.compiler
Class XbaseCompiler
- java.lang.Object
-
public class XbaseCompiler extends FeatureCallCompiler
-
-
Constructor Summary
Constructors Constructor Description XbaseCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_toJavaExpression(XAnnotation annotation, ITreeAppendable b)
protected void
_toJavaExpression(XBlockExpression expr, ITreeAppendable b)
protected void
_toJavaExpression(XCastedExpression expr, ITreeAppendable b)
protected void
_toJavaExpression(XClosure closure, ITreeAppendable b)
protected void
_toJavaExpression(XConstructorCall expr, ITreeAppendable b)
protected void
_toJavaExpression(XIfExpression expr, ITreeAppendable b)
protected void
_toJavaExpression(XInstanceOfExpression expr, ITreeAppendable b)
protected void
_toJavaExpression(XListLiteral literal, ITreeAppendable b)
protected void
_toJavaExpression(XReturnExpression returnExpression, ITreeAppendable b)
protected void
_toJavaExpression(XSetLiteral literal, ITreeAppendable b)
protected void
_toJavaExpression(XSwitchExpression expr, ITreeAppendable b)
protected void
_toJavaExpression(XSynchronizedExpression synchronizedExpression, ITreeAppendable b)
protected void
_toJavaExpression(XThrowExpression throwExpression, ITreeAppendable b)
protected void
_toJavaExpression(XTryCatchFinallyExpression expr, ITreeAppendable b)
protected void
_toJavaIfElseStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaIfStatement(XCasePart casePart, java.util.List<XCasePart> fallThroughCases, XSwitchExpression expr, XExpression then, ITreeAppendable b, boolean isReferenced, java.lang.String switchResultName, java.lang.String matchedVariable, java.lang.String variableName, XSwitchExpressionCompilationState state)
protected void
_toJavaStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XBlockExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XCastedExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XClosure closure, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XConstructorCall expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XDoWhileExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XIfExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XInstanceOfExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XListLiteral literal, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XReturnExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XSetLiteral literal, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XSynchronizedExpression synchronizedExpression, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XThrowExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XTryCatchFinallyExpression expr, ITreeAppendable outerAppendable, boolean isReferenced)
protected void
_toJavaStatement(XVariableDeclaration varDeclaration, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(XWhileExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
_toJavaSwitchStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
protected boolean
allCasesAreExitedEarly(XSwitchExpression expr)
protected void
appendCatchAndFinally(XTryCatchFinallyExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
appendCatchClause(XCatchClause catchClause, boolean parentIsReferenced, java.lang.String parentVariable, ITreeAppendable appendable)
protected void
appendCatchClauseParameter(XCatchClause catchClause, org.eclipse.xtext.common.types.JvmTypeReference parameterType, java.lang.String parameterName, ITreeAppendable appendable)
protected ITreeAppendable
appendCloseIfStatement(XCasePart casePart, ITreeAppendable caseAppendable, XSwitchExpressionCompilationState state)
protected void
appendClosureParameter(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, LightweightTypeReference parameterType, ITreeAppendable appendable)
protected void
appendClosureParameterVarArgs(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, LightweightTypeReference parameterType, ITreeAppendable appendable)
protected void
appendConstructedTypeName(XConstructorCall constructorCall, ITreeAppendable typeAppendable)
protected void
appendFinallyWithResources(XTryCatchFinallyExpression expr, ITreeAppendable b)
protected void
appendForLoopParameter(XForLoopExpression expr, ITreeAppendable appendable)
protected void
appendImmutableCollectionExpression(XCollectionLiteral literal, ITreeAppendable b, java.lang.String collectionsMethod, java.lang.Class<?> guavaHelper, java.lang.String guavaHelperMethod)
protected ITreeAppendable
appendOpenIfStatement(XCasePart casePart, ITreeAppendable b, java.lang.String matchedVariable, java.lang.String variableName, XSwitchExpressionCompilationState state)
protected void
appendOperationVisibility(ITreeAppendable b, org.eclipse.xtext.common.types.JvmOperation operation)
protected void
appendSneakyThrow(XTryCatchFinallyExpression expr, ITreeAppendable b, java.lang.String variable)
protected ITreeAppendable
appendTypeArguments(XAbstractFeatureCall call, ITreeAppendable original)
protected void
appendTypeParameters(ITreeAppendable appendable, org.eclipse.xtext.common.types.JvmOperation operation, LightweightTypeReference instantiatedType)
Append the type parameters of the given operation.protected LightweightTypeReference
appendVariableTypeAndName(XVariableDeclaration varDeclaration, ITreeAppendable appendable)
protected boolean
bracesAreAddedByOuterStructure(XExpression expression)
protected boolean
canCompileToJavaBasicForStatement(XBasicForLoopExpression expr, ITreeAppendable b)
protected boolean
canCompileToJavaLambda(XClosure closure, LightweightTypeReference typeRef, org.eclipse.xtext.common.types.JvmOperation operation)
protected boolean
canUseArrayInitializer(XListLiteral literal, ITreeAppendable appendable)
protected boolean
canUseArrayInitializerImpl(XListLiteral literal, ITreeAppendable appendable)
protected void
closeBlock(ITreeAppendable appendable)
Close a block of code.protected void
constructorCallToJavaExpression(XConstructorCall expr, ITreeAppendable b)
protected java.lang.String
createSwitchLocalVariableName(XSwitchExpression expr)
protected java.lang.String
declareAndAppendSwitchSyntheticLocalVariable(XSwitchExpression expr, java.lang.String name, ITreeAppendable b)
protected java.lang.String
declareLocalVariable(XSwitchExpression expr, ITreeAppendable b)
protected java.lang.String
declareSwitchResultVariable(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
doInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)
protected void
executeThenPart(XSwitchExpression expr, java.lang.String switchResultName, XExpression then, ITreeAppendable b, boolean isReferenced)
protected java.util.List<XExpression>
getActualArguments(XAbstractFeatureCall featureCall)
protected LightweightTypeReference
getClosureOperationParameterType(LightweightTypeReference closureType, org.eclipse.xtext.common.types.JvmOperation operation, int i)
protected LightweightTypeReference
getClosureOperationReturnType(LightweightTypeReference closureType, org.eclipse.xtext.common.types.JvmOperation operation)
protected LightweightTypeReference
getCollectionElementType(XCollectionLiteral literal)
protected org.eclipse.xtext.common.types.JvmTypeReference
getForLoopParameterType(XForLoopExpression expr)
protected org.eclipse.xtext.generator.trace.ILocationData
getLocationOfDefault(XSwitchExpression expression)
protected org.eclipse.xtext.generator.trace.ILocationData
getLocationWithNewKeyword(XConstructorCall call)
protected org.eclipse.xtext.common.types.JvmTypeReference
getParameterType(org.eclipse.xtext.common.types.JvmFormalParameter declaredParam)
protected java.lang.String
getReferenceName(XExpression expr, ITreeAppendable b)
protected java.lang.Object
getSwitchExpressionKey(XSwitchExpression expr)
protected java.lang.String
getSwitchLocalVariableName(XSwitchExpression expr, ITreeAppendable b)
protected java.lang.String
getSwitchLocalVariableSimpleName(XSwitchExpression expr)
protected org.eclipse.xtext.common.types.JvmTypeReference
getSwitchLocalVariableType(XSwitchExpression expr)
protected boolean
internalCanCompileToJavaExpression(XExpression expression, ITreeAppendable appendable)
protected void
internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
protected boolean
isAtLeast(ITreeAppendable b, org.eclipse.xtext.util.JavaVersion version)
protected boolean
isCompiledToJava7Switch(XSwitchExpression expr)
Determine whether the given switch expression should be compiled to a Java switch for Java version 7 or higher.protected boolean
isCompiledToJavaSwitch(XSwitchExpression expr)
Determine whether the given switch expression should be compiled to a Java switch for Java version 6 or lower.protected boolean
isSimpleFeatureCall(XExpression switch1)
protected boolean
isType(XExpression element, java.lang.Class<?> clazz)
protected boolean
isVariableDeclarationRequired(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 boolean
needSyntheticSelfVariable(XClosure closure, LightweightTypeReference typeRef)
protected org.eclipse.xtext.common.types.JvmTypeReference
resolveSynonymType(org.eclipse.xtext.common.types.JvmSynonymTypeReference reference, org.eclipse.emf.ecore.EObject context)
protected LightweightTypeReference
resolveType(XExpression element, java.lang.Class<?> clazz)
protected ITreeAppendable
toAnonymousClass(XClosure closure, ITreeAppendable b, LightweightTypeReference type, org.eclipse.xtext.common.types.JvmOperation operation)
protected void
toJavaBasicForStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
protected void
toJavaWhileStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
protected ITreeAppendable
toLambda(XClosure closure, ITreeAppendable b, LightweightTypeReference type, org.eclipse.xtext.common.types.JvmOperation operation, boolean writeExplicitTargetType)
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.FeatureCallCompiler
_toJavaExpression, _toJavaStatement, _toJavaStatement, appendArgument, appendArgument, appendArguments, appendArguments, appendFeatureCall, appendInlineFeatureCall, appendLeftOperand, appendNullValue, appendNullValueUntyped, appendReceiver, assignmentToJavaExpression, featureCalltoJavaExpression, generateShortCircuitInvocation, getActualReceiver, getDefaultLiteral, getFeatureCall, getLocationInFileProvider, getLocationOfTypeArguments, getLocationWithoutTypeArguments, getLocationWithTypeArguments, getLogicalContainerProvider, inlineCallNeedsParenthesis, isDeclaredInNewLine, isHidden, isMemberCall, isReferenceToSelf, isVariableDeclarationRequired, isVariableDeclarationRequired, needMultiAssignment, nullSafeMemberFeatureCallExpressionNeedsPreparation, prepareExpression, toLocationData
-
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, 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
-
_toJavaStatement
protected void _toJavaStatement(XListLiteral literal, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaStatement
protected void _toJavaStatement(XSetLiteral literal, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
isType
protected boolean isType(XExpression element, java.lang.Class<?> clazz)
-
resolveType
protected LightweightTypeReference resolveType(XExpression element, java.lang.Class<?> clazz)
-
getCollectionElementType
protected LightweightTypeReference getCollectionElementType(XCollectionLiteral literal)
-
_toJavaExpression
protected void _toJavaExpression(XListLiteral literal, ITreeAppendable b)
-
_toJavaExpression
protected void _toJavaExpression(XSetLiteral literal, ITreeAppendable b)
-
appendImmutableCollectionExpression
protected void appendImmutableCollectionExpression(XCollectionLiteral literal, ITreeAppendable b, java.lang.String collectionsMethod, java.lang.Class<?> guavaHelper, java.lang.String guavaHelperMethod)
-
canUseArrayInitializer
protected boolean canUseArrayInitializer(XListLiteral literal, ITreeAppendable appendable)
-
canUseArrayInitializerImpl
protected boolean canUseArrayInitializerImpl(XListLiteral literal, ITreeAppendable appendable)
-
getActualArguments
protected java.util.List<XExpression> getActualArguments(XAbstractFeatureCall featureCall)
- Overrides:
getActualArguments
in classFeatureCallCompiler
-
appendTypeArguments
protected ITreeAppendable appendTypeArguments(XAbstractFeatureCall call, ITreeAppendable original)
- Overrides:
appendTypeArguments
in classFeatureCallCompiler
-
internalToConvertedExpression
protected void internalToConvertedExpression(XExpression obj, ITreeAppendable appendable)
- Overrides:
internalToConvertedExpression
in classFeatureCallCompiler
-
doInternalToJavaStatement
protected void doInternalToJavaStatement(XExpression obj, ITreeAppendable appendable, boolean isReferenced)
- Overrides:
doInternalToJavaStatement
in classFeatureCallCompiler
-
_toJavaStatement
protected void _toJavaStatement(XBlockExpression expr, ITreeAppendable b, boolean isReferenced)
-
bracesAreAddedByOuterStructure
protected boolean bracesAreAddedByOuterStructure(XExpression expression)
-
_toJavaExpression
protected void _toJavaExpression(XBlockExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XTryCatchFinallyExpression expr, ITreeAppendable outerAppendable, boolean isReferenced)
-
appendCatchAndFinally
protected void appendCatchAndFinally(XTryCatchFinallyExpression expr, ITreeAppendable b, boolean isReferenced)
-
appendSneakyThrow
protected void appendSneakyThrow(XTryCatchFinallyExpression expr, ITreeAppendable b, java.lang.String variable)
-
appendCatchClause
protected void appendCatchClause(XCatchClause catchClause, boolean parentIsReferenced, java.lang.String parentVariable, ITreeAppendable appendable)
-
appendCatchClauseParameter
protected void appendCatchClauseParameter(XCatchClause catchClause, org.eclipse.xtext.common.types.JvmTypeReference parameterType, java.lang.String parameterName, ITreeAppendable appendable)
-
resolveSynonymType
protected org.eclipse.xtext.common.types.JvmTypeReference resolveSynonymType(org.eclipse.xtext.common.types.JvmSynonymTypeReference reference, org.eclipse.emf.ecore.EObject context)
-
appendFinallyWithResources
protected void appendFinallyWithResources(XTryCatchFinallyExpression expr, ITreeAppendable b)
- Since:
- 2.18
-
isAtLeast
protected boolean isAtLeast(ITreeAppendable b, org.eclipse.xtext.util.JavaVersion version)
- Since:
- 2.18
-
_toJavaExpression
protected void _toJavaExpression(XTryCatchFinallyExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XThrowExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaExpression
protected void _toJavaExpression(XInstanceOfExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XInstanceOfExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaStatement
protected void _toJavaStatement(XVariableDeclaration varDeclaration, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
appendVariableTypeAndName
protected LightweightTypeReference appendVariableTypeAndName(XVariableDeclaration varDeclaration, ITreeAppendable appendable)
-
_toJavaStatement
protected void _toJavaStatement(XWhileExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaStatement
protected void _toJavaStatement(XDoWhileExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaStatement
protected void _toJavaStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
-
canCompileToJavaBasicForStatement
protected boolean canCompileToJavaBasicForStatement(XBasicForLoopExpression expr, ITreeAppendable b)
-
toJavaBasicForStatement
protected void toJavaBasicForStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
toJavaWhileStatement
protected void toJavaWhileStatement(XBasicForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
-
_toJavaStatement
protected void _toJavaStatement(XForLoopExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
appendForLoopParameter
protected void appendForLoopParameter(XForLoopExpression expr, ITreeAppendable appendable)
-
getForLoopParameterType
protected org.eclipse.xtext.common.types.JvmTypeReference getForLoopParameterType(XForLoopExpression expr)
-
getParameterType
protected org.eclipse.xtext.common.types.JvmTypeReference getParameterType(org.eclipse.xtext.common.types.JvmFormalParameter declaredParam)
-
_toJavaStatement
protected void _toJavaStatement(XConstructorCall expr, ITreeAppendable b, boolean isReferenced)
-
constructorCallToJavaExpression
protected void constructorCallToJavaExpression(XConstructorCall expr, ITreeAppendable b)
-
appendConstructedTypeName
protected void appendConstructedTypeName(XConstructorCall constructorCall, ITreeAppendable typeAppendable)
-
getLocationWithNewKeyword
protected org.eclipse.xtext.generator.trace.ILocationData getLocationWithNewKeyword(XConstructorCall call)
-
_toJavaExpression
protected void _toJavaExpression(XConstructorCall expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XReturnExpression expr, ITreeAppendable b, boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
-
_toJavaExpression
protected void _toJavaExpression(XCastedExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XCastedExpression expr, ITreeAppendable b, boolean isReferenced)
-
_toJavaStatement
protected void _toJavaStatement(XIfExpression expr, ITreeAppendable b, boolean isReferenced)
-
_toJavaExpression
protected void _toJavaExpression(XIfExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
-
_toJavaSwitchStatement
protected void _toJavaSwitchStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
-
declareLocalVariable
protected java.lang.String declareLocalVariable(XSwitchExpression expr, ITreeAppendable b)
-
getSwitchLocalVariableName
protected java.lang.String getSwitchLocalVariableName(XSwitchExpression expr, ITreeAppendable b)
-
declareAndAppendSwitchSyntheticLocalVariable
protected java.lang.String declareAndAppendSwitchSyntheticLocalVariable(XSwitchExpression expr, java.lang.String name, ITreeAppendable b)
-
createSwitchLocalVariableName
protected java.lang.String createSwitchLocalVariableName(XSwitchExpression expr)
-
getSwitchLocalVariableSimpleName
protected java.lang.String getSwitchLocalVariableSimpleName(XSwitchExpression expr)
-
getSwitchLocalVariableType
protected org.eclipse.xtext.common.types.JvmTypeReference getSwitchLocalVariableType(XSwitchExpression expr)
-
declareSwitchResultVariable
protected java.lang.String declareSwitchResultVariable(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
-
executeThenPart
protected void executeThenPart(XSwitchExpression expr, java.lang.String switchResultName, XExpression then, ITreeAppendable b, boolean isReferenced)
-
_toJavaIfElseStatement
protected void _toJavaIfElseStatement(XSwitchExpression expr, ITreeAppendable b, boolean isReferenced)
-
_toJavaIfStatement
protected void _toJavaIfStatement(XCasePart casePart, java.util.List<XCasePart> fallThroughCases, XSwitchExpression expr, XExpression then, ITreeAppendable b, boolean isReferenced, java.lang.String switchResultName, java.lang.String matchedVariable, java.lang.String variableName, XSwitchExpressionCompilationState state)
-
closeBlock
protected void closeBlock(ITreeAppendable appendable)
Close a block of code.- Parameters:
appendable
- the receiver of the block closing code.
-
appendOpenIfStatement
protected ITreeAppendable appendOpenIfStatement(XCasePart casePart, ITreeAppendable b, java.lang.String matchedVariable, java.lang.String variableName, XSwitchExpressionCompilationState state)
-
appendCloseIfStatement
protected ITreeAppendable appendCloseIfStatement(XCasePart casePart, ITreeAppendable caseAppendable, XSwitchExpressionCompilationState state)
-
isCompiledToJavaSwitch
protected boolean isCompiledToJavaSwitch(XSwitchExpression expr)
Determine whether the given switch expression should be compiled to a Java switch for Java version 6 or lower.
-
isCompiledToJava7Switch
protected boolean isCompiledToJava7Switch(XSwitchExpression expr)
Determine whether the given switch expression should be compiled to a Java switch for Java version 7 or higher.
-
allCasesAreExitedEarly
protected boolean allCasesAreExitedEarly(XSwitchExpression expr)
-
isSimpleFeatureCall
protected boolean isSimpleFeatureCall(XExpression switch1)
-
getSwitchExpressionKey
protected java.lang.Object getSwitchExpressionKey(XSwitchExpression expr)
-
getReferenceName
protected java.lang.String getReferenceName(XExpression expr, ITreeAppendable b)
- Overrides:
getReferenceName
in classAbstractXbaseCompiler
- Returns:
- the variable name under which the result of the expression is stored. Returns
null
if the expression hasn't been assigned to a local variable before.
-
getLocationOfDefault
protected org.eclipse.xtext.generator.trace.ILocationData getLocationOfDefault(XSwitchExpression expression)
-
_toJavaExpression
protected void _toJavaExpression(XSwitchExpression expr, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XSynchronizedExpression synchronizedExpression, ITreeAppendable b, boolean isReferenced)
-
_toJavaExpression
protected void _toJavaExpression(XSynchronizedExpression synchronizedExpression, ITreeAppendable b)
-
_toJavaExpression
protected void _toJavaExpression(XReturnExpression returnExpression, ITreeAppendable b)
-
_toJavaExpression
protected void _toJavaExpression(XThrowExpression throwExpression, ITreeAppendable b)
-
_toJavaStatement
protected void _toJavaStatement(XClosure closure, ITreeAppendable b, boolean isReferenced)
-
toAnonymousClass
protected ITreeAppendable toAnonymousClass(XClosure closure, ITreeAppendable b, LightweightTypeReference type, org.eclipse.xtext.common.types.JvmOperation operation)
-
needSyntheticSelfVariable
protected boolean needSyntheticSelfVariable(XClosure closure, LightweightTypeReference typeRef)
-
appendTypeParameters
protected void appendTypeParameters(ITreeAppendable appendable, org.eclipse.xtext.common.types.JvmOperation operation, LightweightTypeReference instantiatedType)
Append the type parameters of the given operation.- Parameters:
appendable
- the receiver of the Java code.operation
- the source operation.instantiatedType
- the type of the operation container.
-
appendClosureParameter
protected void appendClosureParameter(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, LightweightTypeReference parameterType, ITreeAppendable appendable)
-
appendClosureParameterVarArgs
protected void appendClosureParameterVarArgs(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, LightweightTypeReference parameterType, ITreeAppendable appendable)
-
appendOperationVisibility
protected void appendOperationVisibility(ITreeAppendable b, org.eclipse.xtext.common.types.JvmOperation operation)
-
getClosureOperationParameterType
protected LightweightTypeReference getClosureOperationParameterType(LightweightTypeReference closureType, org.eclipse.xtext.common.types.JvmOperation operation, int i)
-
getClosureOperationReturnType
protected LightweightTypeReference getClosureOperationReturnType(LightweightTypeReference closureType, org.eclipse.xtext.common.types.JvmOperation operation)
-
toLambda
protected ITreeAppendable toLambda(XClosure closure, ITreeAppendable b, LightweightTypeReference type, org.eclipse.xtext.common.types.JvmOperation operation, boolean writeExplicitTargetType)
-
_toJavaExpression
protected void _toJavaExpression(XClosure closure, ITreeAppendable b)
-
canCompileToJavaLambda
protected boolean canCompileToJavaLambda(XClosure closure, LightweightTypeReference typeRef, org.eclipse.xtext.common.types.JvmOperation operation)
-
internalCanCompileToJavaExpression
protected boolean internalCanCompileToJavaExpression(XExpression expression, ITreeAppendable appendable)
- Overrides:
internalCanCompileToJavaExpression
in classFeatureCallCompiler
- Parameters:
expression
- to be used by subtypesappendable
- to be used by subtypes
-
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(XExpression expr, ITreeAppendable b, boolean recursive)
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 classFeatureCallCompiler
- 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
-
_toJavaExpression
protected void _toJavaExpression(XAnnotation annotation, ITreeAppendable b)
-
-