Class SignatureParser
- java.lang.Object
-
- org.codehaus.janino.util.signature.SignatureParser
-
public class SignatureParser extends java.lang.ObjectHelper class for parsing signatures and descriptors. See Java 5 class file format, section 4.4.4, "Signatures".The various structures that the parser returns (e.g.
SignatureParser.ClassTypeSignature) all haveObject.toString()methods that convert them into nice, human-readable strings. This conversion can be customized usingSignatureParser(Options)and passing a customSignatureParser.Optionsobject.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSignatureParser.ArrayTypeSignatureRepresentation of the "ArrayTypeSignature" clause.static classSignatureParser.ClassSignatureRepresentation of the "ClassSignature" clause.static classSignatureParser.ClassTypeSignatureRepresentation of the "ClassTypeSignature" clause, e.gstatic interfaceSignatureParser.FieldTypeSignatureRepresentation of the "FieldTypeSignature" clause.static interfaceSignatureParser.FieldTypeSignatureVisitor<T,EX extends java.lang.Throwable>static classSignatureParser.FormalTypeParameterRepresentation of the "FormalTypeParameter" clause, e.gstatic classSignatureParser.MethodTypeSignatureRepresentation of the "MethodTypeSignature" clause.static interfaceSignatureParser.Optionsstatic classSignatureParser.PrimitiveTypeSignatureRepresentation of the "PrimitiveTypeSignature" clause, i.estatic classSignatureParser.SignatureExceptionSignalizes am malformed signature.static classSignatureParser.SimpleClassTypeSignatureRepresentation of the "SimpleClassTypeSignature" clause, e.gstatic interfaceSignatureParser.ThrowsSignatureRepresentation of the "ThrowsSignature" clause.static classSignatureParser.TypeArgumentRepresentation of the "TypeArgument" clause.static interfaceSignatureParser.TypeSignatureRepresentation of the "TypeSignature" clause.static classSignatureParser.TypeVariableSignatureRepresentation of the "TypeVariableSignature" clause, e.g
-
Field Summary
Fields Modifier and Type Field Description static SignatureParser.PrimitiveTypeSignatureBOOLEANThe primitive 'boolean' type.static SignatureParser.PrimitiveTypeSignatureBYTEThe primitive 'byte' type.static SignatureParser.PrimitiveTypeSignatureCHARThe primitive 'char' type.static SignatureParser.OptionsDEFAULT_OPTIONSA trivial implementation ofSignatureParser.Options.static SignatureParser.PrimitiveTypeSignatureDOUBLEThe primitive 'double' type.static SignatureParser.PrimitiveTypeSignatureFLOATThe primitive 'float' type.static SignatureParser.PrimitiveTypeSignatureINTThe primitive 'int' type.static SignatureParser.PrimitiveTypeSignatureLONGThe primitive 'long' type.SignatureParser.ClassTypeSignatureobjectThe class type signature of theObjectclass.static SignatureParser.PrimitiveTypeSignatureSHORTThe primitive 'short' type.static SignatureParser.TypeSignatureVOIDRepresentation of the 'void' type.
-
Constructor Summary
Constructors Constructor Description SignatureParser()SignatureParser(SignatureParser.Options options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SignatureParser.TypeSignaturedecodeClassNameOrFieldDescriptor(java.lang.String s)Decodes a "class-name-or-field-descriptor" as defined in JLS8 4.4.1 ("name_index").SignatureParser.ClassSignaturedecodeClassSignature(java.lang.String s)Decodes a 'class signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.SignatureParser.TypeSignaturedecodeFieldDescriptor(java.lang.String s)Decodes a 'field descriptor' as defined in JLS7 4.3.2.SignatureParser.FieldTypeSignaturedecodeFieldTypeSignature(java.lang.String s)Decodes a 'field type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.SignatureParser.MethodTypeSignaturedecodeMethodDescriptor(java.lang.String s)Decodes a 'method descriptor' as defined in JVMS[78] 4.3.3.SignatureParser.MethodTypeSignaturedecodeMethodTypeSignature(java.lang.String s)Decodes a 'method type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.SignatureParser.TypeSignaturedecodeReturnType(java.lang.String s)Decodes a 'return type' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.SignatureParser.TypeSignaturedecodeTypeSignature(java.lang.String s)Decodes a 'type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
-
-
Field Detail
-
DEFAULT_OPTIONS
public static final SignatureParser.Options DEFAULT_OPTIONS
A trivial implementation ofSignatureParser.Options.
-
object
public final SignatureParser.ClassTypeSignature object
The class type signature of theObjectclass.
-
BYTE
public static final SignatureParser.PrimitiveTypeSignature BYTE
The primitive 'byte' type.
-
CHAR
public static final SignatureParser.PrimitiveTypeSignature CHAR
The primitive 'char' type.
-
DOUBLE
public static final SignatureParser.PrimitiveTypeSignature DOUBLE
The primitive 'double' type.
-
FLOAT
public static final SignatureParser.PrimitiveTypeSignature FLOAT
The primitive 'float' type.
-
INT
public static final SignatureParser.PrimitiveTypeSignature INT
The primitive 'int' type.
-
LONG
public static final SignatureParser.PrimitiveTypeSignature LONG
The primitive 'long' type.
-
SHORT
public static final SignatureParser.PrimitiveTypeSignature SHORT
The primitive 'short' type.
-
BOOLEAN
public static final SignatureParser.PrimitiveTypeSignature BOOLEAN
The primitive 'boolean' type.
-
VOID
public static final SignatureParser.TypeSignature VOID
Representation of the 'void' type.
-
-
Constructor Detail
-
SignatureParser
public SignatureParser()
-
SignatureParser
public SignatureParser(SignatureParser.Options options)
-
-
Method Detail
-
decodeClassSignature
public SignatureParser.ClassSignature decodeClassSignature(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'class signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
decodeMethodTypeSignature
public SignatureParser.MethodTypeSignature decodeMethodTypeSignature(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'method type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
decodeTypeSignature
public SignatureParser.TypeSignature decodeTypeSignature(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
decodeFieldTypeSignature
public SignatureParser.FieldTypeSignature decodeFieldTypeSignature(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'field type signature' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
decodeMethodDescriptor
public SignatureParser.MethodTypeSignature decodeMethodDescriptor(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'method descriptor' as defined in JVMS[78] 4.3.3.- Returns:
- E.g.
"(Object[]) => java.util.stream.Stream"or"join()"(void method) - Throws:
SignatureParser.SignatureException
-
decodeFieldDescriptor
public SignatureParser.TypeSignature decodeFieldDescriptor(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'field descriptor' as defined in JLS7 4.3.2.
-
decodeClassNameOrFieldDescriptor
public SignatureParser.TypeSignature decodeClassNameOrFieldDescriptor(java.lang.String s) throws SignatureParser.SignatureException
Decodes a "class-name-or-field-descriptor" as defined in JLS8 4.4.1 ("name_index").
-
decodeReturnType
public SignatureParser.TypeSignature decodeReturnType(java.lang.String s) throws SignatureParser.SignatureException
Decodes a 'return type' as defined in JVMS7 4.3.4 / JVMS8 4.7.9.1.
-
-