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

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

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

Types.relaxBound介绍

暂无

代码示例

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

/**
 * This relation answers the question: is impossible that
 * something of type `t' can be a subtype of `s'? This is
 * different from the question "is `t' not a subtype of `s'?"
 * when type variables are involved: Integer is not a subtype of T
 * where {@code <T extends Number>} but it is not true that Integer cannot
 * possibly be a subtype of T.
 */
public boolean notSoftSubtype(Type t, Type s) {
  if (t == s) return false;
  if (t.hasTag(TYPEVAR)) {
    TypeVar tv = (TypeVar) t;
    return !isCastable(tv.bound,
              relaxBound(s),
              noWarnings);
  }
  if (!s.hasTag(WILDCARD))
    s = upperBound(s);
  return !isSubtype(t, relaxBound(s));
}

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

/**
 * This relation answers the question: is impossible that
 * something of type `t' can be a subtype of `s'? This is
 * different from the question "is `t' not a subtype of `s'?"
 * when type variables are involved: Integer is not a subtype of T
 * where {@code <T extends Number>} but it is not true that Integer cannot
 * possibly be a subtype of T.
 */
public boolean notSoftSubtype(Type t, Type s) {
  if (t == s) return false;
  if (t.hasTag(TYPEVAR)) {
    TypeVar tv = (TypeVar) t;
    return !isCastable(tv.bound,
              relaxBound(s),
              noWarnings);
  }
  if (!s.hasTag(WILDCARD))
    s = cvarUpperBound(s);
  return !isSubtype(t, relaxBound(s));
}

相关文章

微信公众号

最新文章

更多

Types类方法