org.eclipse.xtext.xbase.compiler
Class JvmModelGenerator

java.lang.Object
  extended by org.eclipse.xtext.xbase.compiler.JvmModelGenerator
All Implemented Interfaces:
IGenerator

public class JvmModelGenerator
extends java.lang.Object
implements IGenerator

A generator implementation that processes the derived JVM model and produces the respective java code.


Constructor Summary
JvmModelGenerator()
           
 
Method Summary
protected  ITreeAppendable _generateBody(JvmEnumerationType it, ITreeAppendable appendable)
           
protected  ITreeAppendable _generateBody(JvmGenericType it, ITreeAppendable appendable)
           
protected  boolean _generateMember(JvmConstructor it, ITreeAppendable appendable, boolean first)
           
protected  boolean _generateMember(JvmField it, ITreeAppendable appendable, boolean first)
           
protected  boolean _generateMember(JvmGenericType it, ITreeAppendable appendable, boolean first)
           
protected  boolean _generateMember(JvmMember it, ITreeAppendable appendable, boolean first)
           
protected  boolean _generateMember(JvmOperation it, ITreeAppendable appendable, boolean first)
           
protected  ITreeAppendable _generateModifier(JvmConstructor it, ITreeAppendable appendable)
           
protected  ITreeAppendable _generateModifier(JvmDeclaredType it, ITreeAppendable appendable)
           
protected  ITreeAppendable _generateModifier(JvmField it, ITreeAppendable appendable)
           
protected  ITreeAppendable _generateModifier(JvmOperation it, ITreeAppendable appendable)
           
protected  void _internalDoGenerate(org.eclipse.emf.ecore.EObject obj, IFileSystemAccess fsa)
           
protected  void _internalDoGenerate(JvmEnumerationType type, IFileSystemAccess fsa)
           
protected  void _internalDoGenerate(JvmGenericType type, IFileSystemAccess fsa)
           
protected  void _toJavaLiteral(JvmAnnotationAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmBooleanAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmByteAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmCharAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmCustomAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmDoubleAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmEnumAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmFloatAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmIntAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmLongAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmShortAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmStringAnnotationValue it, ITreeAppendable appendable)
           
protected  void _toJavaLiteral(JvmTypeAnnotationValue it, ITreeAppendable appendable)
           
 JvmGenericType containerType(org.eclipse.emf.ecore.EObject context)
           
 TreeAppendable createAppendable(org.eclipse.emf.ecore.EObject context, ImportManager importManager)
           
 void doGenerate(org.eclipse.emf.ecore.resource.Resource input, IFileSystemAccess fsa)
           
 void generateAnnotation(JvmAnnotationReference it, ITreeAppendable appendable)
           
 void generateAnnotations(JvmAnnotationAnnotationValue it, ITreeAppendable appendable, boolean withLineBreak)
           
 void generateAnnotations(JvmAnnotationTarget it, ITreeAppendable appendable, boolean withLineBreak)
           
 ITreeAppendable generateBody(JvmDeclaredType it, ITreeAppendable appendable)
           
 boolean generateEnumLiteral(JvmEnumerationLiteral it, ITreeAppendable appendable, boolean first)
           
 void generateExecutableBody(JvmExecutable op, ITreeAppendable appendable)
           
 void generateExtendsClause(JvmDeclaredType it, ITreeAppendable appendable)
           
 void generateInitialization(JvmField it, ITreeAppendable appendable)
           
 void generateJavaDoc(org.eclipse.emf.ecore.EObject it, ITreeAppendable appendable)
           
 boolean generateMember(JvmMember it, ITreeAppendable appendable, boolean first)
           
 ITreeAppendable generateModifier(JvmMember it, ITreeAppendable appendable)
           
 void generateParameter(JvmFormalParameter it, ITreeAppendable appendable, boolean vararg)
           
 void generateParameters(JvmExecutable it, ITreeAppendable appendable)
           
 void generateThrowsClause(JvmExecutable it, ITreeAppendable appendable)
           
 java.lang.CharSequence generateType(JvmDeclaredType type)
           
 void generateTypeParameterConstraints(JvmTypeParameter it, ITreeAppendable appendable)
           
 void generateTypeParameterDeclaration(JvmTypeParameterDeclarator it, ITreeAppendable appendable)
           
 void generateTypeParameterDeclaration(JvmTypeParameter it, ITreeAppendable appendable)
           
 void internalDoGenerate(org.eclipse.emf.ecore.EObject type, IFileSystemAccess fsa)
           
 java.lang.String javaName(JvmVisibility visibility)
          Returns the visibility modifier and a space as suffix if not empty
