Commit 3c0b5948 authored by Stefan Behnel's avatar Stefan Behnel

keep 'constant_result' set when injecting new constant nodes

parent 89f44e05
...@@ -2204,14 +2204,17 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform): ...@@ -2204,14 +2204,17 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform):
def _inject_int_default_argument(self, node, args, arg_index, type, default_value): def _inject_int_default_argument(self, node, args, arg_index, type, default_value):
assert len(args) >= arg_index assert len(args) >= arg_index
if len(args) == arg_index: if len(args) == arg_index:
args.append(ExprNodes.IntNode(node.pos, value=str(default_value), type=type)) args.append(ExprNodes.IntNode(node.pos, value=str(default_value),
type=type, constant_result=default_value))
else: else:
args[arg_index] = args[arg_index].coerce_to(type, self.current_env()) args[arg_index] = args[arg_index].coerce_to(type, self.current_env())
def _inject_bint_default_argument(self, node, args, arg_index, default_value): def _inject_bint_default_argument(self, node, args, arg_index, default_value):
assert len(args) >= arg_index assert len(args) >= arg_index
if len(args) == arg_index: if len(args) == arg_index:
args.append(ExprNodes.BoolNode(node.pos, value=bool(default_value))) default_value = bool(default_value)
args.append(ExprNodes.BoolNode(node.pos, value=default_value,
constant_result=default_value))
else: else:
args[arg_index] = args[arg_index].coerce_to_boolean(self.current_env()) args[arg_index] = args[arg_index].coerce_to_boolean(self.current_env())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment