Source code for jawa.attributes.constant_value

from struct import pack
from jawa.attribute import Attribute


[docs]class ConstantValueAttribute(Attribute): ADDED_IN = '1.0.2' MINIMUM_CLASS_VERSION = (45, 3) def __init__(self, table, value=None, name_index=None): super(ConstantValueAttribute, self).__init__( table, name_index or table.cf.constants.create_utf8( 'ConstantValue' ).index ) self._constant_value_index = value.index if value else None
[docs] def unpack(self, info): self._constant_value_index = info.u2()
[docs] def pack(self): return pack('>H', self._constant_value_index)
@property def constant_value(self): return self.cf.constants[self._constant_value_index]