Module org.eclipse.persistence.asm
Class RecordComponentNode
- java.lang.Object
-
- org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor
-
- org.eclipse.persistence.internal.libraries.asm.tree.RecordComponentNode
-
public class RecordComponentNode extends RecordComponentVisitor
A node that represents a record component.- Author:
- Remi Forax
-
-
Field Summary
Fields Modifier and Type Field Description List<Attribute>attrsThe non standard attributes of this record component.StringdescriptorThe record component descriptor (seeType).List<AnnotationNode>invisibleAnnotationsThe runtime invisible annotations of this record component.List<TypeAnnotationNode>invisibleTypeAnnotationsThe runtime invisible type annotations of this record component.StringnameThe record component name.StringsignatureThe record component signature.List<AnnotationNode>visibleAnnotationsThe runtime visible annotations of this record component.List<TypeAnnotationNode>visibleTypeAnnotationsThe runtime visible type annotations of this record component.-
Fields inherited from class org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor
api, delegate
-
-
Constructor Summary
Constructors Constructor Description RecordComponentNode(int api, String name, String descriptor, String signature)Constructs a newRecordComponentNode.RecordComponentNode(String name, String descriptor, String signature)Constructs a newRecordComponentNode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(ClassVisitor classVisitor)Makes the given class visitor visit this record component.voidcheck(int api)Checks that this record component node is compatible with the given ASM API version.AnnotationVisitorvisitAnnotation(String descriptor, boolean visible)Visits an annotation of the record component.voidvisitAttribute(Attribute attribute)Visits a non standard attribute of the record component.voidvisitEnd()Visits the end of the record component.AnnotationVisitorvisitTypeAnnotation(int typeRef, TypePath typePath, String descriptor, boolean visible)Visits an annotation on a type in the record component signature.-
Methods inherited from class org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor
getDelegate
-
-
-
-
Field Detail
-
name
public String name
The record component name.
-
signature
public String signature
The record component signature. May be null.
-
visibleAnnotations
public List<AnnotationNode> visibleAnnotations
The runtime visible annotations of this record component. May be null.
-
invisibleAnnotations
public List<AnnotationNode> invisibleAnnotations
The runtime invisible annotations of this record component. May be null.
-
visibleTypeAnnotations
public List<TypeAnnotationNode> visibleTypeAnnotations
The runtime visible type annotations of this record component. May be null.
-
invisibleTypeAnnotations
public List<TypeAnnotationNode> invisibleTypeAnnotations
The runtime invisible type annotations of this record component. May be null.
-
-
Constructor Detail
-
RecordComponentNode
public RecordComponentNode(String name, String descriptor, 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:
IllegalStateException- If a subclass calls this constructor.
-
RecordComponentNode
public RecordComponentNode(int api, String name, String descriptor, String signature)Constructs a newRecordComponentNode.- Parameters:
api- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM8orOpcodes.ASM9.name- the record component name.descriptor- the record component descriptor (seeType).signature- the record component signature.
-
-
Method Detail
-
visitAnnotation
public AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
Description copied from class:RecordComponentVisitorVisits an annotation of the record component.- Overrides:
visitAnnotationin 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, String descriptor, boolean visible)
Description copied from class:RecordComponentVisitorVisits an annotation on a type in the record component signature.- Overrides:
visitTypeAnnotationin classRecordComponentVisitor- Parameters:
typeRef- a reference to the annotated type. The sort of this type reference must beTypeReference.CLASS_TYPE_PARAMETER,TypeReference.CLASS_TYPE_PARAMETER_BOUNDorTypeReference.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:RecordComponentVisitorVisits a non standard attribute of the record component.- Overrides:
visitAttributein classRecordComponentVisitor- Parameters:
attribute- an attribute.
-
visitEnd
public void visitEnd()
Description copied from class:RecordComponentVisitorVisits 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:
visitEndin 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.ASM8orOpcodes.ASM9.
-
accept
public void accept(ClassVisitor classVisitor)
Makes the given class visitor visit this record component.- Parameters:
classVisitor- a class visitor.
-
-