3.1.3. Attribute Types#
- class umbrella.java.attribute.FieldInfo(access_flags: 'AccessFlags', name_index: 'uint16_t', descriptor_index: 'uint16_t', num_attributes: 'uint16_t', attributes: 't.List[AttributeInfo]')#
- access_flags: AccessFlags#
- name_index: int#
- descriptor_index: int#
- num_attributes: int#
- attributes: List[AttributeInfo]#
- class umbrella.java.attribute.MethodInfo(access_flags: 'AccessFlags', name_index: 'uint16_t', descriptor_index: 'uint16_t', num_attributes: 'uint16_t', attributes: 't.List[AttributeInfo]')#
- access_flags: AccessFlags#
- name_index: int#
- descriptor_index: int#
- num_attributes: int#
- attributes: List[AttributeInfo]#
- class umbrella.java.attribute.AttributeInfo(name_index: 'uint16_t', attribute_length: 'uint32_t', info: 't.Union[*kAttributeTypes, bytes]')#
- name: str = False#
- name_index: int#
- attribute_length: int#
- info: AnnotationDefault | BootstrapMethods | Code | ConstantValue | Exceptions | InnerClasses | LineNumberTable | LocalVariableTable | LocalVariableTypeTable | Module | ModuleMainClass | ModulePackages | NestHost | NestMembers | PermittedSubclasses | Record | RuntimeInvisibleAnnotations | RuntimeInvisibleParameterAnnotations | RuntimeVisibleAnnotations | RuntimeVisibleParameterAnnotations | Signature | SourceFile | bytes#
3.1.3.1. Struct Definitions#
- class umbrella.java.attribute.Exceptions(num_exceptions: 'uint16_t', exception_index_table: 't.List[uint16_t]')#
- num_exceptions: int#
- exception_index_table: List[int]#
- class umbrella.java.attribute.InnerClass(inner_class_info_index: 'uint16_t', outer_class_info_index: 'uint16_t', inner_name_index: 'uint16_t', inner_class_access_flags: 'AccessFlags')#
- inner_class_info_index: int#
- outer_class_info_index: int#
- inner_name_index: int#
- inner_class_access_flags: AccessFlags#
- class umbrella.java.attribute.InnerClasses(num_inner_classes: 'uint16_t', classes: 't.List[uint16_t]')#
- num_inner_classes: int#
- classes: List[int]#
- class umbrella.java.attribute.CodeException(start_pc: 'uint16_t', end_pc: 'uint16_t', handler_pc: 'uint16_t', catch_type: 'uint16_t')#
- start_pc: int#
- end_pc: int#
- handler_pc: int#
- catch_type: int#
- class umbrella.java.attribute.Code(max_stack: 'uint16_t', max_locals: 'uint16_t', code_length: 'uint16_t', bytecode: 'uint16_t', exception_table_length: 'uint16_t', exception_table: 't.List[CodeException]', num_attributes: 'uint16_t', attributes: 't.List[AttributeInfo]')#
- max_stack: int#
- max_locals: int#
- code_length: int#
- bytecode: int#
- exception_table_length: int#
- exception_table: List[CodeException]#
- num_attributes: int#
- attributes: List[AttributeInfo]#
- class umbrella.java.attribute.EnclosingMethod(class_index: 'uint16_t', name_index: 'uint16_t')#
- class_index: int#
- name_index: int#
- class umbrella.java.attribute.LineNumber(start_pc: 'uint16_t', line_number: 'uint16_t')#
- start_pc: int#
- line_number: int#
- class umbrella.java.attribute.LineNumberTable(line_number_table_length: 'uint16_t', line_number_table: 't.List[LineNumber]')#
- line_number_table_length: int#
- line_number_table: List[LineNumber]#
- class umbrella.java.attribute.LocalVariable(start_pc: 'uint16_t', length: 'uint16_t', name_index: 'uint16_t', descriptor_index: 'uint16_t', index: 'uint16_t')#
- start_pc: int#
- length: int#
- name_index: int#
- descriptor_index: int#
- index: int#
- class umbrella.java.attribute.LocalVariableTable(local_variable_table_length: 'uint16_t', local_variable_table: 't.List[LocalVariable]')#
- local_variable_table_length: int#
- local_variable_table: List[LocalVariable]#
- class umbrella.java.attribute.LocalVariableType(start_pc: 'uint16_t', length: 'uint16_t', name_index: 'uint16_t', signature_index: 'uint16_t', index: 'uint16_t')#
- start_pc: int#
- length: int#
- name_index: int#
- signature_index: int#
- index: int#
- class umbrella.java.attribute.LocalVariableTypeTable(local_variable_type_table_length: 'uint16_t', local_variable_type_table: 't.List[LocalVariable]')#
- local_variable_type_table_length: int#
- local_variable_type_table: List[LocalVariable]#
- class umbrella.java.attribute.EnumConstValue(type_name_index: 'uint16_t', const_name_index: 'uint16_t')#
- type_name_index: int#
- const_name_index: int#
- class umbrella.java.attribute.ElementValueAdapter#
- class umbrella.java.attribute.ElementValue(tag: 'uint8_t', value: 't.Union[int, Annotation, EnumConstValue, AttributeRef]')#
- tag: int#
- value: int | Annotation | EnumConstValue | AttributeRef#
- class umbrella.java.attribute.ArrayValue(num_values: 'uint16_t', values: 't.List[ElementValue]')#
- num_values: int#
- values: List[ElementValue]#
- class umbrella.java.attribute.ElementValuePair(element_name_index: 'uint16_t', value: 'ElementValue')#
- element_name_index: int#
- value: ElementValue#
- class umbrella.java.attribute.Annotation(type_index: 'uint16_t', num_element_value_pairs: 'uint16_t', element_value_pairs: 't.List[ElementValuePair]')#
- type_index: int#
- num_element_value_pairs: int#
- element_value_pairs: List[ElementValuePair]#
- class umbrella.java.attribute.RuntimeAnnotations(num_annotations: 'uint16_t', annotations: 't.List[Annotation]')#
- num_annotations: int#
- annotations: List[Annotation]#
- class umbrella.java.attribute.ParameterAnnotation(num_annotations: 'uint16_t', annotations: 't.List[Annotation]')#
- num_annotations: int#
- annotations: List[Annotation]#
- class umbrella.java.attribute.RuntimeParameterAnnotations(num_parameters: 'uint16_t', parameter_annotations: 't.List[ParameterAnnotation]')#
- num_parameters: int#
- parameter_annotations: List[ParameterAnnotation]#
- class umbrella.java.attribute.AnnotationDefault(default_value: 'ElementValue')#
- default_value: ElementValue#
- class umbrella.java.attribute.BootstrapMethod(bootstrap_method_ref: 'uint16_t', num_bootstrap_arguments: 'uint16_t', bootstrap_arguments: 't.List[uint16_t]')#
- bootstrap_method_ref: int#
- num_bootstrap_arguments: int#
- bootstrap_arguments: List[int]#
- class umbrella.java.attribute.BootstrapMethods(num_bootstrap_methods: 'uint16_t', bootstrap_methods: 't.List[BootstrapMethod]')#
- num_bootstrap_methods: int#
- bootstrap_methods: List[BootstrapMethod]#
- class umbrella.java.attribute.MethodParameter(name_index: 'uint16_t', access_flags: 'AccessFlags')#
- name_index: int#
- access_flags: AccessFlags#
- class umbrella.java.attribute.MethodParameters(parameters_count: 'uint16_t', parameters: 't.List[MethodParameter]')#
- parameters_count: int#
- parameters: List[MethodParameter]#
- class umbrella.java.attribute.Module#
Java Module Attribute
- class Exports(exports_index: 'uint16_t', exports_flags: 'AccessFlags', exports_to_count: 'uint16_t', exports_to_index: 't.List[uint16_t]')#
- exports_index: int#
- exports_flags: AccessFlags#
- exports_to_count: int#
- exports_to_index: List[int]#
- class Opens(opens_index: 'uint16_t', opens_flags: 'AccessFlags', opens_to_count: 'uint16_t', opens_to_index: 't.List[uint16_t]')#
- opens_index: int#
- opens_flags: AccessFlags#
- opens_to_count: int#
- opens_to_index: List[int]#
- class Provides(provides_index: 'uint16_t', provides_with_count: 'uint16_t', provides_with_index: 't.List[uint16_t]')#
- provides_index: int#
- provides_with_count: int#
- provides_with_index: List[int]#
- class Requires(requires_index: 'uint16_t', requires_flags: 'AccessFlags', requires_version_index: 'uint16_t')#
- requires_index: int#
- requires_flags: AccessFlags#
- requires_version_index: int#
- module_name_index: int#
- module_flags: AccessFlags#
- module_version_index: int#
- requires_count: int#
- exports_count: int#
- opens_count: int#
- uses_count: int#
- uses: List[int]#
- provides_count: int#
- class umbrella.java.attribute.ModulePackages(package_count: 'uint16_t', package_index: 't.List[uint16_t]')#
- package_count: int#
- package_index: List[int]#
- class umbrella.java.attribute.NestMembers(number_of_classes: 'uint16_t', classes: 't.List[uint16_t]')#
- number_of_classes: int#
- classes: List[int]#
- class umbrella.java.attribute.RecordComponentInfo(name_index: 'uint16_t', descriptor_index: 'uint16_t', attributes_count: 'uint16_t', attributes: 't.List[AttributeInfo]')#
- name_index: int#
- descriptor_index: int#
- attributes_count: int#
- attributes: List[AttributeInfo]#
- class umbrella.java.attribute.Record(components_count: 'uint16_t', components: 't.List[RecordComponentInfo]')#
- components_count: int#
- components: List[RecordComponentInfo]#