public class ActualTypeArgumentCollector extends AbstractTypeReferencePairWalker
Modifier and Type | Class and Description |
---|---|
protected class |
ActualTypeArgumentCollector.ActualParameterizedTypeReferenceTraverser |
AbstractTypeReferencePairWalker.ArrayTypeReferenceTraverser, AbstractTypeReferencePairWalker.CompoundTypeReferenceTraverser, AbstractTypeReferencePairWalker.ParameterizedTypeReferenceTraverser, AbstractTypeReferencePairWalker.UnboundTypeReferenceTraverser, AbstractTypeReferencePairWalker.WildcardTypeReferenceTraverser
Constructor and Description |
---|
ActualTypeArgumentCollector(java.util.Collection<JvmTypeParameter> parametersToBeMapped,
BoundTypeArgumentSource defaultSource,
ITypeReferenceOwner owner) |
createArrayTypeReferenceTraverser, createCompoundTypeReferenceTraverser, createTypeParameterSubstitutor, createUnboundTypeReferenceTraverser, createWildcardTypeReferenceTraverser, doVisitAnyTypeReference, doVisitArrayTypeReference, doVisitCompoundTypeReference, doVisitParameterizedTypeReference, doVisitUnboundTypeReference, doVisitUnknownTypeReference, doVisitWildcardTypeReference, findMappedParameter, getActualVariance, getExpectedVariance, getOrigin, getOwner, outerVisit, outerVisit
doVisitFunctionTypeReference, doVisitInnerFunctionTypeReference, doVisitInnerTypeReference, doVisitMultiTypeReference, doVisitSynonymTypeReference, doVisitTypeReference
public ActualTypeArgumentCollector(java.util.Collection<JvmTypeParameter> parametersToBeMapped, BoundTypeArgumentSource defaultSource, ITypeReferenceOwner owner)
public void populateTypeParameterMapping(LightweightTypeReference declaredType, LightweightTypeReference actualType)
protected LightweightBoundTypeArgument boundByConstraint(LightweightTypeReference reference, java.lang.Object origin)
protected BoundTypeArgumentSource getDefaultSource()
protected LightweightBoundTypeArgument boundByDefaultSource(LightweightTypeReference reference)
protected AbstractTypeReferencePairWalker.ParameterizedTypeReferenceTraverser createParameterizedTypeReferenceTraverser()
createParameterizedTypeReferenceTraverser
in class AbstractTypeReferencePairWalker
protected void processTypeParameter(JvmTypeParameter typeParameter, LightweightTypeReference reference)
processTypeParameter
in class AbstractTypeReferencePairWalker
typeParameter
- the to-be-processed type parameter.reference
- the reference that is bound to the given type parameter.public java.util.Map<JvmTypeParameter,java.util.List<LightweightBoundTypeArgument>> rawGetTypeParameterMapping()
protected java.util.Collection<JvmTypeParameter> getParametersToProcess()
protected boolean shouldProcess(JvmTypeParameter type)
AbstractTypeReferencePairWalker
shouldProcess
in class AbstractTypeReferencePairWalker
type
- the to-be-processed type parameter.true
.public void processPairedReferences(LightweightTypeReference declaredType, LightweightTypeReference actualType)
processPairedReferences
in class AbstractTypeReferencePairWalker
public java.util.Map<JvmTypeParameter,java.util.List<LightweightBoundTypeArgument>> getTypeParameterMapping()