Я пытался
constant_var = Datatype("constant_var")
constant_var.declare("cons", ("id", IntSort()))
constant_var = constant_var.create()
c = constant_var.cons(0)
c.sort().id(c)
Но я получаю
AttributeError: у объекта 'DatatypeSortRef' нет атрибута 'id'
Между тем
constant_var.id(c)
работает просто отлично.Я могу сделать любой из
c.arg(0)
c.sort().accessor(0, 0)(c)
, но мне было интересно, почему оригинал не работает?Я хочу понять, потому что я чувствую, что пропускаю главную часть.Для справки:
"print(constant_var):" constant_var
"print(c.sort()):" constant_var
"print(constant_var.id):" id
"print(c.sort().id):" AttributeError: 'DatatypeSortRef' object has no attribute 'id'
"constant_var==c.sort():" True
"constant_var.hash()==c.sort().hash():" True
"constant_var.get_id()==c.sort().get_id():" True
"constant_var is id(c.sort()):" False
"constant_var.as_ast()==c.sort().as_ast():" False