Package edu.umd.cs.findbugs.ba.generic
Class GenericUtilities
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.generic.GenericUtilities
-
public class GenericUtilities extends java.lang.ObjectUtilities for adding support for generics. Most of these methods can be applied to generic and non generic type information.- Author:
- Nat Ayewah
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGenericUtilities.TypeCategory
-
Constructor Summary
Constructors Constructor Description GenericUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringgetString(org.apache.bcel.generic.Type type)Get String representation of a Type including Generic informationstatic org.apache.bcel.generic.TypegetType(java.lang.String signature)This method is analogous toType.getType(String), except that it also accepts signatures with generic information.static GenericObjectTypegetType(java.lang.String className, java.util.List<? extends org.apache.bcel.generic.ReferenceType> parameters)static GenericUtilities.TypeCategorygetTypeCategory(org.apache.bcel.generic.Type type)Get the TypeCategory that represents this Objectstatic java.util.List<org.apache.bcel.generic.ReferenceType>getTypeParameters(java.lang.String signature)Parse a bytecode signature that has 1 or more (possibly generic) types and return a list of the Types.static booleanisPlainObject(org.apache.bcel.generic.Type type)static intlastMatchedLeftAngleBracket(java.lang.String s)static org.apache.bcel.generic.ObjectTypemerge(GenericObjectType t1, org.apache.bcel.generic.ObjectType t2)static org.apache.bcel.generic.Typemerge(GenericObjectType t1, org.apache.bcel.generic.Type t2)static org.apache.bcel.generic.ObjectTypemerge(org.apache.bcel.generic.Type t1, org.apache.bcel.generic.ObjectType t2)static intnextUnmatchedRightAngleBracket(java.lang.String s, int startingAt)static java.lang.StringremoveMatchedAngleBrackets(java.lang.String s)static java.util.List<java.lang.String>split(java.lang.String signature, boolean skipInitialAngleBracket)
-
-
-
Method Detail
-
getTypeCategory
public static final GenericUtilities.TypeCategory getTypeCategory(org.apache.bcel.generic.Type type)
Get the TypeCategory that represents this Object- See Also:
GenericUtilities.TypeCategory
-
isPlainObject
public static final boolean isPlainObject(org.apache.bcel.generic.Type type)
-
getString
public static final java.lang.String getString(org.apache.bcel.generic.Type type)
Get String representation of a Type including Generic information
-
getType
public static GenericObjectType getType(java.lang.String className, java.util.List<? extends org.apache.bcel.generic.ReferenceType> parameters)
-
getType
@CheckForNull public static org.apache.bcel.generic.Type getType(java.lang.String signature)
This method is analogous toType.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 java.lang.String removeMatchedAngleBrackets(java.lang.String s)
-
nextUnmatchedRightAngleBracket
public static int nextUnmatchedRightAngleBracket(java.lang.String s, int startingAt)
-
lastMatchedLeftAngleBracket
public static int lastMatchedLeftAngleBracket(java.lang.String s)
-
getTypeParameters
@CheckForNull public static final java.util.List<org.apache.bcel.generic.ReferenceType> getTypeParameters(java.lang.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 java.util.List<java.lang.String> split(java.lang.String signature, boolean skipInitialAngleBracket)
-
-