JSType.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:closure-compiler 作者:
@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));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号