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

Fix bug in import statement.

Joeri Exelmans 5 éve
szülő
commit
947e998165
1 módosított fájl, 5 hozzáadás és 3 törlés
  1. 5 3
      src/sccd/action_lang/static/statement.py

+ 5 - 3
src/sccd/action_lang/static/statement.py

@@ -217,9 +217,11 @@ class ImportStatement(Statement):
             if isinstance(type, SCCDFunction):
                 # Function values are a bit special, in the action language they are secretly passed a MemoryInterface object as first parameter, followed by the other (visible) parameters.
                 # I don't really like this solution, but it works for now.
-                def wrapper(memory: MemoryInterface, *params):
-                    return value(*params)
-                self.declarations.append((offset, wrapper))
+                def make_wrapper(func):
+                    def wrapper(memory: MemoryInterface, *params):
+                        return func(*params)
+                    return wrapper
+                self.declarations.append((offset, make_wrapper(value)))
             else:
                 self.declarations.append((offset, value))
         return NeverReturns