Class GenericUtilities

java.lang.Object
edu.umd.cs.findbugs.ba.generic.GenericUtilities

public class GenericUtilities extends Object
Utilities for adding support for generics. Most of these methods can be applied to generic and non generic type information.
Author:
Nat Ayewah
  • Constructor Details

    • GenericUtilities

      public GenericUtilities()
  • Method Details

    • getTypeCategory

      public static final GenericUtilities.TypeCategory getTypeCategory(org.apache.bcel.generic.Type type)
      Get the TypeCategory that represents this Object
      See Also:
    • isPlainObject

      public static final boolean isPlainObject(org.apache.bcel.generic.Type type)
    • getString

      public static final String getString(org.apache.bcel.generic.Type type)
      Get String representation of a Type including Generic information
    • getType

      public static GenericObjectType getType(String className, List<? extends org.apache.bcel.generic.ReferenceType> parameters)
    • getType

      @CheckForNull public static org.apache.bcel.generic.Type getType(String signature)
      This method is analogous to Type.getType(String), except that it also accepts signatures with generic information. e.g. Ljava/util/ArrayList<TT;>;

      The signature should only contain one type. Use GenericSignatureParser to break up a signature with many types or call createTypes(String) to return a list of types

    • merge

      public static org.apache.bcel.generic.ObjectType merge(@CheckForNull org.apache.bcel.generic.Type t1, org.apache.bcel.generic.ObjectType t2)
    • merge

      public static org.apache.bcel.generic.Type merge(@CheckForNull GenericObjectType t1, org.apache.bcel.generic.Type t2)
    • merge

      public static org.apache.bcel.generic.ObjectType merge(@CheckForNull GenericObjectType t1, org.apache.bcel.generic.ObjectType t2)
    • removeMatchedAngleBrackets

      public static String removeMatchedAngleBrackets(String s)
    • nextUnmatchedRightAngleBracket

      public static int nextUnmatchedRightAngleBracket(String s, int startingAt)
    • lastMatchedLeftAngleBracket

      public static int lastMatchedLeftAngleBracket(String s)
    • getTypeParameters

      @CheckForNull public static final List<org.apache.bcel.generic.ReferenceType> getTypeParameters(String signature)
      Parse a bytecode signature that has 1 or more (possibly generic) types and return a list of the Types.
      Parameters:
      signature - bytecode signature e.g. e.g. Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/util/ArrayList<TT;>;Ljava/util/ArrayList<*>;
    • split

      public static final List<String> split(String signature, boolean skipInitialAngleBracket)