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

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

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

Types.implementation介绍

暂无

代码示例

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

private void checkClassOverrideEqualsAndHash(DiagnosticPosition pos,
    ClassSymbol someClass) {
  if (lint.isEnabled(LintCategory.OVERRIDES)) {
    MethodSymbol equalsAtObject = (MethodSymbol)syms.objectType
        .tsym.members().lookup(names.equals).sym;
    MethodSymbol hashCodeAtObject = (MethodSymbol)syms.objectType
        .tsym.members().lookup(names.hashCode).sym;
    boolean overridesEquals = types.implementation(equalsAtObject,
      someClass, false, equalsHasCodeFilter).owner == someClass;
    boolean overridesHashCode = types.implementation(hashCodeAtObject,
      someClass, false, equalsHasCodeFilter) != hashCodeAtObject;
    if (overridesEquals && !overridesHashCode) {
      log.warning(LintCategory.OVERRIDES, pos,
          "override.equals.but.not.hashcode", someClass);
    }
  }
}

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

private void checkClassOverrideEqualsAndHash(DiagnosticPosition pos,
    ClassSymbol someClass) {
  if (lint.isEnabled(LintCategory.OVERRIDES)) {
    MethodSymbol equalsAtObject = (MethodSymbol)syms.objectType
        .tsym.members().lookup(names.equals).sym;
    MethodSymbol hashCodeAtObject = (MethodSymbol)syms.objectType
        .tsym.members().lookup(names.hashCode).sym;
    boolean overridesEquals = types.implementation(equalsAtObject,
      someClass, false, equalsHasCodeFilter).owner == someClass;
    boolean overridesHashCode = types.implementation(hashCodeAtObject,
      someClass, false, equalsHasCodeFilter) != hashCodeAtObject;
    if (overridesEquals && !overridesHashCode) {
      log.warning(LintCategory.OVERRIDES, pos,
          "override.equals.but.not.hashcode", someClass);
    }
  }
}

代码示例来源: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;
}

相关文章

微信公众号

最新文章

更多

Types类方法