#
# sample small-but-valid classfile
#

cafe babe  # magic
0000       # minor_version
002e       # major_version
0008       # constant_pool_count

#
# constant_pool
#
07 0003                    # 0001: class[Small]
07 0004                    # 0002: class[java/lang/Object]
01 0005 "Small"            # 0003: utf8["Small"]
01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"]
01 0005 "blort"            # 0005: utf8["blort"]
01 0003 "()V"              # 0006: utf8["()V"]
01 0004 "Code"             # 0007: utf8["Code"]

0001  # access_flags
0001  # this_class
0002  # super_class
0000  # interfaces_count
0000  # fields_count
0001  # methods_count

# methods[0]
0001  # access_flags
0005  # name
0006  # descriptor
0001  # attributes_count
# attributes[0]
0007      # name
0000000d  # length
0001      # max_stack
0001      # max_locals
00000001  # code_length
b1        # 0000: return
0000      # exception_table_length
0000      # attributes_count

0000  # attributes_count
