Top Description Fields Constructors Methods
org.eclipse.persistence.internal.libraries.asm.tree

public Class RecordComponentNode

extends RecordComponentVisitor
Class Inheritance
Imports
java.util.List, org.eclipse.persistence.internal.libraries.asm.AnnotationVisitor, .Attribute, .ClassVisitor, .Opcodes, .RecordComponentVisitor, .TypePath

A node that represents a record component.
Author
Remi Forax

Field Summary

Modifier and TypeField and Description
public List<Attribute>
attrs

The non standard attributes of this record component.

public String
public List<AnnotationNode>
invisibleAnnotations

The runtime invisible annotations of this record component.

public List<TypeAnnotationNode>
invisibleTypeAnnotations

The runtime invisible type annotations of this record component.

public String
name

The record component name.

public String
signature

The record component signature.

public List<AnnotationNode>
visibleAnnotations

The runtime visible annotations of this record component.

public List<TypeAnnotationNode>
visibleTypeAnnotations

The runtime visible type annotations of this record component.

Inherited from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor:
apidelegate

Constructor Summary

AccessConstructor and Description
public
RecordComponentNode(final String
the record component name.
name
,
final String
the record component descriptor (see org.eclipse.persistence.internal.libraries.asm.Type).
descriptor
,
final String
the record component signature.
signature
)

Constructs a new RecordComponentNode.

public
RecordComponentNode(final int
the ASM API version implemented by this visitor. Must be one of Opcodes#ASM8 or Opcodes#ASM9.
api
,
final String
the record component name.
name
,
final String
the record component descriptor (see org.eclipse.persistence.internal.libraries.asm.Type).
descriptor
,
final String
the record component signature.
signature
)

Constructs a new RecordComponentNode.

Method Summary

Modifier and TypeMethod and Description
public void
accept(final ClassVisitor
a class visitor.
classVisitor
)

Makes the given class visitor visit this record component.

public void
check(final int
an ASM API version. Must be one of Opcodes#ASM8 or Opcodes#ASM9.
api
)

Checks that this record component node is compatible with the given ASM API version.

public AnnotationVisitor
visitAnnotation(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAnnotation.

Visits an annotation of the record component.
public void
visitAttribute(final Attribute
an attribute.
attribute
)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAttribute.

Visits a non standard attribute of the record component.
public void
public AnnotationVisitor
visitTypeAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#CLASS_TYPE_PARAMETER, TypeReference#CLASS_TYPE_PARAMETER_BOUND or TypeReference#CLASS_EXTENDS. See TypeReference.
typeRef
,
final 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.
typePath
,
final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitTypeAnnotation.

Visits an annotation on a type in the record component signature.
Inherited from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor:
getDelegate

Field Detail

attrsback to summary
public List<Attribute> attrs

The non standard attributes of this record component. * May be null.

descriptorback to summary
public String descriptor

The record component descriptor (see org.eclipse.persistence.internal.libraries.asm.Type).

invisibleAnnotationsback to summary
public List<AnnotationNode> invisibleAnnotations

The runtime invisible annotations of this record component. May be null.

invisibleTypeAnnotationsback to summary
public List<TypeAnnotationNode> invisibleTypeAnnotations

The runtime invisible type annotations of this record component. May be null.

nameback to summary
public String name

The record component name.

signatureback to summary
public String signature

The record component signature. May be null.

visibleAnnotationsback to summary
public List<AnnotationNode> visibleAnnotations

The runtime visible annotations of this record component. May be null.

visibleTypeAnnotationsback to summary
public List<TypeAnnotationNode> visibleTypeAnnotations

The runtime visible type annotations of this record component. May be null.

Constructor Detail

RecordComponentNodeback to summary
public RecordComponentNode(final String name, final String descriptor, final String signature)

Constructs a new RecordComponentNode. Subclasses must not use this constructor. Instead, they must use the RecordComponentNode(int, String, String, String) version.

Parameters
name:String

the record component name.

descriptor:String

the record component descriptor (see org.eclipse.persistence.internal.libraries.asm.Type).

signature:String

the record component signature.

Exceptions
IllegalStateException:
If a subclass calls this constructor.
RecordComponentNodeback to summary
public RecordComponentNode(final int api, final String name, final String descriptor, final String signature)

Constructs a new RecordComponentNode.

Parameters
api:int

the ASM API version implemented by this visitor. Must be one of Opcodes#ASM8 or Opcodes#ASM9.

name:String

the record component name.

descriptor:String

the record component descriptor (see org.eclipse.persistence.internal.libraries.asm.Type).

signature:String

the record component signature.

Method Detail

acceptback to summary
public void accept(final ClassVisitor classVisitor)

Makes the given class visitor visit this record component.

Parameters
classVisitor:ClassVisitor

a class visitor.

checkback to summary
public void check(final 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:int

an ASM API version. Must be one of Opcodes#ASM8 or Opcodes#ASM9.

visitAnnotationback to summary
public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAnnotation.

Doc from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAnnotation.

Visits an annotation of the record component.

Parameters
descriptor:String

the class descriptor of the annotation class.

visible:boolean

true if the annotation is visible at runtime.

Returns:AnnotationVisitor

a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.

Annotations
@Override
visitAttributeback to summary
public void visitAttribute(final Attribute attribute)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAttribute.

Doc from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitAttribute.

Visits a non standard attribute of the record component.

Parameters
attribute:Attribute

an attribute.

Annotations
@Override
visitEndback to summary
public void visitEnd()

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitEnd.

Doc from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitEnd.

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.

Annotations
@Override
visitTypeAnnotationback to summary
public AnnotationVisitor visitTypeAnnotation(final int typeRef, final TypePath typePath, final String descriptor, final boolean visible)

Overrides org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitTypeAnnotation.

Doc from org.eclipse.persistence.internal.libraries.asm.RecordComponentVisitor.visitTypeAnnotation.

Visits an annotation on a type in the record component signature.

Parameters
typeRef:int

a reference to the annotated type. The sort of this type reference must be TypeReference#CLASS_TYPE_PARAMETER, TypeReference#CLASS_TYPE_PARAMETER_BOUND or TypeReference#CLASS_EXTENDS. See TypeReference.

typePath: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:String

the class descriptor of the annotation class.

visible:boolean

true if the annotation is visible at runtime.

Returns:AnnotationVisitor

a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.

Annotations
@Override