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

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

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

Types.isDerivedRaw介绍

暂无

代码示例

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

public boolean isDerivedRaw(List<Type> ts) {
  List<Type> l = ts;
  while (l.nonEmpty() && !isDerivedRaw(l.head)) l = l.tail;
  return l.nonEmpty();
}
// </editor-fold>

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

public boolean isDerivedRaw(List<Type> ts) {
  List<Type> l = ts;
  while (l.nonEmpty() && !isDerivedRaw(l.head)) l = l.tail;
  return l.nonEmpty();
}
// </editor-fold>

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

public boolean isDerivedRaw(List<Type> ts) {
  List<Type> l = ts;
  while (l.nonEmpty() && !isDerivedRaw(l.head)) l = l.tail;
  return l.nonEmpty();
}
// </editor-fold>

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

public boolean isDerivedRaw(List<Type> ts) {
  List<Type> l = ts;
  while (l.nonEmpty() && !isDerivedRaw(l.head)) l = l.tail;
  return l.nonEmpty();
}
// </editor-fold>

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

public boolean isDerivedRawInternal(Type t) {
  if (t.isErroneous())
    return false;
  return
    t.isRaw() ||
    supertype(t) != null && isDerivedRaw(supertype(t)) ||
    isDerivedRaw(interfaces(t));
}

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

public boolean isDerivedRawInternal(Type t) {
  if (t.isErroneous())
    return false;
  return
    t.isRaw() ||
    supertype(t) != null && isDerivedRaw(supertype(t)) ||
    isDerivedRaw(interfaces(t));
}

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

public boolean isDerivedRawInternal(Type t) {
  if (t.isErroneous())
    return false;
  return
    t.isRaw() ||
    supertype(t) != null && isDerivedRaw(supertype(t)) ||
    isDerivedRaw(interfaces(t));
}

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

public boolean isDerivedRawInternal(Type t) {
  if (t.isErroneous())
    return false;
  return
    t.isRaw() ||
    supertype(t) != Type.noType && isDerivedRaw(supertype(t)) ||
    isDerivedRaw(interfaces(t));
}

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

public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult, Filter<Symbol> implFilter) {
  MethodSymbol res = types.implementation(this, origin, checkResult, implFilter);
  if (res != null)
    return res;
  // if origin is derived from a raw type, we might have missed
  // an implementation because we do not know enough about instantiations.
  // in this case continue with the supertype as origin.
  if (types.isDerivedRaw(origin.type) && !origin.isInterface())
    return implementation(types.supertype(origin.type).tsym, types, checkResult);
  else
    return null;
}

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

public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult, Filter<Symbol> implFilter) {
  MethodSymbol res = types.implementation(this, origin, checkResult, implFilter);
  if (res != null)
    return res;
  // if origin is derived from a raw type, we might have missed
  // an implementation because we do not know enough about instantiations.
  // in this case continue with the supertype as origin.
  if (types.isDerivedRaw(origin.type) && !origin.isInterface())
    return implementation(types.supertype(origin.type).tsym, types, checkResult);
  else
    return null;
}

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

/** The implementation of this (abstract) symbol in class origin;
 *  null if none exists. Synthetic methods are not considered
 *  as possible implementations.
 */
public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult) {
  for (Type t = origin.type; t.tag == CLASS; t = types.supertype(t)) {
    TypeSymbol c = t.tsym;
    for (Scope.Entry e = c.members().lookup(name);
       e.scope != null;
       e = e.next()) {
      if (e.sym.kind == MTH) {
        MethodSymbol m = (MethodSymbol) e.sym;
        if (m.overrides(this, origin, types, checkResult) &&
          (m.flags() & SYNTHETIC) == 0)
          return m;
      }
    }
  }
  // if origin is derived from a raw type, we might have missed
  // an implementation because we do not know enough about instantiations.
  // in this case continue with the supertype as origin.
  if (types.isDerivedRaw(origin.type))
    return implementation(types.supertype(origin.type).tsym, types, checkResult);
  else
    return null;
}

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

/** The implementation of this (abstract) symbol in class origin;
 *  null if none exists. Synthetic methods are not considered
 *  as possible implementations.
 */
public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult) {
  for (Type t = origin.type; t.tag == CLASS; t = types.supertype(t)) {
    TypeSymbol c = t.tsym;
    for (Scope.Entry e = c.members().lookup(name);
       e.scope != null;
       e = e.next()) {
      if (e.sym.kind == MTH) {
        MethodSymbol m = (MethodSymbol) e.sym;
        if (m.overrides(this, origin, types, checkResult) &&
          (m.flags() & SYNTHETIC) == 0)
          return m;
      }
    }
  }
  // if origin is derived from a raw type, we might have missed
  // an implementation because we do not know enough about instantiations.
  // in this case continue with the supertype as origin.
  if (types.isDerivedRaw(origin.type))
    return implementation(types.supertype(origin.type).tsym, types, checkResult);
  else
    return null;
}

相关文章

Types类方法