|
@@ -131,6 +131,7 @@ String function instantiate_value(model : Element, type_name : String, instance_
|
|
|
String function find_attribute_type(model : Element, elem : String, name : String):
|
|
|
String mm_elem
|
|
|
String direct_type
|
|
|
+ String result
|
|
|
|
|
|
direct_type = read_type(model, elem)
|
|
|
|
|
@@ -143,7 +144,8 @@ String function find_attribute_type(model : Element, elem : String, name : Strin
|
|
|
// Couldn't find element, so is not allowed!
|
|
|
return ""!
|
|
|
else:
|
|
|
- return reverseKeyLookup(model["metamodel"]["model"], dict_read_edge(model["metamodel"]["model"][mm_elem], name))!
|
|
|
+ result = reverseKeyLookup(model["metamodel"]["model"], dict_read_edge(model["metamodel"]["model"][mm_elem], name))
|
|
|
+ return result!
|
|
|
|
|
|
Element function get_superclasses(model : Element, name : String):
|
|
|
Element result
|
|
@@ -211,6 +213,9 @@ Void function instantiate_attribute(model : Element, element : String, attribute
|
|
|
log("Could not find attribute " + cast_v2s(attribute_name))
|
|
|
log("For element " + element)
|
|
|
return!
|
|
|
+
|
|
|
+ if (has_value(value)):
|
|
|
+ value = create_value(value)
|
|
|
|
|
|
attr_name = model_add_value(model, (element + ".") + attribute_name, value)
|
|
|
retype(model, attr_name, reverseKeyLookup(model["metamodel"]["model"], read_edge_dst(model["metamodel"]["model"][attr_type])))
|