Skip to content

Commit a4b29d8

Browse files
committed
add top-level check that error wasnt previously set
1 parent 4cfb5cd commit a4b29d8

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

vyper/codegen/ir_node.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,11 +382,16 @@ def is_complex_ir(self):
382382
# useful for overriding an error message generated by a helper
383383
# function with a more specific error message.
384384
def set_error_msg(self, error_msg: str) -> None:
385+
if self.error_msg is not None:
386+
raise CompilerPanic(f"{self.value} already has error message {self.error_msg}")
387+
self._set_error_msg(error_msg)
388+
389+
def _set_error_msg(self, error_msg: str) -> None:
385390
if self.error_msg is not None:
386391
return
387392
self.error_msg = error_msg
388393
for arg in self.args:
389-
arg.set_error_msg(error_msg)
394+
arg._set_error_msg(error_msg)
390395

391396
# get the unique symbols contained in this node, which provides
392397
# sanity check invariants for the optimizer.

0 commit comments

Comments
 (0)