Next: ClassInvariant Attribute, Previous: ModelField Attribute, Up: Class Attributes
This attribute contains information about the model methods declared in the class. The format of the attribute is as follows:
ModelMethod_attribute { u2 attribute_name_index; u4 attribute_length; u2 methods_count; method_info methods[methods_count]; }
The meaning of the fields is as follows:
method_info
structure (extended with BML-specific attributes), see
Methods Data Structure and Method Attributes. The BML flags
of model methods are stored in the MethodSpecification Attribute
(see MethodSpecification Attribute). The only allowed flags are BML_NON_NULL
,
BML_NULLABLE
. All other flags must be cleared. Only one of BML_NON_NULL
,
BML_NULLABLE
can be set for any given method.
Note that model methods that are part of an interface do not have to be
static, like Java methods. This information is represented by the unset
ACC_STATIC
flag in the access_flags
attribute of the
method_info
structure of the given method.