com.sun.tools.javac.code.Types.newInstances()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(2.5k)|赞(0)|评价(0)|浏览(142)

本文整理了Java中com.sun.tools.javac.code.Types.newInstances()方法的一些代码示例,展示了Types.newInstances()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Types.newInstances()方法的具体详情如下:
包路径:com.sun.tools.javac.code.Types
类名称:Types
方法名:newInstances

Types.newInstances介绍

[英]Create new vector of type variables from list of variables changing all recursive bounds from old to new list.
[中]从变量列表中创建类型变量的新向量,将所有递归边界从旧列表更改为新列表。

代码示例

代码示例来源:origin: org.kohsuke.sorcerer/sorcerer-javac

@Override
public Type visitForAll(ForAll t, Void ignored) {
  if (Type.containsAny(to, t.tvars)) {
    //perform alpha-renaming of free-variables in 't'
    //if 'to' types contain variables that are free in 't'
    List<Type> freevars = newInstances(t.tvars);
    t = new ForAll(freevars,
        Types.this.subst(t.qtype, t.tvars, freevars));
  }
  List<Type> tvars1 = substBounds(t.tvars, from, to);
  Type qtype1 = subst(t.qtype);
  if (tvars1 == t.tvars && qtype1 == t.qtype) {
    return t;
  } else if (tvars1 == t.tvars) {
    return new ForAll(tvars1, qtype1);
  } else {
    return new ForAll(tvars1, Types.this.subst(qtype1, t.tvars, tvars1));
  }
}

代码示例来源:origin: konsoletyper/teavm-javac

@Override
public Type visitForAll(ForAll t, Void ignored) {
  if (Type.containsAny(to, t.tvars)) {
    //perform alpha-renaming of free-variables in 't'
    //if 'to' types contain variables that are free in 't'
    List<Type> freevars = newInstances(t.tvars);
    t = new ForAll(freevars,
        Types.this.subst(t.qtype, t.tvars, freevars));
  }
  List<Type> tvars1 = substBounds(t.tvars, from, to);
  Type qtype1 = subst(t.qtype);
  if (tvars1 == t.tvars && qtype1 == t.qtype) {
    return t;
  } else if (tvars1 == t.tvars) {
    return new ForAll(tvars1, qtype1);
  } else {
    return new ForAll(tvars1, Types.this.subst(qtype1, t.tvars, tvars1));
  }
}

代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac

} else if (mt.tag == FORALL) {
  ForAll pmt = (ForAll) mt;
  List<Type> tvars1 = types.newInstances(pmt.tvars);
  tvars = tvars.appendList(tvars1);
  mt = types.subst(pmt.qtype, pmt.tvars, tvars1);

代码示例来源:origin: sc.fiji/javac

} else if (mt.tag == FORALL) {
  ForAll pmt = (ForAll) mt;
  List<Type> tvars1 = types.newInstances(pmt.tvars);
  tvars = tvars.appendList(tvars1);
  mt = types.subst(pmt.qtype, pmt.tvars, tvars1);

代码示例来源:origin: org.kohsuke.sorcerer/sorcerer-javac

} else if (mt.hasTag(FORALL)) {
  ForAll pmt = (ForAll) mt;
  List<Type> tvars1 = types.newInstances(pmt.tvars);
  tvars = tvars.appendList(tvars1);
  mt = types.subst(pmt.qtype, pmt.tvars, tvars1);

代码示例来源:origin: konsoletyper/teavm-javac

} else if (mt.hasTag(FORALL)) {
  ForAll pmt = (ForAll) mt;
  List<Type> tvars1 = types.newInstances(pmt.tvars);
  tvars = tvars.appendList(tvars1);
  mt = types.subst(pmt.qtype, pmt.tvars, tvars1);

相关文章

Types类方法