コード例 #1
0
 public static boolean isObjectMethod(@NotNull JavaMethod method) {
   String name = method.getName().asString();
   if (name.equals("toString") || name.equals("hashCode")) {
     return method.getValueParameters().isEmpty();
   } else if (name.equals("equals")) {
     return isMethodWithOneParameterWithFqName(method, "java.lang.Object");
   }
   return false;
 }
コード例 #2
0
 private static boolean isMethodWithOneParameterWithFqName(
     @NotNull JavaMethod method, @NotNull String fqName) {
   List<JavaValueParameter> parameters = method.getValueParameters();
   if (parameters.size() == 1) {
     JavaType type = parameters.get(0).getType();
     if (type instanceof JavaClassifierType) {
       JavaClassifier classifier = ((JavaClassifierType) type).getClassifier();
       if (classifier instanceof JavaClass) {
         FqName classFqName = ((JavaClass) classifier).getFqName();
         return classFqName != null && classFqName.asString().equals(fqName);
       }
     }
   }
   return false;
 }