org.eclipse.xtext.xtend2.jvmmodel
Class Xtend2JvmModelInferrer

java.lang.Object
  extended by org.eclipse.xtext.xtend2.jvmmodel.Xtend2JvmModelInferrer
All Implemented Interfaces:
IJvmModelInferrer

public class Xtend2JvmModelInferrer
extends java.lang.Object
implements IJvmModelInferrer

Author:
Jan Koehnlein - Initial contribution and API

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer
IJvmModelInferrer.NullImpl
 
Field Summary
protected  TypesFactory typesFactory
           
 
Constructor Summary
Xtend2JvmModelInferrer()
           
 
Method Summary
protected  void addConstructor(XtendClass source, JvmGenericType target)
           
protected  void appendSyntheticDispatchMethods(XtendClass source, JvmGenericType target)
           
protected  void computeInferredReturnTypes(JvmGenericType inferredJvmType)
           
protected  JvmOperation deriveGenericDispatchOperationSignature(java.util.Collection<JvmOperation> operations, JvmGenericType target)
           
protected  JvmTypeReference getTypeProxy(org.eclipse.emf.ecore.EObject pointer)
           
 java.util.List<? extends JvmDeclaredType> inferJvmModel(org.eclipse.emf.ecore.EObject xtendFile)
          Returns the list of inferred declared types for a given source object.
protected  JvmGenericType transform(XtendClass source)
           
protected  JvmMember transform(XtendMember sourceMember, JvmGenericType container)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

typesFactory

@Inject
protected TypesFactory typesFactory
Constructor Detail

Xtend2JvmModelInferrer

public Xtend2JvmModelInferrer()
Method Detail

inferJvmModel

public java.util.List<? extends JvmDeclaredType> inferJvmModel(org.eclipse.emf.ecore.EObject xtendFile)
Description copied from interface: IJvmModelInferrer
Returns the list of inferred declared types for a given source object.

Specified by:
inferJvmModel in interface IJvmModelInferrer
Returns:
the list of inferred types. May not be null.

transform

protected JvmGenericType transform(XtendClass source)

appendSyntheticDispatchMethods

protected void appendSyntheticDispatchMethods(XtendClass source,
                                              JvmGenericType target)

deriveGenericDispatchOperationSignature

protected JvmOperation deriveGenericDispatchOperationSignature(java.util.Collection<JvmOperation> operations,
                                                               JvmGenericType target)
Returns:
a JvmOperation with common denominator argument types of all given operations

addConstructor

protected void addConstructor(XtendClass source,
                              JvmGenericType target)

transform

protected JvmMember transform(XtendMember sourceMember,
                              JvmGenericType container)

computeInferredReturnTypes

protected void computeInferredReturnTypes(JvmGenericType inferredJvmType)

getTypeProxy

protected JvmTypeReference getTypeProxy(org.eclipse.emf.ecore.EObject pointer)