org.eclipse.xtext.xbase.compiler
Class XbaseCompiler
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
- Direct Known Subclasses:
- XtendCompiler
@NonNullByDefault
public class XbaseCompiler
- extends FeatureCallCompiler
- Author:
- Sven Efftinge - Initial contribution and API
Method Summary |
protected void |
_toJavaExpression(XBlockExpression expr,
ITreeAppendable b)
|
protected void |
_toJavaExpression(XCastedExpression expr,
ITreeAppendable b)
|
protected void |
_toJavaExpression(XClosure call,
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(XSwitchExpression expr,
ITreeAppendable b)
|
protected void |
_toJavaExpression(XTryCatchFinallyExpression expr,
ITreeAppendable b)
|
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(XReturnExpression expr,
ITreeAppendable b,
boolean isReferenced)
|
protected void |
_toJavaStatement(XSwitchExpression expr,
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 |
appendCatchAndFinally(XTryCatchFinallyExpression expr,
ITreeAppendable b,
boolean isReferenced)
|
protected boolean |
bracesAreAddedByOuterStructure(XBlockExpression block)
|
protected void |
doInternalToJavaStatement(XExpression obj,
ITreeAppendable appendable,
boolean isReferenced)
|
protected ILocationData |
getLocationOfDefault(XSwitchExpression expression)
|
protected ILocationData |
getLocationWithNewKeyword(XConstructorCall call)
|
protected java.lang.String |
getReferenceName(XExpression expr,
ITreeAppendable b)
|
protected java.lang.Object |
getSwitchExpressionKey(XSwitchExpression expr)
|
protected boolean |
internalCanCompileToJavaExpression(XExpression expression,
ITreeAppendable appendable)
|
protected void |
internalToConvertedExpression(XExpression obj,
ITreeAppendable appendable)
|
protected boolean |
isVariableDeclarationRequired(XExpression expr,
ITreeAppendable b)
whether an expression needs to be declared in a statement
If an expression has side effects this method must return true for it. |
Methods inherited from class org.eclipse.xtext.xbase.compiler.FeatureCallCompiler |
_toJavaExpression, _toJavaStatement, _toJavaStatement, appendArgument, appendArgument, appendArguments, appendArguments, appendFeatureCall, appendInlineFeatureCall, appendNullValue, appendReceiver, appendTypeArguments, assignmentToJavaExpression, featureCalltoJavaExpression, generateShortCircuitInvocation, getDefaultLiteral, getLocationInFileProvider, getLocationOfTypeArguments, getLocationWithoutTypeArguments, getLocationWithTypeArguments, getLogicalContainerProvider, getStaticQualifierLocation, getUpperBound, isDeclaredInNewLine, isHidden, isMemberCall, isStatic, prepareExpression, toLocationData |
Methods inherited from class org.eclipse.xtext.xbase.compiler.LiteralsCompiler |
_toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaExpression, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, _toJavaStatement, generateComment, generateComment |
Methods inherited from class org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler |
convertArrayToList, convertFunctionType, convertListToArray, convertMultiType, convertPrimitiveToWrapper, convertWrapperToPrimitive, doConversion, getContextProvider, identifierStartWith, internalToConvertedExpression, internalToJavaExpression, isFunction, isList, isProcedure |
Methods inherited from class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler |
_toJavaExpression, _toJavaStatement, appendDefaultLiteral, canCompileToJavaExpression, compile, compile, compile, compileAsJavaExpression, declareFreshLocalVariable, declareSyntheticVariable, generateCheckedExceptionHandling, getDefaultValueLiteral, getFavoriteVariableName, getNameProvider, getPrimitives, getTypeConformanceComputer, getTypeForVariableDeclaration, getTypeProvider, getTypeReferences, getVarName, internalToJavaStatement, isPrimitiveVoid, isReferenceToForeignTypeParameter, 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 |
XbaseCompiler
public XbaseCompiler()
internalToConvertedExpression
protected void internalToConvertedExpression(XExpression obj,
ITreeAppendable appendable)
- Overrides:
internalToConvertedExpression
in class FeatureCallCompiler
doInternalToJavaStatement
protected void doInternalToJavaStatement(XExpression obj,
ITreeAppendable appendable,
boolean isReferenced)
- Overrides:
doInternalToJavaStatement
in class FeatureCallCompiler
_toJavaStatement
protected void _toJavaStatement(XBlockExpression expr,
ITreeAppendable b,
boolean isReferenced)
bracesAreAddedByOuterStructure
protected boolean bracesAreAddedByOuterStructure(XBlockExpression block)
_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)
_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
_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(XForLoopExpression expr,
ITreeAppendable b,
boolean isReferenced)
- Parameters:
isReferenced
- unused in this context but necessary for dispatch signature
_toJavaStatement
protected void _toJavaStatement(XConstructorCall expr,
ITreeAppendable b,
boolean isReferenced)
getLocationWithNewKeyword
@Nullable
protected 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)
getSwitchExpressionKey
protected java.lang.Object getSwitchExpressionKey(XSwitchExpression expr)
getReferenceName
@Nullable
protected java.lang.String getReferenceName(XExpression expr,
ITreeAppendable b)
- Overrides:
getReferenceName
in class AbstractXbaseCompiler
- 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
@Nullable
protected ILocationData getLocationOfDefault(XSwitchExpression expression)
_toJavaExpression
protected void _toJavaExpression(XSwitchExpression expr,
ITreeAppendable b)
_toJavaStatement
protected void _toJavaStatement(XClosure closure,
ITreeAppendable b,
boolean isReferenced)
_toJavaExpression
protected void _toJavaExpression(XClosure call,
ITreeAppendable b)
internalCanCompileToJavaExpression
protected boolean internalCanCompileToJavaExpression(XExpression expression,
ITreeAppendable appendable)
- Overrides:
internalCanCompileToJavaExpression
in class AbstractXbaseCompiler
isVariableDeclarationRequired
protected boolean isVariableDeclarationRequired(XExpression expr,
ITreeAppendable 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 FeatureCallCompiler
- Parameters:
expr
- the checked expressionb
- the appendable which represents the current compiler state