@property
    def attributes_count(self):
        return len(self.attributes)

# ------------------------------------------------------------------------
# 4.7.4. The StackMapTable Attribute
# ------------------------------------------------------------------------

# The StackMapTable attribute is a variable-length attribute in the attributes
# table of a Code (§4.7.3) attribute. This attribute is used during the process
# of verification by type checking (§4.10.1). A method's Code attribute may have
# at most one StackMapTable attribute.

# A StackMapTable attribute consists of zero or more stack map frames. Each
# stack map frame specifies (either explicitly or implicitly) a bytecode offset,
# the verification types (§4.10.1.2) for the local variables, and the
# verification types for the operand stack.

# The type checker deals with and manipulates the expected types of a method's
# local variables and operand stack. Throughout this section, a location refers
# to either a single local variable or to a single operand stack entry.

# We will use the terms stack map frame and type state interchangeably to
# describe a mapping from locations in the operand stack and local variables of
# a method to verification types. We will usually use the term stack map frame
# when such a mapping is provided in the class file, and the term type state
# when the mapping is used by the type checker.

# In a class file whose version number is greater than or equal to 50.0, if a
# method's Code attribute does not have a StackMapTable attribute, it has an
# implicit stack map attribute. This implicit stack map attribute is equivalent
# to a StackMapTable attribute with number_of_entries equal to zero.
The value of the attributes_count item indicates the number of
dataset/ETHPy150Open pybee/voc/voc/java/attributes.py/Code.attributes_count