org.eclipse.xtext.xbase.typesystem.util
Class AbstractTypeReferencePairWalker
java.lang.Object
org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter<Parameter,Result>
org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter.InheritanceAware<Parameter,Result>
org.eclipse.xtext.xtype.util.AbstractXtypeReferenceVisitorWithParameter<Reference,java.lang.Void>
org.eclipse.xtext.xbase.typesystem.util.AbstractTypeReferenceTraverser<JvmTypeReference>
org.eclipse.xtext.xbase.typesystem.util.AbstractTypeReferencePairWalker
- All Implemented Interfaces:
- ITypeReferenceVisitorWithParameter<JvmTypeReference,java.lang.Void>, XtypeReferenceVisitorWithParameter<JvmTypeReference,java.lang.Void>
- Direct Known Subclasses:
- ActualTypeArgumentCollector
public abstract class AbstractTypeReferencePairWalker
- extends AbstractTypeReferenceTraverser<JvmTypeReference>
- Author:
- Sebastian Zarnekow - Initial contribution and API
TODO JavaDoc, toString implementation
Method Summary |
protected AbstractTypeReferencePairWalker.ArrayTypeReferenceTraverser |
createArrayTypeReferenceTraverser()
|
protected AbstractTypeReferencePairWalker.ParameterizedTypeReferenceTraverser |
createParameterizedTypeReferenceTraverser()
|
protected TypeParameterSubstitutor |
createTypeParameterSubstitutor(java.util.Map<JvmTypeParameter,JvmTypeReference> mapping)
|
protected AbstractTypeReferencePairWalker.WildcardTypeReferenceTraverser |
createWildcardTypeReferenceTraverser()
|
java.lang.Void |
doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference declaredReference,
JvmTypeReference param)
|
java.lang.Void |
doVisitParameterizedTypeReference(JvmParameterizedTypeReference declaredReference,
JvmTypeReference param)
|
java.lang.Void |
doVisitWildcardTypeReference(JvmWildcardTypeReference declaredReference,
JvmTypeReference param)
|
protected JvmTypeParameter |
findMappedParameter(JvmTypeParameter parameter,
java.util.Map<JvmTypeParameter,JvmTypeReference> mapping,
java.util.Collection<JvmTypeParameter> visited)
|
protected VarianceInfo |
getActualVariance()
|
protected VarianceInfo |
getExpectedVariance()
|
protected java.lang.Object |
getOrigin()
|
protected CommonTypeComputationServices |
getServices()
|
protected java.lang.Void |
outerVisit(JvmTypeReference reference,
JvmTypeReference parameter)
|
protected java.lang.Void |
outerVisit(JvmTypeReference reference,
JvmTypeReference parameter,
java.lang.Object origin,
VarianceInfo expectedVariance,
VarianceInfo actualVariance)
|
void |
processPairedReferences(JvmTypeReference declaredType,
JvmTypeReference actualType)
|
protected void |
processTypeParameter(JvmTypeParameter typeParameter,
JvmTypeReference reference)
|
protected boolean |
shouldProcess(JvmTypeParameter type)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractTypeReferencePairWalker
protected AbstractTypeReferencePairWalker(CommonTypeComputationServices services)
processTypeParameter
protected void processTypeParameter(JvmTypeParameter typeParameter,
JvmTypeReference reference)
shouldProcess
protected boolean shouldProcess(JvmTypeParameter type)
createArrayTypeReferenceTraverser
protected AbstractTypeReferencePairWalker.ArrayTypeReferenceTraverser createArrayTypeReferenceTraverser()
createWildcardTypeReferenceTraverser
protected AbstractTypeReferencePairWalker.WildcardTypeReferenceTraverser createWildcardTypeReferenceTraverser()
createParameterizedTypeReferenceTraverser
protected AbstractTypeReferencePairWalker.ParameterizedTypeReferenceTraverser createParameterizedTypeReferenceTraverser()
doVisitParameterizedTypeReference
public java.lang.Void doVisitParameterizedTypeReference(JvmParameterizedTypeReference declaredReference,
JvmTypeReference param)
- Specified by:
doVisitParameterizedTypeReference
in interface ITypeReferenceVisitorWithParameter<JvmTypeReference,java.lang.Void>
- Overrides:
doVisitParameterizedTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<JvmTypeReference,java.lang.Void>
doVisitWildcardTypeReference
public java.lang.Void doVisitWildcardTypeReference(JvmWildcardTypeReference declaredReference,
JvmTypeReference param)
- Specified by:
doVisitWildcardTypeReference
in interface ITypeReferenceVisitorWithParameter<JvmTypeReference,java.lang.Void>
- Overrides:
doVisitWildcardTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<JvmTypeReference,java.lang.Void>
doVisitGenericArrayTypeReference
public java.lang.Void doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference declaredReference,
JvmTypeReference param)
- Specified by:
doVisitGenericArrayTypeReference
in interface ITypeReferenceVisitorWithParameter<JvmTypeReference,java.lang.Void>
- Overrides:
doVisitGenericArrayTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<JvmTypeReference,java.lang.Void>
outerVisit
protected java.lang.Void outerVisit(JvmTypeReference reference,
JvmTypeReference parameter,
java.lang.Object origin,
VarianceInfo expectedVariance,
VarianceInfo actualVariance)
outerVisit
protected java.lang.Void outerVisit(JvmTypeReference reference,
JvmTypeReference parameter)
processPairedReferences
public void processPairedReferences(JvmTypeReference declaredType,
JvmTypeReference actualType)
getServices
protected CommonTypeComputationServices getServices()
getActualVariance
protected VarianceInfo getActualVariance()
getExpectedVariance
protected VarianceInfo getExpectedVariance()
getOrigin
protected java.lang.Object getOrigin()
createTypeParameterSubstitutor
protected TypeParameterSubstitutor createTypeParameterSubstitutor(java.util.Map<JvmTypeParameter,JvmTypeReference> mapping)
findMappedParameter
protected JvmTypeParameter findMappedParameter(JvmTypeParameter parameter,
java.util.Map<JvmTypeParameter,JvmTypeReference> mapping,
java.util.Collection<JvmTypeParameter> visited)