org.eclipse.xtext.xbase.typesystem.util
Class TypeParameterSubstitutor
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<java.util.Set<JvmTypeParameter>,JvmTypeReference>
org.eclipse.xtext.xbase.typesystem.util.TypeParameterSubstitutor
- All Implemented Interfaces:
- ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>, XtypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Direct Known Subclasses:
- TypeParameterByConstraintSubstitutor, UnboundTypeParameterPreservingSubstitutor
public class TypeParameterSubstitutor
- extends AbstractXtypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Author:
- Sebastian Zarnekow - Initial contribution and API
TODO JavaDoc, toString
Method Summary |
JvmTypeReference |
doVisitAnyTypeReference(JvmAnyTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitFunctionTypeReference(XFunctionTypeRef reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitMultiTypeReference(JvmMultiTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitParameterizedTypeReference(JvmParameterizedTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitSynonymTypeReference(JvmSynonymTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitUnknownTypeReference(JvmUnknownTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
doVisitWildcardTypeReference(JvmWildcardTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
|
void |
enhanceMapping(java.util.Map<JvmTypeParameter,JvmTypeReference> typeParameterMapping)
|
protected CommonTypeComputationServices |
getServices()
|
protected java.util.Map<JvmTypeParameter,JvmTypeReference> |
getTypeParameterMapping()
|
protected JvmTypeReference |
handleNullReference(java.util.Set<JvmTypeParameter> visiting)
|
JvmTypeReference |
substitute(JvmTypeReference original)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TypeParameterSubstitutor
public TypeParameterSubstitutor(java.util.Map<JvmTypeParameter,JvmTypeReference> typeParameterMapping,
CommonTypeComputationServices services)
getTypeParameterMapping
protected java.util.Map<JvmTypeParameter,JvmTypeReference> getTypeParameterMapping()
getServices
protected CommonTypeComputationServices getServices()
handleNullReference
protected JvmTypeReference handleNullReference(java.util.Set<JvmTypeParameter> visiting)
- Overrides:
handleNullReference
in class AbstractTypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
enhanceMapping
public void enhanceMapping(java.util.Map<JvmTypeParameter,JvmTypeReference> typeParameterMapping)
doVisitFunctionTypeReference
public JvmTypeReference doVisitFunctionTypeReference(XFunctionTypeRef reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitFunctionTypeReference
in interface XtypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitFunctionTypeReference
in class AbstractXtypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitParameterizedTypeReference
public JvmTypeReference doVisitParameterizedTypeReference(JvmParameterizedTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitParameterizedTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitParameterizedTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitWildcardTypeReference
public JvmTypeReference doVisitWildcardTypeReference(JvmWildcardTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitWildcardTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitWildcardTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitGenericArrayTypeReference
public JvmTypeReference doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitGenericArrayTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitGenericArrayTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitAnyTypeReference
public JvmTypeReference doVisitAnyTypeReference(JvmAnyTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitAnyTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitAnyTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitMultiTypeReference
public JvmTypeReference doVisitMultiTypeReference(JvmMultiTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitMultiTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitMultiTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitSynonymTypeReference
public JvmTypeReference doVisitSynonymTypeReference(JvmSynonymTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitSynonymTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitSynonymTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
doVisitUnknownTypeReference
public JvmTypeReference doVisitUnknownTypeReference(JvmUnknownTypeReference reference,
java.util.Set<JvmTypeParameter> visiting)
- Specified by:
doVisitUnknownTypeReference
in interface ITypeReferenceVisitorWithParameter<java.util.Set<JvmTypeParameter>,JvmTypeReference>
- Overrides:
doVisitUnknownTypeReference
in class AbstractTypeReferenceVisitorWithParameter.InheritanceAware<java.util.Set<JvmTypeParameter>,JvmTypeReference>
substitute
public JvmTypeReference substitute(JvmTypeReference original)