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
A node that represents a record component.
- Author:
- Remi Forax
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe non standard attributes of this record component. * May be null.The record component descriptor (seeType).The runtime invisible annotations of this record component.The runtime invisible type annotations of this record component.The record component name.The record component signature.The runtime visible annotations of this record component.The runtime visible type annotations of this record component.Fields inherited from class org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor
api, delegate -
Constructor Summary
ConstructorsConstructorDescriptionRecordComponentNode(int api, String name, String descriptor, String signature) Constructs a newRecordComponentNode.RecordComponentNode(String name, String descriptor, String signature) Constructs a newRecordComponentNode. -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(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.visitAnnotation(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.visitTypeAnnotation(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 Details
-
name
The record component name. -
descriptor
The record component descriptor (seeType). -
signature
The record component signature. May be null. -
visibleAnnotations
The runtime visible annotations of this record component. May be null. -
invisibleAnnotations
The runtime invisible annotations of this record component. May be null. -
visibleTypeAnnotations
The runtime visible type annotations of this record component. May be null. -
invisibleTypeAnnotations
The runtime invisible type annotations of this record component. May be null. -
attrs
The non standard attributes of this record component. * May be null.
-
-
Constructor Details
-
RecordComponentNode
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
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 Details
-
visitAnnotation
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
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
Makes the given class visitor visit this record component.- Parameters:
classVisitor- a class visitor.
-