Package org.codehaus.janino.util
Class ClassFile.ConstantElementValue
- java.lang.Object
-
- org.codehaus.janino.util.ClassFile.ConstantElementValue
-
- All Implemented Interfaces:
ClassFile.ElementValue
- Direct Known Subclasses:
ClassFile.BooleanElementValue
,ClassFile.ByteElementValue
,ClassFile.CharElementValue
,ClassFile.ClassElementValue
,ClassFile.DoubleElementValue
,ClassFile.FloatElementValue
,ClassFile.IntElementValue
,ClassFile.LongElementValue
,ClassFile.ShortElementValue
,ClassFile.StringElementValue
- Enclosing class:
- ClassFile
public abstract static class ClassFile.ConstantElementValue extends java.lang.Object implements ClassFile.ElementValue
Convenience class for element values that are constants (as opposed to annotations, enum constants and arrays).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ClassFile.ConstantElementValue.Visitor<R,EX extends java.lang.Throwable>
The visitor interface for the implementation of the "visitor" pattern.
-
Field Summary
Fields Modifier and Type Field Description short
constantValueIndex
The index of the constant pool entry that holds the constant value for this annotation element.
-
Constructor Summary
Constructors Constructor Description ConstantElementValue(byte tag, short constantValueIndex)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract <R,EX extends java.lang.Throwable>
Raccept(ClassFile.ConstantElementValue.Visitor<R,EX> visitor)
Invokes the respective method of theClassFile.ConstantElementValue.Visitor
.<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.
-
-
-
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
-
accept
@Nullable protected abstract <R,EX extends java.lang.Throwable> R accept(ClassFile.ConstantElementValue.Visitor<R,EX> visitor) throws EX extends java.lang.Throwable
Invokes the respective method of theClassFile.ConstantElementValue.Visitor
.- Throws:
EX extends java.lang.Throwable
-
-