Ver código fonte

Compile set_copy

Yentl Van Tendeloo 9 anos atrás
pai
commit
c8e5d2ef9b
1 arquivos alterados com 9 adições e 0 exclusões
  1. 9 0
      kernel/modelverse_kernel/compiled.py

+ 9 - 0
kernel/modelverse_kernel/compiled.py

@@ -114,3 +114,12 @@ def precompute_cardinalities(a, **remainder):
         yield [("CD", [value, card_type, cards[card_type]]) for card_type in cards]
 
     raise PrimitiveFinished(result)
+
+def set_copy(a, **remainder):
+    b =         yield [("CN", [])]
+    links =     yield [("RO", [a])]
+    exp_links = yield [("RE", [i]) for i in links]
+    if len(links) == 1:
+        exp_links = [exp_links]
+    _ =         yield [("CE", [b, i[1]]) for i in exp_links]
+    raise PrimitiveFinished(b)