def __init__(self, offset, member_name, member_type, member_offset):
    self.member_name = member_name
    self.member_type = member_type
    if isinstance(member_offset, list):
        if (member_offset[0] == 35):
            self.member_offset = (member_offset[1] & 127)
            for i in range(1, (len(member_offset) - 1)):
                if (member_offset[i] & 128):
                    self.member_offset += ((member_offset[(i + 1)] & 127) << (i * 7))
        else:
            raise Exception(('not yet supported location operation (%s:%d:%d)' % (self.member_name, self.member_type, member_offset[0])))
    else:
        self.member_offset = member_offset
def __init__(self, offset, member_name, member_type, member_offset):
    self.member_name = member_name
    self.member_type = member_type
    if isinstance(member_offset, list):
        if (member_offset[0] == 35):
            self.member_offset = (member_offset[1] & 127)
            for i in range(1, (len(member_offset) - 1)):
                if (member_offset[i] & 128):
                    self.member_offset += ((member_offset[(i + 1)] & 127) << (i * 7))
        else:
            raise Exception(('not yet supported location operation (%s:%d:%d)' % (self.member_name, self.member_type, member_offset[0])))
    else:
        self.member_offset = member_offset