@Override
public JSType getInstantiatedTypeArgument(TypeI supertype) {
RawNominalType rawType =
((JSType) supertype).getNominalTypeIfSingletonObj().getRawNominalType();
List<String> typeParameters = rawType.getTypeParameters();
checkState(typeParameters.size() == 1);
String param = typeParameters.get(0);
Map<String, JSType> typeMap = new LinkedHashMap<>();
typeMap.put(param, JSType.fromTypeVar(this.commonTypes, param));
JSType reinstantiated = rawType.getInstanceAsJSType().substituteGenerics(typeMap);
Multimap<String, JSType> typeMultimap = LinkedHashMultimap.create();
reinstantiated.unifyWith(this, typeParameters, typeMultimap);
return joinManyTypes(this.commonTypes, typeMultimap.get(param));
}
JSType.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:closure-compiler
作者:
评论列表
文章目录