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

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

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

Types.substBounds介绍

暂无

代码示例

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

@Override
public Type visitForAll(ForAll t, Void ignored) {
  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

@Override
public Type visitForAll(ForAll t, Void ignored) {
  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.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: org.kohsuke.sorcerer/sorcerer-javac

List<Type> tvars_cap = types.substBounds(formals,
             formals,
             types.capture(type).allparams());

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

List<Type> tvars_cap = types.substBounds(formals,
             formals,
             types.capture(type).allparams());

相关文章

微信公众号

最新文章

更多

Types类方法