Package org.codehaus.janino.util
Class ClassFile.Annotation
- java.lang.Object
-
- org.codehaus.janino.util.ClassFile.Annotation
-
- All Implemented Interfaces:
ClassFile.ElementValue
- Enclosing class:
- ClassFile
public static class ClassFile.Annotation extends java.lang.Object implements ClassFile.ElementValue
The structure of theannotations
array as described in JVMS8 4.7.16.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.codehaus.janino.util.ClassFile.ElementValue
ClassFile.ElementValue.Visitor<R,EX extends java.lang.Throwable>
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Map<java.lang.Short,ClassFile.ElementValue>
elementValuePairs
The "element_value_pairs" field of theannotation
type as described in JVMS8 4.7.16.short
typeIndex
The "type_index" field of theannotation
type as described in JVMS8 4.7.16.
-
Constructor Summary
Constructors Constructor Description Annotation(short typeIndex, java.util.Map<java.lang.Short,ClassFile.ElementValue> elementValuePairs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,EX extends java.lang.Throwable>
Raccept(ClassFile.ElementValue.Visitor<R,EX> visitor)
Invokes the respective method of theClassFile.ElementValue.Visitor
.byte
getTag()
void
store(java.io.DataOutputStream dos)
Writes this element value in an element-value-type dependent way; see JVMS8 4.7.16.1.
-
-
-
Field Detail
-
typeIndex
public final short typeIndex
The "type_index" field of theannotation
type as described in JVMS8 4.7.16. The constant pool entry at that index must be a CONSTANT_Utf8_info structure representing a field descriptor.
-
elementValuePairs
public final java.util.Map<java.lang.Short,ClassFile.ElementValue> elementValuePairs
The "element_value_pairs" field of theannotation
type as described in JVMS8 4.7.16. Key is the "element_name_index
" (a constant pool index to aClassFile.ConstantUtf8Info
); value is anClassFile.ElementValue
.
-
-
Constructor Detail
-
Annotation
public Annotation(short typeIndex, java.util.Map<java.lang.Short,ClassFile.ElementValue> elementValuePairs)
- Parameters:
typeIndex
- UTF 8 constant pool entry index; field descriptorelementValuePairs
- Maps element name index (ClassFile.ConstantUtf8Info
) toClassFile.ElementValue
s
-
-
Method Detail
-
getTag
public byte getTag()
- Specified by:
getTag
in interfaceClassFile.ElementValue
- Returns:
- The "tag" byte to use when storing this "value" in an "element_value" structure
-
store
public void store(java.io.DataOutputStream dos) throws java.io.IOException
Description copied from interface:ClassFile.ElementValue
Writes this element value in an element-value-type dependent way; see JVMS8 4.7.16.1. The "tag" byte is snot part of this writing!- Specified by:
store
in interfaceClassFile.ElementValue
- Throws:
java.io.IOException
-
accept
@Nullable public <R,EX extends java.lang.Throwable> R accept(ClassFile.ElementValue.Visitor<R,EX> visitor) throws EX extends java.lang.Throwable
Description copied from interface:ClassFile.ElementValue
Invokes the respective method of theClassFile.ElementValue.Visitor
.- Specified by:
accept
in interfaceClassFile.ElementValue
- Throws:
EX extends java.lang.Throwable
-
-