Forráskód Böngészése

Fixed reverse dictionary

Yentl Van Tendeloo 8 éve
szülő
commit
303a135b66
2 módosított fájl, 7 hozzáadás és 6 törlés
  1. 2 2
      bootstrap/model_management.alc
  2. 5 4
      bootstrap/primitives.alc

+ 2 - 2
bootstrap/model_management.alc

@@ -42,8 +42,8 @@ Element function model_fuse(models : Element):
 			if (is_edge(model["model"][key])):
 				String src
 				String dst
-				src = model_name + cast_e2s(reverse[cast_id2s(read_edge_src(model["model"][key]))])
-				dst = model_name + cast_e2s(reverse[cast_id2s(read_edge_dst(model["model"][key]))])
+				src = string_join(model_name, reverse[cast_id2s(read_edge_src(model["model"][key]))])
+				dst = string_join(model_name, reverse[cast_id2s(read_edge_dst(model["model"][key]))])
 				if (bool_and(dict_in(new_model["model"], src), dict_in(new_model["model"], dst))):
 					instantiate_link(new_model, type, model_name + key, src, dst)
 				else:

+ 5 - 4
bootstrap/primitives.alc

@@ -354,14 +354,15 @@ Element function make_reverse_dictionary(dict : Element):
 	Element keys
 	Element reverse
 	String key
+	String value
 
 	reverse = create_node()
 	keys = dict_keys(dict)
 	while (read_nr_out(keys) > 0):
 		key = set_pop(keys)
-		key = cast_id2s(key)
-		if (dict_in(reverse, key)):
-			dict_delete(reverse, key)
-		dict_add(reverse, key, dict[key])
+		value = cast_id2s(dict[key])
+		if (dict_in(reverse, value)):
+			dict_delete(reverse, value)
+		dict_add(reverse, value, key)
 
 	return reverse!