mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
247879f7fc
This commit switches `model::Type::ID` from being a GUID to be a progressive number, in order to make things easier for humans. On top of this, this commit introduces the following changes: * TypeCopier: import all the necessary PrimitiveTypes and improve handling of CustomName. * Move Kind as the last field of the key of each TupleTree type used in an `UpcastablePointer`. * Update the ground truth of tests to ignore the `CustomName` in favor of focusing on `OriginalName`. * Increase adoption of `model::Binary::makeType`, equivalent to `Binary.recordNewType(makeType<model::*Type>())`.
rev.ng model classes
By default, importing the top level package will expose the classes for the latest version of the model.
Example: deserializing a model
import yaml
from revng import model as m
with open("/path/to/model.yaml") as f:
model = yaml.load(f, Loader=m.YamlLoader)
If you need to access a specific version of the model you can import it like so:
import yaml
from revng.model import v1
yaml.load(..., Loader=v1.YamlLoader)