|
| using | rpnx::cortado::verification_type_info = std::variant< top_variable_info, integer_variable_info, float_variable_info, double_variable_info, long_variable_info, null_variable_info, uninitialized_this_variable_info, object_variable_info, uninitialized_variable_info > |
| | A StackMapTable verification_type_info structure.
|
| |
| using | rpnx::cortado::stack_map_frame = std::variant< same_frame, same_locals_one_stack_item_frame, same_locals_one_stack_item_frame_extended, chop_frame, same_frame_extended, append_frame, full_frame > |
| | Any valid StackMapTable frame encoding.
|
| |
| using | rpnx::cortado::type_annotation_target_info = std::variant< type_annotation_target< type_annotation_target_type::class_type_parameter, type_parameter_target_info >, type_annotation_target< type_annotation_target_type::method_type_parameter, type_parameter_target_info >, type_annotation_target< type_annotation_target_type::class_extends, supertype_target_info >, type_annotation_target< type_annotation_target_type::class_type_parameter_bound, type_parameter_bound_target_info >, type_annotation_target< type_annotation_target_type::method_type_parameter_bound, type_parameter_bound_target_info >, type_annotation_target< type_annotation_target_type::field, empty_target_info >, type_annotation_target< type_annotation_target_type::method_return, empty_target_info >, type_annotation_target< type_annotation_target_type::method_receiver, empty_target_info >, type_annotation_target< type_annotation_target_type::method_formal_parameter, formal_parameter_target_info >, type_annotation_target< type_annotation_target_type::throws_, throws_target_info >, type_annotation_target< type_annotation_target_type::local_variable, local_variable_target_info >, type_annotation_target< type_annotation_target_type::resource_variable, local_variable_target_info >, type_annotation_target< type_annotation_target_type::exception_parameter, catch_target_info >, type_annotation_target< type_annotation_target_type::instanceof_, offset_target_info >, type_annotation_target< type_annotation_target_type::new_, offset_target_info >, type_annotation_target< type_annotation_target_type::constructor_reference, offset_target_info >, type_annotation_target< type_annotation_target_type::method_reference, offset_target_info >, type_annotation_target< type_annotation_target_type::cast, type_argument_target_info >, type_annotation_target< type_annotation_target_type::constructor_invocation_type_argument, type_argument_target_info >, type_annotation_target< type_annotation_target_type::method_invocation_type_argument, type_argument_target_info >, type_annotation_target< type_annotation_target_type::constructor_reference_type_argument, type_argument_target_info >, type_annotation_target< type_annotation_target_type::method_reference_type_argument, type_argument_target_info > > |
| | Any valid type-annotation target_info structure.
|
| |
| using | rpnx::cortado::record_component_attribute = std::variant< signature_attribute, runtime_visible_annotations_attribute, runtime_invisible_annotations_attribute, runtime_visible_type_annotations_attribute, runtime_invisible_type_annotations_attribute, unknown_attribute > |
| | Attributes valid in a record_component_info structure.
|
| |
| using | rpnx::cortado::code_nested_attribute = std::variant< stack_map_table_attribute, line_number_table_attribute, local_variable_table_attribute, local_variable_type_table_attribute, runtime_visible_type_annotations_attribute, runtime_invisible_type_annotations_attribute, unknown_attribute > |
| | Attributes valid within a Code attribute.
|
| |
| using | rpnx::cortado::field_attribute = std::variant< constant_value_attribute, synthetic_attribute, signature_attribute, deprecated_attribute, runtime_visible_annotations_attribute, runtime_invisible_annotations_attribute, runtime_visible_type_annotations_attribute, runtime_invisible_type_annotations_attribute, unknown_attribute > |
| | Attributes valid on a field_info structure.
|
| |
| using | rpnx::cortado::method_attribute = std::variant< code_attribute, exceptions_attribute, synthetic_attribute, signature_attribute, deprecated_attribute, runtime_visible_annotations_attribute, runtime_invisible_annotations_attribute, runtime_visible_parameter_annotations_attribute, runtime_invisible_parameter_annotations_attribute, runtime_visible_type_annotations_attribute, runtime_invisible_type_annotations_attribute, annotation_default_attribute, method_parameters_attribute, unknown_attribute > |
| | Attributes valid on a method_info structure.
|
| |
| using | rpnx::cortado::class_attribute = std::variant< inner_classes_attribute, enclosing_method_attribute, synthetic_attribute, signature_attribute, source_file_attribute, source_debug_extension_attribute, deprecated_attribute, runtime_visible_annotations_attribute, runtime_invisible_annotations_attribute, runtime_visible_type_annotations_attribute, runtime_invisible_type_annotations_attribute, bootstrap_methods_attribute, module_attribute, module_packages_attribute, module_main_class_attribute, nest_host_attribute, nest_members_attribute, record_attribute, permitted_subclasses_attribute, unknown_attribute > |
| | Attributes valid on a ClassFile structure.
|
| |
|
| enum class | rpnx::cortado::annotation_constant_kind : std::uint8_t {
byte = 'B'
, character = 'C'
, double_precision = 'D'
, floating_point = 'F'
,
integer = 'I'
, long_integer = 'J'
, short_integer = 'S'
, boolean = 'Z'
,
string = 's'
} |
| | Constant-valued annotation element tags. More...
|
| |
| enum class | rpnx::cortado::type_annotation_target_type : std::uint8_t {
class_type_parameter = 0x00
, method_type_parameter = 0x01
, class_extends = 0x10
, class_type_parameter_bound = 0x11
,
method_type_parameter_bound = 0x12
, field = 0x13
, method_return = 0x14
, method_receiver = 0x15
,
method_formal_parameter = 0x16
, throws_ = 0x17
, local_variable = 0x40
, resource_variable = 0x41
,
exception_parameter = 0x42
, instanceof_ = 0x43
, new_ = 0x44
, constructor_reference = 0x45
,
method_reference = 0x46
, cast = 0x47
, constructor_invocation_type_argument = 0x48
, method_invocation_type_argument = 0x49
,
constructor_reference_type_argument = 0x4A
, method_reference_type_argument = 0x4B
} |
| | A type-annotation target discriminator. More...
|
| |
| enum class | rpnx::cortado::type_path_kind : std::uint8_t { array = 0
, nested = 1
, wildcard_bound = 2
, type_argument = 3
} |
| | A type_path component kind. More...
|
| |
| enum class | rpnx::cortado::method_parameter_access_flags : std::uint16_t { none = 0
, is_final = 0x0010
, is_synthetic = 0x1000
, is_mandated = 0x8000
} |
| | JVM MethodParameters access flags. More...
|
| |
| enum class | rpnx::cortado::module_access_flags : std::uint16_t { none = 0
, is_open = 0x0020
, is_synthetic = 0x1000
, is_mandated = 0x8000
} |
| | JVM module declaration flags. More...
|
| |
| enum class | rpnx::cortado::module_requires_flags : std::uint16_t {
none = 0
, is_transitive = 0x0020
, is_static_phase = 0x0040
, is_synthetic = 0x1000
,
is_mandated = 0x8000
} |
| | JVM module requires flags. More...
|
| |
| enum class | rpnx::cortado::module_exports_opens_flags : std::uint16_t { none = 0
, is_synthetic = 0x1000
, is_mandated = 0x8000
} |
| | JVM module exports and opens flags. More...
|
| |
Typed JVM attributes and the complete owning class-file model.
Every standard attribute alternative appears only in the context variants where the JVM permits it. Unknown attributes retain their exact payload.
Unless a member says otherwise, every name_index refers to the CONSTANT_Utf8 entry containing the enclosing attribute's predefined name. Other members ending in _index preserve the exact logical constant-pool index and therefore require the constant kind specified by the JVM format.
Definition in file attributes.hpp.