Package org.objectweb.asm.signature
Class SignatureReader
- java.lang.Object
-
- org.objectweb.asm.signature.SignatureReader
-
public class SignatureReader extends java.lang.Object
A parser for signature literals, as defined in the Java Virtual Machine Specification (JVMS), to visit them with a SignatureVisitor.- See Also:
- JVMS 4.7.9.1
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
signatureValue
The JVMS signature to be read.
-
Constructor Summary
Constructors Constructor Description SignatureReader(java.lang.String signature)
Constructs aSignatureReader
for the given signature.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(SignatureVisitor signatureVistor)
Makes the given visitor visit the signature of thisSignatureReader
.void
acceptType(SignatureVisitor signatureVisitor)
Makes the given visitor visit the signature of thisSignatureReader
.private static int
parseType(java.lang.String signature, int startOffset, SignatureVisitor signatureVisitor)
Parses a JavaTypeSignature and makes the given visitor visit it.
-
-
-
Constructor Detail
-
SignatureReader
public SignatureReader(java.lang.String signature)
Constructs aSignatureReader
for the given signature.- Parameters:
signature
- A JavaTypeSignature, ClassSignature or MethodSignature.
-
-
Method Detail
-
accept
public void accept(SignatureVisitor signatureVistor)
Makes the given visitor visit the signature of thisSignatureReader
. This signature is the one specified in the constructor (seeSignatureReader(java.lang.String)
). This method is intended to be called on aSignatureReader
that was created using a ClassSignature (such as thesignature
parameter of theClassVisitor.visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
method) or a MethodSignature (such as thesignature
parameter of theClassVisitor.visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
method).- Parameters:
signatureVistor
- the visitor that must visit this signature.
-
acceptType
public void acceptType(SignatureVisitor signatureVisitor)
Makes the given visitor visit the signature of thisSignatureReader
. This signature is the one specified in the constructor (seeSignatureReader(java.lang.String)
). This method is intended to be called on aSignatureReader
that was created using a JavaTypeSignature, such as thesignature
parameter of theClassVisitor.visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
orMethodVisitor.visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)
methods.- Parameters:
signatureVisitor
- the visitor that must visit this signature.
-
parseType
private static int parseType(java.lang.String signature, int startOffset, SignatureVisitor signatureVisitor)
Parses a JavaTypeSignature and makes the given visitor visit it.- Parameters:
signature
- a string containing the signature that must be parsed.startOffset
- index of the first character of the signature to parsed.signatureVisitor
- the visitor that must visit this signature.- Returns:
- the index of the first character after the parsed signature.
-
-