Package org.eclipse.xtend.core.compiler
Class XtendCompiler
- java.lang.Object
-
- org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
-
- org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
-
- org.eclipse.xtext.xbase.compiler.LiteralsCompiler
-
- org.eclipse.xtext.xbase.compiler.FeatureCallCompiler
-
- org.eclipse.xtext.xbase.compiler.XbaseCompiler
-
- org.eclipse.xtend.core.compiler.XtendCompiler
-
public class XtendCompiler extends org.eclipse.xtext.xbase.compiler.XbaseCompiler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
XtendCompiler.RichStringPrepareCompiler
-
Constructor Summary
Constructors Constructor Description XtendCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_toJavaExpression(AnonymousClass anonymousClass, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
void
_toJavaExpression(RichString richString, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
void
_toJavaExpression(org.eclipse.xtext.xbase.XStringLiteral expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
Specialized since unicode escapes are handled in theUnicodeAwarePostProcessor
.protected void
_toJavaStatement(AnonymousClass anonymousClass, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
void
_toJavaStatement(RichString richString, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
protected void
_toJavaStatement(org.eclipse.xtext.xbase.XConstructorCall expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
void
_toJavaStatement(org.eclipse.xtext.xbase.XStringLiteral expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
Specialized since unicode escapes are handled in theUnicodeAwarePostProcessor
.protected void
appendCatchClauseParameter(org.eclipse.xtext.xbase.XCatchClause catchClause, org.eclipse.xtext.common.types.JvmTypeReference parameterType, java.lang.String parameterName, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected void
appendClosureParameter(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference parameterType, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected void
appendExtensionAnnotation(org.eclipse.emf.ecore.EObject context, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean newLine)
protected void
appendExtensionAnnotation(org.eclipse.xtext.common.types.JvmFormalParameter parameter, org.eclipse.emf.ecore.EObject context, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean newLine)
protected void
appendForLoopParameter(org.eclipse.xtext.xbase.XForLoopExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference
appendVariableTypeAndName(org.eclipse.xtext.xbase.XVariableDeclaration varDeclaration, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected boolean
canUseArrayInitializer(org.eclipse.xtext.xbase.XListLiteral literal, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected void
compileAnonymousClassBody(AnonymousClass anonymousClass, org.eclipse.xtext.common.types.JvmDeclaredType type, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
void
doInternalToJavaStatement(org.eclipse.xtext.xbase.XExpression obj, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean isReferenced)
protected void
doReassignThisInClosure(org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, org.eclipse.xtext.common.types.JvmType prevType)
protected java.lang.String
getFavoriteVariableName(org.eclipse.emf.ecore.EObject ex)
protected java.lang.String
getReferenceName(org.eclipse.xtext.xbase.XExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
protected boolean
internalCanCompileToJavaExpression(org.eclipse.xtext.xbase.XExpression expression, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
void
internalToConvertedExpression(org.eclipse.xtext.xbase.XExpression obj, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
protected boolean
isVariableDeclarationRequired(org.eclipse.xtext.xbase.XExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean recursive)
protected boolean
needSyntheticSelfVariable(org.eclipse.xtext.xbase.XClosure closure, org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference typeRef)
protected org.eclipse.xtext.xbase.XExpression
normalizeBlockExpression(org.eclipse.xtext.xbase.XExpression expr)
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.XbaseCompiler
_toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaIfElseStatement, _toJavaIfStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaSwitchStatement, allCasesAreExitedEarly, appendCatchAndFinally, appendCatchClause, appendCloseIfStatement, appendClosureParameterVarArgs, appendConstructedTypeName, appendFinallyWithResources, appendImmutableCollectionExpression, appendOpenIfStatement, appendOperationVisibility, appendSneakyThrow, appendTypeArguments, appendTypeParameters, bracesAreAddedByOuterStructure, canCompileToJavaBasicForStatement, canCompileToJavaLambda, canUseArrayInitializerImpl, closeBlock, constructorCallToJavaExpression, createSwitchLocalVariableName, declareAndAppendSwitchSyntheticLocalVariable, declareLocalVariable, declareSwitchResultVariable, executeThenPart, getActualArguments, getClosureOperationParameterType, getClosureOperationReturnType, getCollectionElementType, getForLoopParameterType, getLocationOfDefault, getLocationWithNewKeyword, getParameterType, getSwitchExpressionKey, getSwitchLocalVariableName, getSwitchLocalVariableSimpleName, getSwitchLocalVariableType, isAtLeast, isCompiledToJava7Switch, isCompiledToJavaSwitch, isSimpleFeatureCall, isType, resolveSynonymType, resolveType, toAnonymousClass, toJavaBasicForStatement, toJavaWhileStatement, toLambda
-
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, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, generateComment, generateComment, toJavaExpression, toJavaStatement
-
Methods inherited from class org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
convertPrimitiveToWrapper, convertWrapperToPrimitive, doCastConversion, doConversion, findImplementingOperation, internalToConvertedExpression, internalToJavaExpression, 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, 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
-
getFavoriteVariableName
protected java.lang.String getFavoriteVariableName(org.eclipse.emf.ecore.EObject ex)
- Overrides:
getFavoriteVariableName
in classorg.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
-
normalizeBlockExpression
protected org.eclipse.xtext.xbase.XExpression normalizeBlockExpression(org.eclipse.xtext.xbase.XExpression expr)
- Overrides:
normalizeBlockExpression
in classorg.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
-
doInternalToJavaStatement
public void doInternalToJavaStatement(org.eclipse.xtext.xbase.XExpression obj, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean isReferenced)
- Overrides:
doInternalToJavaStatement
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
_toJavaStatement
public void _toJavaStatement(RichString richString, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
-
internalToConvertedExpression
public void internalToConvertedExpression(org.eclipse.xtext.xbase.XExpression obj, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
internalToConvertedExpression
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
_toJavaExpression
protected void _toJavaExpression(AnonymousClass anonymousClass, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
-
compileAnonymousClassBody
protected void compileAnonymousClassBody(AnonymousClass anonymousClass, org.eclipse.xtext.common.types.JvmDeclaredType type, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
-
_toJavaExpression
public void _toJavaExpression(RichString richString, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
-
appendCatchClauseParameter
protected void appendCatchClauseParameter(org.eclipse.xtext.xbase.XCatchClause catchClause, org.eclipse.xtext.common.types.JvmTypeReference parameterType, java.lang.String parameterName, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
appendCatchClauseParameter
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
appendExtensionAnnotation
protected void appendExtensionAnnotation(org.eclipse.xtext.common.types.JvmFormalParameter parameter, org.eclipse.emf.ecore.EObject context, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean newLine)
-
appendExtensionAnnotation
protected void appendExtensionAnnotation(org.eclipse.emf.ecore.EObject context, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable, boolean newLine)
-
appendVariableTypeAndName
protected org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference appendVariableTypeAndName(org.eclipse.xtext.xbase.XVariableDeclaration varDeclaration, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
appendVariableTypeAndName
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
appendForLoopParameter
protected void appendForLoopParameter(org.eclipse.xtext.xbase.XForLoopExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
appendForLoopParameter
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
appendClosureParameter
protected void appendClosureParameter(org.eclipse.xtext.common.types.JvmFormalParameter closureParam, org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference parameterType, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
appendClosureParameter
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
canUseArrayInitializer
protected boolean canUseArrayInitializer(org.eclipse.xtext.xbase.XListLiteral literal, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
canUseArrayInitializer
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
_toJavaExpression
public void _toJavaExpression(org.eclipse.xtext.xbase.XStringLiteral expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
Specialized since unicode escapes are handled in theUnicodeAwarePostProcessor
.- Overrides:
_toJavaExpression
in classorg.eclipse.xtext.xbase.compiler.LiteralsCompiler
-
_toJavaStatement
public void _toJavaStatement(org.eclipse.xtext.xbase.XStringLiteral expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
Specialized since unicode escapes are handled in theUnicodeAwarePostProcessor
.- Overrides:
_toJavaStatement
in classorg.eclipse.xtext.xbase.compiler.LiteralsCompiler
-
_toJavaStatement
protected void _toJavaStatement(AnonymousClass anonymousClass, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
-
_toJavaStatement
protected void _toJavaStatement(org.eclipse.xtext.xbase.XConstructorCall expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean isReferenced)
- Overrides:
_toJavaStatement
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
internalCanCompileToJavaExpression
protected boolean internalCanCompileToJavaExpression(org.eclipse.xtext.xbase.XExpression expression, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable appendable)
- Overrides:
internalCanCompileToJavaExpression
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(org.eclipse.xtext.xbase.XExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, boolean recursive)
- Overrides:
isVariableDeclarationRequired
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
getReferenceName
protected java.lang.String getReferenceName(org.eclipse.xtext.xbase.XExpression expr, org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b)
- Overrides:
getReferenceName
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
doReassignThisInClosure
protected void doReassignThisInClosure(org.eclipse.xtext.xbase.compiler.output.ITreeAppendable b, org.eclipse.xtext.common.types.JvmType prevType)
- Overrides:
doReassignThisInClosure
in classorg.eclipse.xtext.xbase.compiler.TypeConvertingCompiler
-
needSyntheticSelfVariable
protected boolean needSyntheticSelfVariable(org.eclipse.xtext.xbase.XClosure closure, org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference typeRef)
- Overrides:
needSyntheticSelfVariable
in classorg.eclipse.xtext.xbase.compiler.XbaseCompiler
-
-