|
|
@@ -417,15 +417,20 @@ Element function read_attribute(model : Element, element : String, attribute : S
|
|
|
Element elem
|
|
|
String name
|
|
|
|
|
|
- elem = model["model"][element]
|
|
|
+ Element model_dict
|
|
|
+ Element mm_dict
|
|
|
+ model_dict = model["model"]
|
|
|
+ mm_dict = model["metamodel"]["model"]
|
|
|
+
|
|
|
+ elem = model_dict[element]
|
|
|
count = read_nr_out(elem)
|
|
|
|
|
|
i = 0
|
|
|
while (i < count):
|
|
|
edge = read_out(elem, i)
|
|
|
- name = reverseKeyLookup(model["model"], edge)
|
|
|
+ name = reverseKeyLookup(model_dict, edge)
|
|
|
if (name != ""):
|
|
|
- edge_type = model["metamodel"]["model"][read_type(model, name)]
|
|
|
+ edge_type = mm_dict[read_type(model, name)]
|
|
|
if (element_eq(edge_type, dict_read_edge(read_edge_src(edge_type), attribute))):
|
|
|
return read_edge_dst(edge)!
|
|
|
i = i + 1
|