org.eclipse.xtext.xbase.typesystem.internal
Class LogicalContainerAwareReentrantTypeResolver

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver
      extended by org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver
All Implemented Interfaces:
IReentrantTypeResolver

public class LogicalContainerAwareReentrantTypeResolver
extends DefaultReentrantTypeResolver

Author:
Sebastian Zarnekow - Initial contribution and API TODO JavaDoc, toString

Nested Class Summary
static class LogicalContainerAwareReentrantTypeResolver.DemandTypeReferenceProvider
           
 
Constructor Summary
LogicalContainerAwareReentrantTypeResolver()
           
 
Method Summary
protected  void _computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmConstructor constructor)
           
protected  void _computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type)
           
protected  void _computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmField field)
           
protected  void _computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmOperation operation)
           
protected  void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type)
           
protected  void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmField field)
           
protected  void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmOperation operation)
           
protected  void _doPrepare(ResolvedTypes resolvedTypes, JvmConstructor constructor)
           
protected  IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session, JvmDeclaredType type)
           
protected  IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session, JvmDeclaredType thisType, JvmTypeReference superType)
           
protected  void computeAnnotationTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmAnnotationTarget annotable)
           
protected  void computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession session)
           
protected  void computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, org.eclipse.emf.ecore.EObject element)
           
protected  JvmTypeReference createComputedTypeReference(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmMember member)
           
protected  IJvmTypeReferenceProvider createTypeProvider(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmMember member)
           
protected  void doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmIdentifiableElement element)
           
protected  JvmTypeReference getComputedType(JvmMember member)
           
 JvmTypeReference getExtendedClass(JvmDeclaredType type)
           
protected  ILogicalContainerProvider getLogicalContainerProvider()
           
protected  JvmType getRoot()
           
 void initializeFrom(org.eclipse.emf.ecore.EObject root)
           
protected  void prepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession)
          Assign computed type references to the identifiable structural elements in the processed type.
protected  void processResult(ResolvedTypes resolvedTypes)
           
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver
_computeTypes, createTypeParameterSubstitutor, getBatchScopeProvider, getScopeProviderAccess, getServices, getTypeArgumentMerger, getTypeComputer, reentrantResolve, resolve, setTypeComputer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogicalContainerAwareReentrantTypeResolver

public LogicalContainerAwareReentrantTypeResolver()
Method Detail

initializeFrom

public void initializeFrom(@NonNull
                           org.eclipse.emf.ecore.EObject root)
Specified by:
initializeFrom in interface IReentrantTypeResolver
Overrides:
initializeFrom in class DefaultReentrantTypeResolver

getRoot

protected JvmType getRoot()
Overrides:
getRoot in class DefaultReentrantTypeResolver

getComputedType

protected JvmTypeReference getComputedType(JvmMember member)

prepare

protected void prepare(ResolvedTypes resolvedTypes,
                       IFeatureScopeSession featureScopeSession)
Assign computed type references to the identifiable structural elements in the processed type.


doPrepare

protected void doPrepare(ResolvedTypes resolvedTypes,
                         IFeatureScopeSession featureScopeSession,
                         JvmIdentifiableElement element)

_doPrepare

protected void _doPrepare(ResolvedTypes resolvedTypes,
                          IFeatureScopeSession featureScopeSession,
                          JvmDeclaredType type)

_doPrepare

protected void _doPrepare(ResolvedTypes resolvedTypes,
                          IFeatureScopeSession featureScopeSession,
                          JvmField field)

_doPrepare

protected void _doPrepare(ResolvedTypes resolvedTypes,
                          JvmConstructor constructor)

_doPrepare

protected void _doPrepare(ResolvedTypes resolvedTypes,
                          IFeatureScopeSession featureScopeSession,
                          JvmOperation operation)

createComputedTypeReference

protected JvmTypeReference createComputedTypeReference(ResolvedTypes resolvedTypes,
                                                       IFeatureScopeSession featureScopeSession,
                                                       JvmMember member)

createTypeProvider

protected IJvmTypeReferenceProvider createTypeProvider(ResolvedTypes resolvedTypes,
                                                       IFeatureScopeSession featureScopeSession,
                                                       JvmMember member)

computeTypes

protected void computeTypes(ResolvedTypes resolvedTypes,
                            IFeatureScopeSession session)
Overrides:
computeTypes in class DefaultReentrantTypeResolver

computeTypes

protected void computeTypes(ResolvedTypes resolvedTypes,
                            IFeatureScopeSession featureScopeSession,
                            org.eclipse.emf.ecore.EObject element)
Overrides:
computeTypes in class DefaultReentrantTypeResolver

_computeTypes

protected void _computeTypes(ResolvedTypes resolvedTypes,
                             IFeatureScopeSession featureScopeSession,
                             JvmField field)

_computeTypes

protected void _computeTypes(ResolvedTypes resolvedTypes,
                             IFeatureScopeSession featureScopeSession,
                             JvmConstructor constructor)

_computeTypes

protected void _computeTypes(ResolvedTypes resolvedTypes,
                             IFeatureScopeSession featureScopeSession,
                             JvmOperation operation)

computeAnnotationTypes

protected void computeAnnotationTypes(ResolvedTypes resolvedTypes,
                                      IFeatureScopeSession featureScopeSession,
                                      JvmAnnotationTarget annotable)

_computeTypes

protected void _computeTypes(ResolvedTypes resolvedTypes,
                             IFeatureScopeSession featureScopeSession,
                             JvmDeclaredType type)

addThisAndSuper

protected IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session,
                                               JvmDeclaredType type)

addThisAndSuper

protected IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session,
                                               JvmDeclaredType thisType,
                                               JvmTypeReference superType)

getExtendedClass

public JvmTypeReference getExtendedClass(JvmDeclaredType type)

processResult

protected void processResult(ResolvedTypes resolvedTypes)

getLogicalContainerProvider

protected ILogicalContainerProvider getLogicalContainerProvider()