forked from M-Labs/artiq
Merge branch 'master' of github.com:m-labs/artiq
This commit is contained in:
commit
fbf94f9b6d
|
@ -356,8 +356,7 @@ class Function:
|
||||||
exception_id = self.mappers.exception.encode(exception_class)
|
exception_id = self.mappers.exception.encode(exception_class)
|
||||||
return ast.copy_location(
|
return ast.copy_location(
|
||||||
ast.Call(func=ast.Name("EncodedException", ast.Load()),
|
ast.Call(func=ast.Name("EncodedException", ast.Load()),
|
||||||
args=[value_to_ast(exception_id)],
|
args=[value_to_ast(exception_id)], keywords=[]),
|
||||||
keywords=[], starargs=None, kwargs=None),
|
|
||||||
e)
|
e)
|
||||||
|
|
||||||
def code_visit_Raise(self, node):
|
def code_visit_Raise(self, node):
|
||||||
|
@ -514,8 +513,7 @@ def get_attr_writeback(attribute_namespace, rpc_mapper, loc_node):
|
||||||
arg3 = ast.copy_location(
|
arg3 = ast.copy_location(
|
||||||
ast.Name(attr_info.mangled_name, ast.Load()), loc_node)
|
ast.Name(attr_info.mangled_name, ast.Load()), loc_node)
|
||||||
call = ast.copy_location(
|
call = ast.copy_location(
|
||||||
ast.Call(func=func, args=[arg1, arg2, arg3],
|
ast.Call(func=func, args=[arg1, arg2, arg3], keywords=[]),
|
||||||
keywords=[], starargs=None, kwargs=None),
|
|
||||||
loc_node)
|
loc_node)
|
||||||
expr = ast.copy_location(ast.Expr(call), loc_node)
|
expr = ast.copy_location(ast.Expr(call), loc_node)
|
||||||
attr_writeback.append(expr)
|
attr_writeback.append(expr)
|
||||||
|
|
|
@ -71,8 +71,7 @@ def _interleave_timelines(timelines):
|
||||||
delay_stmt = ast.copy_location(
|
delay_stmt = ast.copy_location(
|
||||||
ast.Expr(ast.Call(
|
ast.Expr(ast.Call(
|
||||||
func=ast.Name("delay_mu", ast.Load()),
|
func=ast.Name("delay_mu", ast.Load()),
|
||||||
args=[value_to_ast(dt)],
|
args=[value_to_ast(dt)], keywords=[])),
|
||||||
keywords=[], starargs=[], kwargs=[])),
|
|
||||||
ref_stmt)
|
ref_stmt)
|
||||||
r.append(delay_stmt)
|
r.append(delay_stmt)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -46,14 +46,12 @@ def lower_time(func_def):
|
||||||
_TimeLowerer().visit(func_def)
|
_TimeLowerer().visit(func_def)
|
||||||
call_init = ast.Call(
|
call_init = ast.Call(
|
||||||
func=ast.Name("syscall", ast.Load()),
|
func=ast.Name("syscall", ast.Load()),
|
||||||
args=[ast.Str("now_init")],
|
args=[ast.Str("now_init")], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
stmt_init = ast.Assign(targets=[ast.Name("now", ast.Store())],
|
stmt_init = ast.Assign(targets=[ast.Name("now", ast.Store())],
|
||||||
value=call_init)
|
value=call_init)
|
||||||
call_save = ast.Call(
|
call_save = ast.Call(
|
||||||
func=ast.Name("syscall", ast.Load()),
|
func=ast.Name("syscall", ast.Load()),
|
||||||
args=[ast.Str("now_save"), ast.Name("now", ast.Load())],
|
args=[ast.Str("now_save"), ast.Name("now", ast.Load())], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
stmt_save = ast.Expr(call_save)
|
stmt_save = ast.Expr(call_save)
|
||||||
func_def.body = [
|
func_def.body = [
|
||||||
stmt_init,
|
stmt_init,
|
||||||
|
|
|
@ -23,8 +23,7 @@ def _seconds_to_mu(ref_period, node):
|
||||||
node)
|
node)
|
||||||
return ast.copy_location(
|
return ast.copy_location(
|
||||||
ast.Call(func=ast.Name("round64", ast.Load()),
|
ast.Call(func=ast.Name("round64", ast.Load()),
|
||||||
args=[divided],
|
args=[divided], keywords=[]),
|
||||||
keywords=[], starargs=[], kwargs=[]),
|
|
||||||
divided)
|
divided)
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,12 +76,10 @@ class _TimeQuantizer(ast.NodeTransformer):
|
||||||
right=ast.Num(1000))
|
right=ast.Num(1000))
|
||||||
time_int = ast.Call(
|
time_int = ast.Call(
|
||||||
func=ast.Name("round", ast.Load()),
|
func=ast.Name("round", ast.Load()),
|
||||||
args=[time],
|
args=[time], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
syscall_set = ast.Call(
|
syscall_set = ast.Call(
|
||||||
func=ast.Name("syscall", ast.Load()),
|
func=ast.Name("syscall", ast.Load()),
|
||||||
args=[ast.Str("watchdog_set"), time_int],
|
args=[ast.Str("watchdog_set"), time_int], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
stmt_set = ast.copy_location(
|
stmt_set = ast.copy_location(
|
||||||
ast.Assign(targets=[ast.Name(idname, ast.Store())],
|
ast.Assign(targets=[ast.Name(idname, ast.Store())],
|
||||||
value=syscall_set),
|
value=syscall_set),
|
||||||
|
@ -91,8 +88,7 @@ class _TimeQuantizer(ast.NodeTransformer):
|
||||||
syscall_clear = ast.Call(
|
syscall_clear = ast.Call(
|
||||||
func=ast.Name("syscall", ast.Load()),
|
func=ast.Name("syscall", ast.Load()),
|
||||||
args=[ast.Str("watchdog_clear"),
|
args=[ast.Str("watchdog_clear"),
|
||||||
ast.Name(idname, ast.Load())],
|
ast.Name(idname, ast.Load())], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
stmt_clear = ast.copy_location(ast.Expr(syscall_clear), node)
|
stmt_clear = ast.copy_location(ast.Expr(syscall_clear), node)
|
||||||
|
|
||||||
node.items[0] = ast.withitem(
|
node.items[0] = ast.withitem(
|
||||||
|
|
|
@ -40,8 +40,7 @@ def value_to_ast(value):
|
||||||
if isinstance(value, core_language.int64): # must be before int
|
if isinstance(value, core_language.int64): # must be before int
|
||||||
return ast.Call(
|
return ast.Call(
|
||||||
func=ast.Name("int64", ast.Load()),
|
func=ast.Name("int64", ast.Load()),
|
||||||
args=[ast.Num(int(value))],
|
args=[ast.Num(int(value))], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
elif isinstance(value, bool) or value is None:
|
elif isinstance(value, bool) or value is None:
|
||||||
# must also be before int
|
# must also be before int
|
||||||
# isinstance(True/False, int) == True
|
# isinstance(True/False, int) == True
|
||||||
|
@ -51,8 +50,7 @@ def value_to_ast(value):
|
||||||
elif isinstance(value, Fraction):
|
elif isinstance(value, Fraction):
|
||||||
return ast.Call(
|
return ast.Call(
|
||||||
func=ast.Name("Fraction", ast.Load()),
|
func=ast.Name("Fraction", ast.Load()),
|
||||||
args=[ast.Num(value.numerator), ast.Num(value.denominator)],
|
args=[ast.Num(value.numerator), ast.Num(value.denominator)], keywords=[])
|
||||||
keywords=[], starargs=None, kwargs=None)
|
|
||||||
elif isinstance(value, str):
|
elif isinstance(value, str):
|
||||||
return ast.Str(value)
|
return ast.Str(value)
|
||||||
elif isinstance(value, list):
|
elif isinstance(value, list):
|
||||||
|
|
|
@ -211,20 +211,6 @@ class _Unparser:
|
||||||
else:
|
else:
|
||||||
comma = True
|
comma = True
|
||||||
self.dispatch(e)
|
self.dispatch(e)
|
||||||
if t.starargs:
|
|
||||||
if comma:
|
|
||||||
self.write(", ")
|
|
||||||
else:
|
|
||||||
comma = True
|
|
||||||
self.write("*")
|
|
||||||
self.dispatch(t.starargs)
|
|
||||||
if t.kwargs:
|
|
||||||
if comma:
|
|
||||||
self.write(", ")
|
|
||||||
else:
|
|
||||||
comma = True
|
|
||||||
self.write("**")
|
|
||||||
self.dispatch(t.kwargs)
|
|
||||||
self.write(")")
|
self.write(")")
|
||||||
|
|
||||||
self.enter()
|
self.enter()
|
||||||
|
@ -466,20 +452,6 @@ class _Unparser:
|
||||||
else:
|
else:
|
||||||
comma = True
|
comma = True
|
||||||
self.dispatch(e)
|
self.dispatch(e)
|
||||||
if t.starargs:
|
|
||||||
if comma:
|
|
||||||
self.write(", ")
|
|
||||||
else:
|
|
||||||
comma = True
|
|
||||||
self.write("*")
|
|
||||||
self.dispatch(t.starargs)
|
|
||||||
if t.kwargs:
|
|
||||||
if comma:
|
|
||||||
self.write(", ")
|
|
||||||
else:
|
|
||||||
comma = True
|
|
||||||
self.write("**")
|
|
||||||
self.dispatch(t.kwargs)
|
|
||||||
self.write(")")
|
self.write(")")
|
||||||
|
|
||||||
def _Subscript(self, t):
|
def _Subscript(self, t):
|
||||||
|
@ -571,6 +543,9 @@ class _Unparser:
|
||||||
self.dispatch(t.kwarg.annotation)
|
self.dispatch(t.kwarg.annotation)
|
||||||
|
|
||||||
def _keyword(self, t):
|
def _keyword(self, t):
|
||||||
|
if t.arg is None:
|
||||||
|
self.write("**")
|
||||||
|
else:
|
||||||
self.write(t.arg)
|
self.write(t.arg)
|
||||||
self.write("=")
|
self.write("=")
|
||||||
self.dispatch(t.value)
|
self.dispatch(t.value)
|
||||||
|
|
Loading…
Reference in New Issue