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 theannotationsarray 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>elementValuePairsThe "element_value_pairs" field of theannotationtype as described in JVMS8 4.7.16.shorttypeIndexThe "type_index" field of theannotationtype 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.bytegetTag()voidstore(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 theannotationtype 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 theannotationtype 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.ElementValues
-
-
Method Detail
-
getTag
public byte getTag()
- Specified by:
getTagin 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.IOExceptionDescription copied from interface:ClassFile.ElementValueWrites 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:
storein 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.ElementValueInvokes the respective method of theClassFile.ElementValue.Visitor.- Specified by:
acceptin interfaceClassFile.ElementValue- Throws:
EX extends java.lang.Throwable
-
-