Fix parsing primitive types
This commit is contained in:
parent
107f2f750e
commit
ee790e4a11
1 changed files with 7 additions and 4 deletions
|
|
@ -47,7 +47,10 @@ def parse_od(state, m_text, mm):
|
||||||
m = state.create_node()
|
m = state.create_node()
|
||||||
od = OD(mm, m, state)
|
od = OD(mm, m, state)
|
||||||
|
|
||||||
int_mm_id = UUID(state.read_value(state.read_dict(state.read_root(), "Integer")))
|
primitive_types = {
|
||||||
|
type_name : UUID(state.read_value(state.read_dict(state.read_root(), type_name)))
|
||||||
|
for type_name in ["Integer", "String", "Boolean"]
|
||||||
|
}
|
||||||
|
|
||||||
class T(TBase):
|
class T(TBase):
|
||||||
def __init__(self, visit_tokens):
|
def __init__(self, visit_tokens):
|
||||||
|
|
@ -73,10 +76,10 @@ def parse_od(state, m_text, mm):
|
||||||
obj_node = od.create_object(obj_name, type_name)
|
obj_node = od.create_object(obj_name, type_name)
|
||||||
else:
|
else:
|
||||||
src, tgt = link
|
src, tgt = link
|
||||||
if tgt == "Integer":
|
if tgt in primitive_types:
|
||||||
if state.read_dict(m, "Integer") == None:
|
if state.read_dict(m, tgt) == None:
|
||||||
scd = SCD(m, state)
|
scd = SCD(m, state)
|
||||||
scd.create_model_ref("Integer", int_mm_id)
|
scd.create_model_ref(tgt, primitive_types[tgt])
|
||||||
od.create_link(obj_name, type_name, src, tgt)
|
od.create_link(obj_name, type_name, src, tgt)
|
||||||
# Create slots
|
# Create slots
|
||||||
slots = el[3:]
|
slots = el[3:]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue