+(defmethod get-table ((parser xdump-parser) table-name)
+ (with-slots (index-by-name table-by-index) parser
+ (let* ((table-index (gethash table-name index-by-name))
+ (table (aref table-by-index table-index)))
+ table)))
+
+(defmethod get-table-entry ((parser xdump-parser) table-name index)
+ (aref (table-entries (get-table table-name)) index))
+
+(defmethod sym-by-value ((parser xdump-parser) table-name value)
+ (with-slots (table-classes-package) parser
+ (let ((value-slot (find-symbol "VALUE" table-classes-package))
+ (name-slot (find-symbol "NAME" table-classes-package))
+ (meta-type-table (get-table parser table-name)))
+ (loop for entry across (table-entries meta-type-table)
+ if (= (slot-value entry value-slot) value)
+ return (slot-value entry name-slot)))))
+