Class SignatureAttribute


  • public class SignatureAttribute
    extends AttributeInfo
    Signature_attribute.
    • Field Detail

      • tag

        public static final java.lang.String tag
        The name of this attribute "Signature".
        See Also:
        Constant Field Values
    • Constructor Detail

      • SignatureAttribute

        public SignatureAttribute​(ConstPool cp,
                                  java.lang.String signature)
        Constructs a Signature attribute.
        Parameters:
        cp - a constant pool table.
        signature - the signature represented by this attribute.
    • Method Detail

      • setSignature

        public void setSignature​(java.lang.String sig)
        Sets signature_index to 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<java.lang.String,​java.lang.String> classnames)
        Makes a copy. Class names are replaced according to the given Map object.
        Overrides:
        copy in class AttributeInfo
        Parameters:
        newCp - the constant pool table used by the new copy.
        classnames - pairs of replaced and substituted class names.
      • 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 the SignatureAttribute of a ClassFile.
        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 the SignatureAttribute of a MethodInfo.
        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 the SignatureAttribute of a FieldInfo.
        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 including void type.
        Throws:
        BadBytecode - thrown when a syntactical error is found.
        Since:
        3.18