protected  java.lang.String makeJavaIdentifier(java.lang.String name)
           
 void serialize(JvmTypeReference it, ITreeAppendable appendable)
           
 void toJava(JvmAnnotationValue it, ITreeAppendable appendable)
           
 void toJavaLiteral(JvmAnnotationValue it, ITreeAppendable appendable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JvmModelGenerator

public JvmModelGenerator()
Method Detail

doGenerate

public void doGenerate(org.eclipse.emf.ecore.resource.Resource input,
                       IFileSystemAccess fsa)
Specified by:
doGenerate in interface IGenerator
Parameters:
input - - the input for which to generate resources
fsa - - file system access to be used to generate files

_internalDoGenerate

protected void _internalDoGenerate(org.eclipse.emf.ecore.EObject obj,
                                   IFileSystemAccess fsa)

_internalDoGenerate

protected void _internalDoGenerate(JvmGenericType type,
                                   IFileSystemAccess fsa)

_internalDoGenerate

protected void _internalDoGenerate(JvmEnumerationType type,
                                   IFileSystemAccess fsa)

generateType

public java.lang.CharSequence generateType(JvmDeclaredType type)

_generateBody

protected ITreeAppendable _generateBody(JvmGenericType it,
                                        ITreeAppendable appendable)

_generateBody

protected ITreeAppendable _generateBody(JvmEnumerationType it,
                                        ITreeAppendable appendable)

_generateModifier

protected ITreeAppendable _generateModifier(JvmDeclaredType it,
                                            ITreeAppendable appendable)

_generateModifier

protected ITreeAppendable _generateModifier(JvmField it,
                                            ITreeAppendable appendable)

_generateModifier

protected ITreeAppendable _generateModifier(JvmOperation it,
                                            ITreeAppendable appendable)

_generateModifier

protected ITreeAppendable _generateModifier(JvmConstructor it,
                                            ITreeAppendable appendable)

javaName

public java.lang.String javaName(JvmVisibility visibility)
Returns the visibility modifier and a space as suffix if not empty


generateExtendsClause

public void generateExtendsClause(JvmDeclaredType it,
                                  ITreeAppendable appendable)

generateEnumLiteral

public boolean generateEnumLiteral(JvmEnumerationLiteral it,
                                   ITreeAppendable appendable,
                                   boolean first)

_generateMember

protected boolean _generateMember(JvmMember it,
                                  ITreeAppendable appendable,
                                  boolean first)

_generateMember

protected boolean _generateMember(JvmGenericType it,
                                  ITreeAppendable appendable,
                                  boolean first)

_generateMember

protected boolean _generateMember(JvmField it,
                                  ITreeAppendable appendable,
                                  boolean first)

_generateMember

protected boolean _generateMember(JvmOperation it,
                                  ITreeAppendable appendable,
                                  boolean first)

_generateMember

protected boolean _generateMember(JvmConstructor it,
                                  ITreeAppendable appendable,
                                  boolean first)

generateInitialization

public void generateInitialization(JvmField it,
                                   ITreeAppendable appendable)

generateTypeParameterDeclaration

public void generateTypeParameterDeclaration(JvmTypeParameterDeclarator it,
                                             ITreeAppendable appendable)

generateTypeParameterDeclaration

public void generateTypeParameterDeclaration(JvmTypeParameter it,
                                             ITreeAppendable appendable)

generateTypeParameterConstraints

public void generateTypeParameterConstraints(JvmTypeParameter it,
                                             ITreeAppendable appendable)

generateThrowsClause

public void generateThrowsClause(JvmExecutable it,
                                 ITreeAppendable appendable)

generateParameters

public void generateParameters(JvmExecutable it,
                               ITreeAppendable appendable)

generateParameter

public void generateParameter(JvmFormalParameter it,
                              ITreeAppendable appendable,
                              boolean vararg)

generateExecutableBody

public void generateExecutableBody(JvmExecutable op,
                                   ITreeAppendable appendable)

generateJavaDoc

public void generateJavaDoc(org.eclipse.emf.ecore.EObject it,
                            ITreeAppendable appendable)

generateAnnotations

public void generateAnnotations(JvmAnnotationTarget it,
                                ITreeAppendable appendable,
                                boolean withLineBreak)

generateAnnotations

public void generateAnnotations(JvmAnnotationAnnotationValue it,
                                ITreeAppendable appendable,
                                boolean withLineBreak)

generateAnnotation

public void generateAnnotation(JvmAnnotationReference it,
                               ITreeAppendable appendable)

toJava

public void toJava(JvmAnnotationValue it,
                   ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmAnnotationAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmShortAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmIntAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmLongAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmByteAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmDoubleAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmFloatAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmCharAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmStringAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmTypeAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmEnumAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmBooleanAnnotationValue it,
                              ITreeAppendable appendable)

_toJavaLiteral

protected void _toJavaLiteral(JvmCustomAnnotationValue it,
                              ITreeAppendable appendable)

serialize

public void serialize(JvmTypeReference it,
                      ITreeAppendable appendable)

createAppendable

public TreeAppendable createAppendable(org.eclipse.emf.ecore.EObject context,
                                       ImportManager importManager)

containerType

public JvmGenericType containerType(org.eclipse.emf.ecore.EObject context)

makeJavaIdentifier

protected java.lang.String makeJavaIdentifier(java.lang.String name)

internalDoGenerate

public void internalDoGenerate(org.eclipse.emf.ecore.EObject type,
                               IFileSystemAccess fsa)

generateBody

public ITreeAppendable generateBody(JvmDeclaredType it,
                                    ITreeAppendable appendable)

generateModifier

public ITreeAppendable generateModifier(JvmMember it,
                                        ITreeAppendable appendable)

generateMember

public boolean generateMember(JvmMember it,
                              ITreeAppendable appendable,
                              boolean first)

toJavaLiteral

public void toJavaLiteral(JvmAnnotationValue it,
                          ITreeAppendable appendable)