|
@@ -158,7 +158,6 @@ Element function get_subclasses(model : Element, name : String):
|
|
|
|
|
|
nodes = create_node()
|
|
|
set_add(nodes, name)
|
|
|
- inheritance = "Inheritance"
|
|
|
|
|
|
// Initialize empty set
|
|
|
result = create_node()
|
|
@@ -173,7 +172,7 @@ Element function get_subclasses(model : Element, name : String):
|
|
|
j = 0
|
|
|
while (j < num_edges):
|
|
|
edge = read_in(model["model"][elem], j)
|
|
|
- if (value_eq(model["type_mapping"][reverseKeyLookup(model["model"], edge)], inheritance)):
|
|
|
+ if (value_eq(model["type_mapping"][reverseKeyLookup(model["model"], edge)], "Inheritance")):
|
|
|
set_add(nodes, reverseKeyLookup(model["model"], read_edge_src(edge)))
|
|
|
j = j + 1
|
|
|
|
|
@@ -379,7 +378,7 @@ Element function read_attribute(model : Element, element : String, attribute : S
|
|
|
Integer i
|
|
|
Integer count
|
|
|
Element edge
|
|
|
- String edge_type_name
|
|
|
+ Element edge_type
|
|
|
Element elem
|
|
|
Element typing
|
|
|
Element name
|
|
@@ -394,8 +393,8 @@ Element function read_attribute(model : Element, element : String, attribute : S
|
|
|
edge = read_out(elem, i)
|
|
|
name = reverseKeyLookup(model["model"], edge)
|
|
|
if (dict_in(typing, name)):
|
|
|
- edge_type_name = typing[name]
|
|
|
- if (edge_type_name == reverseKeyLookup(model["metamodel"]["model"], dict_read_edge(read_edge_src(model["metamodel"]["model"][edge_type_name]), attribute))):
|
|
|
+ edge_type = model["metamodel"]["model"][typing[name]]
|
|
|
+ if (element_eq(edge_type, dict_read_edge(read_edge_src(edge_type), attribute))):
|
|
|
return read_edge_dst(edge)!
|
|
|
i = i + 1
|
|
|
|