Class XtendCompiler


  • public class XtendCompiler
    extends org.eclipse.xtext.xbase.compiler.XbaseCompiler
    • 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 the UnicodeAwarePostProcessor.
      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 the UnicodeAwarePostProcessor.
      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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • XtendCompiler

        public XtendCompiler()
    • Method Detail

      • getFavoriteVariableName

        protected java.lang.String getFavoriteVariableName​(org.eclipse.emf.ecore.EObject ex)
        Overrides:
        getFavoriteVariableName in class org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler
      • normalizeBlockExpression

        protected org.eclipse.xtext.xbase.XExpression normalizeBlockExpression​(org.eclipse.xtext.xbase.XExpression expr)
        Overrides:
        normalizeBlockExpression in class org.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 class org.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 class org.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 class org.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 class org.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 class org.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 class org.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 class org.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 the UnicodeAwarePostProcessor.
        Overrides:
        _toJavaExpression in class org.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 the UnicodeAwarePostProcessor.
        Overrides:
        _toJavaStatement in class org.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 class org.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 class org.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 class org.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 class org.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 class org.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 class org.eclipse.xtext.xbase.compiler.XbaseCompiler