third_party/closure-compiler/src/src/com/google/javascript/rhino/jstype/JSType.java
/**
   * Prepends the template type map associated with this type, merging in the keys and values of the
   * specified map.
   */
Prepends the template type map associated with this type, merging in the keys and values of the
specified map.
Prepends the template type map associated with this type merging in the keys and values of the specified map .
public void mergeSupertypeTemplateTypes(ObjectType other) {
    if (other.isRawTypeOfTemplatizedType()) {
      other = registry.createTemplatizedType(other, ImmutableList.of());
    }
    templateTypeMap = other.getTemplateTypeMap().copyWithExtension(this.getTemplateTypeMap());
  }
public void mergeSupertypeTemplateTypes ( ObjectType other ) { if ( other . isRawTypeOfTemplatizedType ( ) ) { other = registry . createTemplatizedType ( other , ImmutableList . of ( ) ) ; } templateTypeMap = other . getTemplateTypeMap ( ) . copyWithExtension ( this . getTemplateTypeMap ( ) ) ; }
Prepends the template type map associated with this type, merging in the keys and values of the
 specified map.
Prepends the template type map associated with this type merging in the keys and values of the specified map .
// Before a type can be prepended it needs to be fully specialized. This can happen, for // example, when type arguments are not specified in an `@extends` annotation.