Package org.objectweb.asm.tree
Class RecordComponentNode
- java.lang.Object
-
- org.objectweb.asm.RecordComponentVisitor
-
- org.objectweb.asm.tree.RecordComponentNode
-
public class RecordComponentNode extends RecordComponentVisitor
A node that represents a record component.
-
-
Field Summary
Fields Modifier and Type Field Description java.util.List<Attribute>
attrs
The non standard attributes of this record component.java.lang.String
descriptor
The record component descriptor (seeType
).java.util.List<AnnotationNode>
invisibleAnnotations
The runtime invisible annotations of this record component.java.util.List<TypeAnnotationNode>
invisibleTypeAnnotations
The runtime invisible type annotations of this record component.java.lang.String
name
The record component name.java.lang.String
signature
The record component signature.java.util.List<AnnotationNode>
visibleAnnotations
The runtime visible annotations of this record component.java.util.List<TypeAnnotationNode>
visibleTypeAnnotations
The runtime visible type annotations of this record component.-
Fields inherited from class org.objectweb.asm.RecordComponentVisitor
api, delegate
-
-
Constructor Summary
Constructors Constructor Description RecordComponentNode(int api, java.lang.String name, java.lang.String descriptor, java.lang.String signature)
Constructs a newRecordComponentNode
.RecordComponentNode(java.lang.String name, java.lang.String descriptor, java.lang.String signature)
Constructs a newRecordComponentNode
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(ClassVisitor classVisitor)
Makes the given class visitor visit this record component.void
check(int api)
Checks that this record component node is compatible with the given ASM API version.AnnotationVisitor
visitAnnotation(java.lang.String descriptor, boolean visible)
Visits an annotation of the record component.void
visitAttribute(Attribute attribute)
Visits a non standard attribute of the record component.void
visitEnd()
Visits the end of the record component.AnnotationVisitor
visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String descriptor, boolean visible)
Visits an annotation on a type in the record component signature.-
Methods inherited from class org.objectweb.asm.RecordComponentVisitor
getDelegate
-
-
-
-
Field Detail
-
name
public java.lang.String name
The record component name.
-
descriptor
public java.lang.String descriptor
The record component descriptor (seeType
).
-
signature
public java.lang.String signature
The record component signature. May be null.
-
visibleAnnotations
public java.util.List<AnnotationNode> visibleAnnotations
The runtime visible annotations of this record component. May be null.
-
invisibleAnnotations
public java.util.List<AnnotationNode> invisibleAnnotations
The runtime invisible annotations of this record component. May be null.
-
visibleTypeAnnotations
public java.util.List<TypeAnnotationNode> visibleTypeAnnotations
The runtime visible type annotations of this record component. May be null.
-
invisibleTypeAnnotations
public java.util.List<TypeAnnotationNode> invisibleTypeAnnotations
The runtime invisible type annotations of this record component. May be null.
-
attrs
public java.util.List<Attribute> attrs
The non standard attributes of this record component. * May be null.
-
-
Constructor Detail
-
RecordComponentNode
public RecordComponentNode(java.lang.String name, java.lang.String descriptor, java.lang.String signature)
Constructs a newRecordComponentNode
. Subclasses must not use this constructor. Instead, they must use theRecordComponentNode(int, String, String, String)
version.- Parameters:
name
- the record component name.descriptor
- the record component descriptor (seeType
).signature
- the record component signature.- Throws:
java.lang.IllegalStateException
- If a subclass calls this constructor.
-
RecordComponentNode
public RecordComponentNode(int api, java.lang.String name, java.lang.String descriptor, java.lang.String signature)
Constructs a newRecordComponentNode
.- Parameters:
api
- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM8
orOpcodes.ASM9
.name
- the record component name.descriptor
- the record component descriptor (seeType
).signature
- the record component signature.
-
-
Method Detail
-
visitAnnotation
public AnnotationVisitor visitAnnotation(java.lang.String descriptor, boolean visible)
Description copied from class:RecordComponentVisitor
Visits an annotation of the record component.- Overrides:
visitAnnotation
in classRecordComponentVisitor
- Parameters:
descriptor
- the class descriptor of the annotation class.visible
- true if the annotation is visible at runtime.- Returns:
- a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.
-
visitTypeAnnotation
public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String descriptor, boolean visible)
Description copied from class:RecordComponentVisitor
Visits an annotation on a type in the record component signature.- Overrides:
visitTypeAnnotation
in classRecordComponentVisitor
- Parameters:
typeRef
- a reference to the annotated type. The sort of this type reference must beTypeReference.CLASS_TYPE_PARAMETER
,TypeReference.CLASS_TYPE_PARAMETER_BOUND
orTypeReference.CLASS_EXTENDS
. SeeTypeReference
.typePath
- the path to the annotated type argument, wildcard bound, array element type, or static inner type within 'typeRef'. May be null if the annotation targets 'typeRef' as a whole.descriptor
- the class descriptor of the annotation class.visible
- true if the annotation is visible at runtime.- Returns:
- a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.
-
visitAttribute
public void visitAttribute(Attribute attribute)
Description copied from class:RecordComponentVisitor
Visits a non standard attribute of the record component.- Overrides:
visitAttribute
in classRecordComponentVisitor
- Parameters:
attribute
- an attribute.
-
visitEnd
public void visitEnd()
Description copied from class:RecordComponentVisitor
Visits the end of the record component. This method, which is the last one to be called, is used to inform the visitor that everything have been visited.- Overrides:
visitEnd
in classRecordComponentVisitor
-
check
public void check(int api)
Checks that this record component node is compatible with the given ASM API version. This method checks that this node, and all its children recursively, do not contain elements that were introduced in more recent versions of the ASM API than the given version.- Parameters:
api
- an ASM API version. Must be one ofOpcodes.ASM8
orOpcodes.ASM9
.
-
accept
public void accept(ClassVisitor classVisitor)
Makes the given class visitor visit this record component.- Parameters:
classVisitor
- a class visitor.
-
-