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.AttributeRef(index: 'uint16_t')#
index: int#
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#
requires: List[Requires]#
exports_count: int#
exports: List[Exports]#
opens_count: int#
opens: List[Exports]#
uses_count: int#
uses: List[int]#
provides_count: int#
provides: List[Provides]#
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]#