org.eclipse.xtext.common.types.util
Class TypeConformanceStrategySelector

java.lang.Object
  extended by org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter<Parameter,Result>
      extended by org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<T>,TypeConformanceResult>
          extended by org.eclipse.xtext.common.types.util.AbstractConformanceVisitor<JvmTypeReference>
              extended by org.eclipse.xtext.common.types.util.TypeConformanceStrategySelector
All Implemented Interfaces:
ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

public class TypeConformanceStrategySelector
extends AbstractConformanceVisitor<JvmTypeReference>

Author:
Sebastian Zarnekow - Initial contribution and API

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter
AbstractTypeReferenceVisitorWithParameter.InheritanceAware<Parameter,Result>
 
Constructor Summary
TypeConformanceStrategySelector(TypeConformanceComputer typeConformanceComputer)
           
 
Method Summary
protected
<T extends JvmTypeReference>
TypeConformanceComputationArgument.Internal<T>
copyArgument(T t, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
protected  TypeConformanceStrategy<JvmAnyTypeReference> createAnyTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmGenericArrayTypeReference> createGenericArrayTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmMultiTypeReference> createMultiTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmParameterizedTypeReference> createParameterizedTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmSynonymTypeReference> createSynonymTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmUnknownTypeReference> createUnknownTypeDispatcher()
           
protected  TypeConformanceStrategy<JvmWildcardTypeReference> createWildcardTypeDispatcher()
           
 TypeConformanceResult doVisitAnyTypeReference(JvmAnyTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitMultiTypeReference(JvmMultiTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitParameterizedTypeReference(JvmParameterizedTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitSynonymTypeReference(JvmSynonymTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitUnknownTypeReference(JvmUnknownTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 TypeConformanceResult doVisitWildcardTypeReference(JvmWildcardTypeReference reference, TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
           
 
Methods inherited from class org.eclipse.xtext.common.types.util.AbstractConformanceVisitor
handleNullReference
 
Methods inherited from class org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter.InheritanceAware
doVisitCompoundTypeReference, doVisitTypeReference
 
Methods inherited from class org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter
doVisitDelegateTypeReference, doVisitSpecializedTypeReference, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeConformanceStrategySelector

public TypeConformanceStrategySelector(TypeConformanceComputer typeConformanceComputer)
Method Detail

copyArgument

protected <T extends JvmTypeReference> TypeConformanceComputationArgument.Internal<T> copyArgument(T t,
                                                                                                   TypeConformanceComputationArgument.Internal<JvmTypeReference> param)

doVisitAnyTypeReference

public TypeConformanceResult doVisitAnyTypeReference(JvmAnyTypeReference reference,
                                                     TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitAnyTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitAnyTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitGenericArrayTypeReference

public TypeConformanceResult doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference,
                                                              TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitGenericArrayTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitGenericArrayTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitMultiTypeReference

public TypeConformanceResult doVisitMultiTypeReference(JvmMultiTypeReference reference,
                                                       TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitMultiTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitMultiTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitParameterizedTypeReference

public TypeConformanceResult doVisitParameterizedTypeReference(JvmParameterizedTypeReference reference,
                                                               TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitParameterizedTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitParameterizedTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitSynonymTypeReference

public TypeConformanceResult doVisitSynonymTypeReference(JvmSynonymTypeReference reference,
                                                         TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitSynonymTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitSynonymTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitUnknownTypeReference

public TypeConformanceResult doVisitUnknownTypeReference(JvmUnknownTypeReference reference,
                                                         TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitUnknownTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitUnknownTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

doVisitWildcardTypeReference

public TypeConformanceResult doVisitWildcardTypeReference(JvmWildcardTypeReference reference,
                                                          TypeConformanceComputationArgument.Internal<JvmTypeReference> param)
Specified by:
doVisitWildcardTypeReference in interface ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>
Overrides:
doVisitWildcardTypeReference in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<JvmTypeReference>,TypeConformanceResult>

createAnyTypeDispatcher

protected TypeConformanceStrategy<JvmAnyTypeReference> createAnyTypeDispatcher()

createGenericArrayTypeDispatcher

protected TypeConformanceStrategy<JvmGenericArrayTypeReference> createGenericArrayTypeDispatcher()

createMultiTypeDispatcher

protected TypeConformanceStrategy<JvmMultiTypeReference> createMultiTypeDispatcher()

createParameterizedTypeDispatcher

protected TypeConformanceStrategy<JvmParameterizedTypeReference> createParameterizedTypeDispatcher()

createSynonymTypeDispatcher

protected TypeConformanceStrategy<JvmSynonymTypeReference> createSynonymTypeDispatcher()

createUnknownTypeDispatcher

protected TypeConformanceStrategy<JvmUnknownTypeReference> createUnknownTypeDispatcher()

createWildcardTypeDispatcher

protected TypeConformanceStrategy<JvmWildcardTypeReference> createWildcardTypeDispatcher()