Package javassist.bytecode
Class SignatureAttribute
- java.lang.Object
-
- javassist.bytecode.AttributeInfo
-
- javassist.bytecode.SignatureAttribute
-
public class SignatureAttribute extends AttributeInfo
Signature_attribute.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSignatureAttribute.ArrayTypeArray types.static classSignatureAttribute.BaseTypePrimitive types.static classSignatureAttribute.ClassSignatureClass signature.static classSignatureAttribute.ClassTypeClass types.private static classSignatureAttribute.Cursorstatic classSignatureAttribute.MethodSignatureMethod type signature.static classSignatureAttribute.NestedClassTypeNested class types.static classSignatureAttribute.ObjectTypeClass types, array types, and type variables.static classSignatureAttribute.TypePrimitive types and object types.static classSignatureAttribute.TypeArgumentType argument.static classSignatureAttribute.TypeParameterFormal type parameters.static classSignatureAttribute.TypeVariableType variables.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringtagThe name of this attribute"Signature".-
Fields inherited from class javassist.bytecode.AttributeInfo
constPool, info, name
-
-
Constructor Summary
Constructors Constructor Description SignatureAttribute(ConstPool cp, int n, java.io.DataInputStream in)SignatureAttribute(ConstPool cp, java.lang.String signature)Constructs aSignatureattribute.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeInfocopy(ConstPool newCp, java.util.Map classnames)Makes a copy.private static BadBytecodeerror(java.lang.String sig)java.lang.StringgetSignature()Returns the generic signature indicated bysignature_index.private static booleanisNamePart(int c)private static SignatureAttribute.ObjectTypeparseArray(java.lang.String sig, SignatureAttribute.Cursor c)private static SignatureAttribute.ClassTypeparseClassType(java.lang.String sig, SignatureAttribute.Cursor c)private static SignatureAttribute.ClassTypeparseClassType2(java.lang.String sig, SignatureAttribute.Cursor c, SignatureAttribute.ClassType parent)private static SignatureAttribute.MethodSignatureparseMethodSig(java.lang.String sig)private static SignatureAttribute.ObjectTypeparseObjectType(java.lang.String sig, SignatureAttribute.Cursor c, boolean dontThrow)private static SignatureAttribute.ClassSignatureparseSig(java.lang.String sig)private static SignatureAttribute.TypeparseType(java.lang.String sig, SignatureAttribute.Cursor c)private static SignatureAttribute.TypeArgument[]parseTypeArgs(java.lang.String sig, SignatureAttribute.Cursor c)private static SignatureAttribute.TypeParameter[]parseTypeParams(java.lang.String sig, SignatureAttribute.Cursor cur)(package private) voidrenameClass(java.lang.String oldname, java.lang.String newname)(package private) static java.lang.StringrenameClass(java.lang.String desc, java.lang.String oldname, java.lang.String newname)(package private) static java.lang.StringrenameClass(java.lang.String desc, java.util.Map map)(package private) voidrenameClass(java.util.Map classnames)voidsetSignature(java.lang.String sig)Setssignature_indexto the index of the given generic signature, which is added to a constant pool.static SignatureAttribute.ClassSignaturetoClassSignature(java.lang.String sig)Parses the given signature string as a class signature.static SignatureAttribute.ObjectTypetoFieldSignature(java.lang.String sig)Parses the given signature string as a field type signature.static SignatureAttribute.MethodSignaturetoMethodSignature(java.lang.String sig)Parses the given signature string as a method type signature.static SignatureAttribute.TypetoTypeSignature(java.lang.String sig)Parses the given signature string as a type signature.-
Methods inherited from class javassist.bytecode.AttributeInfo
copyAll, get, getConstPool, getLength, getName, getRefClasses, getRefClasses, length, lookup, read, remove, renameClass, renameClass, set, write, writeAll
-
-
-
-
Field Detail
-
tag
public static final java.lang.String tag
The name of this attribute"Signature".- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SignatureAttribute
SignatureAttribute(ConstPool cp, int n, java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
SignatureAttribute
public SignatureAttribute(ConstPool cp, java.lang.String signature)
Constructs aSignatureattribute.- Parameters:
cp- a constant pool table.signature- the signature represented by this attribute.
-
-
Method Detail
-
getSignature
public java.lang.String getSignature()
Returns the generic signature indicated bysignature_index.
-
setSignature
public void setSignature(java.lang.String sig)
Setssignature_indexto the index of the given generic signature, which is added to a constant pool.- Parameters:
sig- new signature.- Since:
- 3.11
-
copy
public AttributeInfo copy(ConstPool newCp, java.util.Map classnames)
Makes a copy. Class names are replaced according to the givenMapobject.- Overrides:
copyin classAttributeInfo- Parameters:
newCp- the constant pool table used by the new copy.classnames- pairs of replaced and substituted class names.
-
renameClass
void renameClass(java.lang.String oldname, java.lang.String newname)- Overrides:
renameClassin classAttributeInfo
-
renameClass
void renameClass(java.util.Map classnames)
- Overrides:
renameClassin classAttributeInfo
-
renameClass
static java.lang.String renameClass(java.lang.String desc, java.lang.String oldname, java.lang.String newname)
-
renameClass
static java.lang.String renameClass(java.lang.String desc, java.util.Map map)
-
isNamePart
private static boolean isNamePart(int c)
-
toClassSignature
public static SignatureAttribute.ClassSignature toClassSignature(java.lang.String sig) throws BadBytecode
Parses the given signature string as a class signature.- Parameters:
sig- the signature obtained from theSignatureAttributeof aClassFile.- Returns:
- a tree-like data structure representing a class signature. It provides convenient accessor methods.
- Throws:
BadBytecode- thrown when a syntactical error is found.- Since:
- 3.5
- See Also:
getSignature()
-
toMethodSignature
public static SignatureAttribute.MethodSignature toMethodSignature(java.lang.String sig) throws BadBytecode
Parses the given signature string as a method type signature.- Parameters:
sig- the signature obtained from theSignatureAttributeof aMethodInfo.- Returns:
- Throws:
BadBytecode- thrown when a syntactical error is found.- Since:
- 3.5
- See Also:
getSignature()
-
toFieldSignature
public static SignatureAttribute.ObjectType toFieldSignature(java.lang.String sig) throws BadBytecode
Parses the given signature string as a field type signature.- Parameters:
sig- the signature string obtained from theSignatureAttributeof aFieldInfo.- Returns:
- the field type signature.
- Throws:
BadBytecode- thrown when a syntactical error is found.- Since:
- 3.5
- See Also:
getSignature()
-
toTypeSignature
public static SignatureAttribute.Type toTypeSignature(java.lang.String sig) throws BadBytecode
Parses the given signature string as a type signature. The type signature is either the field type signature or a base type descriptor includingvoidtype.- Throws:
BadBytecode- thrown when a syntactical error is found.- Since:
- 3.18
-
parseSig
private static SignatureAttribute.ClassSignature parseSig(java.lang.String sig) throws BadBytecode, java.lang.IndexOutOfBoundsException
- Throws:
BadBytecodejava.lang.IndexOutOfBoundsException
-
parseMethodSig
private static SignatureAttribute.MethodSignature parseMethodSig(java.lang.String sig) throws BadBytecode
- Throws:
BadBytecode
-
parseTypeParams
private static SignatureAttribute.TypeParameter[] parseTypeParams(java.lang.String sig, SignatureAttribute.Cursor cur) throws BadBytecode
- Throws:
BadBytecode
-
parseObjectType
private static SignatureAttribute.ObjectType parseObjectType(java.lang.String sig, SignatureAttribute.Cursor c, boolean dontThrow) throws BadBytecode
- Throws:
BadBytecode
-
parseClassType
private static SignatureAttribute.ClassType parseClassType(java.lang.String sig, SignatureAttribute.Cursor c) throws BadBytecode
- Throws:
BadBytecode
-
parseClassType2
private static SignatureAttribute.ClassType parseClassType2(java.lang.String sig, SignatureAttribute.Cursor c, SignatureAttribute.ClassType parent) throws BadBytecode
- Throws:
BadBytecode
-
parseTypeArgs
private static SignatureAttribute.TypeArgument[] parseTypeArgs(java.lang.String sig, SignatureAttribute.Cursor c) throws BadBytecode
- Throws:
BadBytecode
-
parseArray
private static SignatureAttribute.ObjectType parseArray(java.lang.String sig, SignatureAttribute.Cursor c) throws BadBytecode
- Throws:
BadBytecode
-
parseType
private static SignatureAttribute.Type parseType(java.lang.String sig, SignatureAttribute.Cursor c) throws BadBytecode
- Throws:
BadBytecode
-
error
private static BadBytecode error(java.lang.String sig)
-
-