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

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

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

Types.giveWarning介绍

暂无

代码示例

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

private boolean sideCastFinal(Type from, Type to, Warner warn) {
  // We are casting from type $from$ to type $to$, which are
  // unrelated types one of which is final and the other of
  // which is an interface.  This method
  // tries to reject a cast by transferring type parameters
  // from the final class to the interface.
  boolean reverse = false;
  Type target = to;
  if ((to.tsym.flags() & INTERFACE) == 0) {
    assert (from.tsym.flags() & INTERFACE) != 0;
    reverse = true;
    to = from;
    from = target;
  }
  assert (from.tsym.flags() & FINAL) != 0;
  Type t1 = asSuper(from, to.tsym);
  if (t1 == null) return false;
  Type t2 = to;
  if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
    return false;
  if (!source.allowCovariantReturns())
    // reject if there is a common method signature with
    // incompatible return types.
    chk.checkCompatibleAbstracts(warn.pos(), from, to);
  if (!isReifiable(target) &&
    (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2)))
    warn.warnUnchecked();
  return true;
}

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

private boolean sideCastFinal(Type from, Type to, Warner warn) {
  // We are casting from type $from$ to type $to$, which are
  // unrelated types one of which is final and the other of
  // which is an interface.  This method
  // tries to reject a cast by transferring type parameters
  // from the final class to the interface.
  boolean reverse = false;
  Type target = to;
  if ((to.tsym.flags() & INTERFACE) == 0) {
    assert (from.tsym.flags() & INTERFACE) != 0;
    reverse = true;
    to = from;
    from = target;
  }
  assert (from.tsym.flags() & FINAL) != 0;
  Type t1 = asSuper(from, to.tsym);
  if (t1 == null) return false;
  Type t2 = to;
  if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
    return false;
  if (!source.allowCovariantReturns())
    // reject if there is a common method signature with
    // incompatible return types.
    chk.checkCompatibleAbstracts(warn.pos(), from, to);
  if (!isReifiable(target) &&
    (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2)))
    warn.warnUnchecked();
  return true;
}

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

private boolean sideCastFinal(Type from, Type to, Warner warn) {
  // We are casting from type $from$ to type $to$, which are
  // unrelated types one of which is final and the other of
  // which is an interface.  This method
  // tries to reject a cast by transferring type parameters
  // from the final class to the interface.
  boolean reverse = false;
  Type target = to;
  if ((to.tsym.flags() & INTERFACE) == 0) {
    Assert.check((from.tsym.flags() & INTERFACE) != 0);
    reverse = true;
    to = from;
    from = target;
  }
  Assert.check((from.tsym.flags() & FINAL) != 0);
  Type t1 = asSuper(from, to.tsym);
  if (t1 == null) return false;
  Type t2 = to;
  if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
    return false;
  if (!allowCovariantReturns)
    // reject if there is a common method signature with
    // incompatible return types.
    chk.checkCompatibleAbstracts(warn.pos(), from, to);
  if (!isReifiable(target) &&
    (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2)))
    warn.warn(LintCategory.UNCHECKED);
  return true;
}

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

private boolean sideCastFinal(Type from, Type to, Warner warn) {
  // We are casting from type $from$ to type $to$, which are
  // unrelated types one of which is final and the other of
  // which is an interface.  This method
  // tries to reject a cast by transferring type parameters
  // from the final class to the interface.
  boolean reverse = false;
  Type target = to;
  if ((to.tsym.flags() & INTERFACE) == 0) {
    Assert.check((from.tsym.flags() & INTERFACE) != 0);
    reverse = true;
    to = from;
    from = target;
  }
  Assert.check((from.tsym.flags() & FINAL) != 0);
  Type t1 = asSuper(from, to.tsym);
  if (t1 == null) return false;
  Type t2 = to;
  if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
    return false;
  if (!allowCovariantReturns)
    // reject if there is a common method signature with
    // incompatible return types.
    chk.checkCompatibleAbstracts(warn.pos(), from, to);
  if (!isReifiable(target) &&
    (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2)))
    warn.warn(LintCategory.UNCHECKED);
  return true;
}

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

giveWarning = giveWarning || (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2));
commonSupers = commonSupers.tail;

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

giveWarning = giveWarning || (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2));
commonSupers = commonSupers.tail;

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

giveWarning = giveWarning || (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2));
commonSupers = commonSupers.tail;

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

giveWarning = giveWarning || (reverse ? giveWarning(t2, t1) : giveWarning(t1, t2));
commonSupers = commonSupers.tail;

相关文章

Types类方法