public class TemplateTypeMapReplacer extends ModificationVisitor
| Modifier and Type | Field and Description |
|---|---|
private TemplateTypeMap |
replacements |
private ArrayDeque<TemplateType> |
visitedTypes |
| Constructor and Description |
|---|
TemplateTypeMapReplacer(JSTypeRegistry registry,
TemplateTypeMap replacements) |
| Modifier and Type | Method and Description |
|---|---|
JSType |
caseTemplateType(TemplateType type)
Template type's case.
|
private boolean |
hasVisitedType(TemplateType type)
Checks if the specified type has already been visited during the Visitor's
traversal of a JSType.
|
private boolean |
isRecursive(TemplateType currentType,
JSType replacementType)
Returns whether the replacement type is a templatized type which contains the current type.
|
private boolean |
isSameType(TemplateType currentType,
TemplateType replacementType) |
caseAllType, caseBooleanType, caseEnumElementType, caseFunctionType, caseNamedType, caseNoObjectType, caseNoType, caseNullType, caseNumberType, caseObjectType, caseProxyObjectType, caseStringType, caseTemplatizedType, caseUnionType, caseUnknownType, caseVoidTypeprivate final TemplateTypeMap replacements
private ArrayDeque<TemplateType> visitedTypes
public TemplateTypeMapReplacer(JSTypeRegistry registry, TemplateTypeMap replacements)
public JSType caseTemplateType(TemplateType type)
VisitorcaseTemplateType in interface Visitor<JSType>caseTemplateType in class ModificationVisitorprivate boolean isRecursive(TemplateType currentType, JSType replacementType)
private boolean isSameType(TemplateType currentType, TemplateType replacementType)
private boolean hasVisitedType(TemplateType type)