Class MemberUtils

java.lang.Object
edu.umd.cs.findbugs.bytecode.MemberUtils

public final class MemberUtils extends Object
Utility to analyze class members.
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    Checks if the method could be a lambda.
    static boolean
    couldBeLambda(org.apache.bcel.classfile.Method m)
    Checks if the method could be a lambda.
    static boolean
    couldBeLambda(org.apache.bcel.generic.MethodGen m)
    Checks if the method could be a lambda.
    static boolean
    Checks if the given method is a main method.
    static boolean
    isMainMethod(org.apache.bcel.classfile.Method method)
    Checks if the given method is a main method.
    static boolean
    Checks if the given method was user-generated.
    static boolean
    Checks if the given class was user-generated, classes annotated with annotations such as Immutables' Generated are not considered user-generated.
    static boolean
    isUserGenerated(org.apache.bcel.classfile.FieldOrMethod m)
    Checks if the given method was user-generated.
    static boolean
    isUserGenerated(org.apache.bcel.generic.FieldGenOrMethodGen m)
    Checks if the given method was user-generated.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • couldBeLambda

      public static boolean couldBeLambda(org.apache.bcel.classfile.Method m)
      Checks if the method could be a lambda. Notice this is a best-check, since once compiled lambda methods are not univocally distinguishable.
      Parameters:
      m - The method to check if it's a lambda
      Returns:
      True if this could be a lambda, false otherwise
    • couldBeLambda

      public static boolean couldBeLambda(XMethod m)
      Checks if the method could be a lambda. Notice this is a best-check, since once compiled lambda methods are not univocally distinguishable.
      Parameters:
      m - The method to check if it's a lambda
      Returns:
      True if this could be a lambda, false otherwise
    • couldBeLambda

      public static boolean couldBeLambda(org.apache.bcel.generic.MethodGen m)
      Checks if the method could be a lambda. Notice this is a best-check, since once compiled lambda methods are not univocally distinguishable.
      Parameters:
      m - The method to check if it's a lambda
      Returns:
      True if this could be a lambda, false otherwise
    • isUserGenerated

      public static boolean isUserGenerated(org.apache.bcel.classfile.FieldOrMethod m)
      Checks if the given method was user-generated. This takes into account for instance lambda methods, that even though they are marked as "synthetic", they are user-generated, and therefore interesting to analysis. Methods annotated with annotations such as Lombok's Generated are not considered user-generated.
      Parameters:
      m - The field or method to check.
      Returns:
      True if the given member is user generated, false otherwise.
    • isUserGenerated

      public static boolean isUserGenerated(ClassMember m)
      Checks if the given method was user-generated. This takes into account for instance lambda methods, that even though they are marked as "synthetic", they are user-generated, and therefore interesting to analysis. Methods annotated with annotations such as Lombok's Generated are not considered user-generated.
      Parameters:
      m - The field or method to check.
      Returns:
      True if the given member is user generated, false otherwise.
    • isUserGenerated

      public static boolean isUserGenerated(org.apache.bcel.generic.FieldGenOrMethodGen m)
      Checks if the given method was user-generated. This takes into account for instance lambda methods, that even though they are marked as "synthetic", they are user-generated, and therefore interesting to analysis. Methods annotated with annotations such as Lombok's Generated are not considered user-generated.
      Parameters:
      m - The field or method to check.
      Returns:
      True if the given member is user generated, false otherwise.
    • isUserGenerated

      public static boolean isUserGenerated(XClass c)
      Checks if the given class was user-generated, classes annotated with annotations such as Immutables' Generated are not considered user-generated.
      Parameters:
      c - The class to check.
      Returns:
      True if the given class is user generated, false otherwise.
    • isMainMethod

      public static boolean isMainMethod(org.apache.bcel.classfile.Method method)
      Checks if the given method is a main method. It takes into account the changes introduced in JEP 445. A main method has non-private access, is named "main", returns void, and has a single string array argument or has no arguments.
      Parameters:
      method - The method to check
      Returns:
      true if the method is a main method, false otherwise
      See Also:
    • isMainMethod

      public static boolean isMainMethod(XMethod method)
      Checks if the given method is a main method. It takes into account the changes introduced in JEP 445. A main method has non-private access, is named "main", returns void, and has a single string array argument or has no arguments.
      Parameters:
      method - The method to check
      Returns:
      true if the method is a main method, false otherwise
      See Also: