MCPcopy Create free account
hub / github.com/IntegralPilot/rustc_codegen_jvm / from

Method from

src/lower2/constant_pool.rs:47–109  ·  view source on GitHub ↗
(constant: &Constant)

Source from the content-addressed store, hash-verified

45}
46
47impl From<&Constant<'_>> for ConstantKey {
48 fn from(constant: &Constant<'_>) -> Self {
49 match constant {
50 Constant::Utf8(value) => ConstantKey::Utf8(value.as_ref().to_owned()),
51 Constant::Integer(value) => ConstantKey::Integer(*value),
52 Constant::Float(value) => ConstantKey::Float(value.to_bits()),
53 Constant::Long(value) => ConstantKey::Long(*value),
54 Constant::Double(value) => ConstantKey::Double(value.to_bits()),
55 Constant::Class(name_index) => ConstantKey::Class(*name_index),
56 Constant::String(string_index) => ConstantKey::String(*string_index),
57 Constant::FieldRef {
58 class_index,
59 name_and_type_index,
60 } => ConstantKey::FieldRef {
61 class_index: *class_index,
62 name_and_type_index: *name_and_type_index,
63 },
64 Constant::MethodRef {
65 class_index,
66 name_and_type_index,
67 } => ConstantKey::MethodRef {
68 class_index: *class_index,
69 name_and_type_index: *name_and_type_index,
70 },
71 Constant::InterfaceMethodRef {
72 class_index,
73 name_and_type_index,
74 } => ConstantKey::InterfaceMethodRef {
75 class_index: *class_index,
76 name_and_type_index: *name_and_type_index,
77 },
78 Constant::NameAndType {
79 name_index,
80 descriptor_index,
81 } => ConstantKey::NameAndType {
82 name_index: *name_index,
83 descriptor_index: *descriptor_index,
84 },
85 Constant::MethodHandle {
86 reference_kind,
87 reference_index,
88 } => ConstantKey::MethodHandle {
89 reference_kind: reference_kind.kind(),
90 reference_index: *reference_index,
91 },
92 Constant::MethodType(descriptor_index) => ConstantKey::MethodType(*descriptor_index),
93 Constant::Dynamic {
94 bootstrap_method_attr_index,
95 name_and_type_index,
96 } => ConstantKey::Dynamic {
97 bootstrap_method_attr_index: *bootstrap_method_attr_index,
98 name_and_type_index: *name_and_type_index,
99 },
100 Constant::InvokeDynamic {
101 bootstrap_method_attr_index,
102 name_and_type_index,
103 } => ConstantKey::InvokeDynamic {
104 bootstrap_method_attr_index: *bootstrap_method_attr_index,

Callers

nothing calls this directly

Calls 1

ModuleClass · 0.85

Tested by

no test coverage detected