Skip to content

Commit 8af0301

Browse files
committedDec 17, 2014
transforms/tools/value_to_ast: list support
1 parent f3b727b commit 8af0301

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed
 

‎artiq/test/full_stack.py

+5
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class _Misc(AutoContext):
5050
def build(self):
5151
self.input = 84
5252
self.inhomogeneous_units = []
53+
self.al = [1, 2, 3, 4, 5]
5354

5455
@kernel
5556
def run(self):
@@ -59,6 +60,9 @@ def run(self):
5960
self.decimal_fraction_d = int(decimal_fraction.denominator)
6061
self.inhomogeneous_units.append(Quantity(1000, "Hz"))
6162
self.inhomogeneous_units.append(Quantity(10, "s"))
63+
self.acc = 0
64+
for i in range(5):
65+
self.acc += self.al[i]
6266

6367
@kernel
6468
def dimension_error1(self):
@@ -185,6 +189,7 @@ def test_misc(self):
185189
Fraction("1.2"))
186190
self.assertEqual(uut.inhomogeneous_units, [
187191
Quantity(1000, "Hz"), Quantity(10, "s")])
192+
self.assertEqual(uut.acc, sum(uut.al))
188193
with self.assertRaises(DimensionError):
189194
uut.dimension_error1()
190195
with self.assertRaises(DimensionError):

‎artiq/transforms/tools.py

+3
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ def value_to_ast(value):
5454
keywords=[], starargs=None, kwargs=None)
5555
elif isinstance(value, str):
5656
return ast.Str(value)
57+
elif isinstance(value, list):
58+
elts = [value_to_ast(elt) for elt in value]
59+
return ast.List(elts, ast.Load())
5760
else:
5861
for kg in core_language.kernel_globals:
5962
if value is getattr(core_language, kg):

0 commit comments

Comments
 (0)
Please sign in to comment.