pub enum ConstantRef<'a> {
Show 18 variants
Unusable,
Utf8(&'a str),
Integer(i32),
Float(f32),
Long(i64),
Double(f64),
Class {
name: ConstantPoolIndex,
},
String {
value: ConstantPoolIndex,
},
FieldReference {
class: ConstantPoolIndex,
name_and_type: ConstantPoolIndex,
},
MethodReference {
class: ConstantPoolIndex,
name_and_type: ConstantPoolIndex,
},
InterfaceMethodReference {
class: ConstantPoolIndex,
name_and_type: ConstantPoolIndex,
},
NameAndType {
name: ConstantPoolIndex,
descriptor: ConstantPoolIndex,
},
MethodHandle {
reference_kind: u8,
reference: ConstantPoolIndex,
},
MethodType {
descriptor: ConstantPoolIndex,
},
Dynamic {
bootstrap_method: u16,
name_and_type: ConstantPoolIndex,
},
InvokeDynamic {
bootstrap_method: u16,
name_and_type: ConstantPoolIndex,
},
Module {
name: ConstantPoolIndex,
},
Package {
name: ConstantPoolIndex,
},
}Expand description
A borrowed view of one constant-pool entry.
Index-bearing variants retain their raw class-file indices instead of resolving or rewriting the referenced entries.
Variants§
Unusable
A reserved constant-pool slot with no value.
Utf8(&'a str)
A modified UTF-8 string decoded by the underlying parser.
Integer(i32)
A 32-bit integer literal.
Float(f32)
A 32-bit floating-point literal.
Long(i64)
A 64-bit integer literal.
Double(f64)
A 64-bit floating-point literal.
Class
A class reference whose name is stored in another constant-pool entry.
Fields
name: ConstantPoolIndexIndex of the UTF-8 internal class name.
String
A string constant whose value is stored in another constant-pool entry.
Fields
value: ConstantPoolIndexIndex of the UTF-8 string value.
FieldReference
A field member reference.
Fields
class: ConstantPoolIndexIndex of the declaring class entry.
name_and_type: ConstantPoolIndexIndex of the member name-and-descriptor entry.
MethodReference
A class method reference.
Fields
class: ConstantPoolIndexIndex of the declaring class entry.
name_and_type: ConstantPoolIndexIndex of the member name-and-descriptor entry.
InterfaceMethodReference
An interface method reference.
Fields
class: ConstantPoolIndexIndex of the declaring interface entry.
name_and_type: ConstantPoolIndexIndex of the member name-and-descriptor entry.
NameAndType
A member name and descriptor pair.
Fields
name: ConstantPoolIndexIndex of the UTF-8 member name.
descriptor: ConstantPoolIndexIndex of the UTF-8 descriptor.
MethodHandle
A method-handle constant.
Fields
reference: ConstantPoolIndexIndex of the referenced field or method entry.
MethodType
A method-type constant.
Fields
descriptor: ConstantPoolIndexIndex of the UTF-8 method descriptor.
Dynamic
A dynamically computed constant.
Fields
name_and_type: ConstantPoolIndexIndex of the name-and-descriptor entry.
InvokeDynamic
An invokedynamic call-site constant.
Fields
name_and_type: ConstantPoolIndexIndex of the name-and-descriptor entry.
Module
A Java Platform Module System module constant.
Fields
name: ConstantPoolIndexIndex of the UTF-8 module name.
Package
A Java Platform Module System package constant.
Fields
name: ConstantPoolIndexIndex of the UTF-8 package name.
Trait Implementations§
Source§impl<'a> Clone for ConstantRef<'a>
impl<'a> Clone for ConstantRef<'a>
Source§fn clone(&self) -> ConstantRef<'a>
fn clone(&self) -> ConstantRef<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more