[FRONTEND] Hot fix for lineno (#481)
Override __reduce__ to make CompilationError pickable and print out error messages
This commit is contained in:
@@ -654,9 +654,13 @@ class CompilationError(Exception):
|
|||||||
self.message = f'at {node.lineno}:{node.col_offset}:\n'
|
self.message = f'at {node.lineno}:{node.col_offset}:\n'
|
||||||
self.message += '\n'.join(src.split('\n')[:node.lineno])
|
self.message += '\n'.join(src.split('\n')[:node.lineno])
|
||||||
self.message += '\n' + ' ' * node.col_offset + '^'
|
self.message += '\n' + ' ' * node.col_offset + '^'
|
||||||
|
self.src = src
|
||||||
|
self.node = node
|
||||||
super().__init__(self.message)
|
super().__init__(self.message)
|
||||||
|
|
||||||
|
def __reduce__(self):
|
||||||
# this is necessary to make CompilationError picklable
|
# this is necessary to make CompilationError picklable
|
||||||
self.args = (src, node)
|
return (type(self), (self.src, self.node))
|
||||||
|
|
||||||
|
|
||||||
class OutOfResources(Exception):
|
class OutOfResources(Exception):
|
||||||
@@ -664,8 +668,14 @@ class OutOfResources(Exception):
|
|||||||
self.message = f'out of resource: {name}, '\
|
self.message = f'out of resource: {name}, '\
|
||||||
f'Required: {required}, '\
|
f'Required: {required}, '\
|
||||||
f'Hardware limit: {limit}'
|
f'Hardware limit: {limit}'
|
||||||
|
self.required = required
|
||||||
|
self.limit = limit
|
||||||
|
self.name = name
|
||||||
super().__init__(self.message)
|
super().__init__(self.message)
|
||||||
self.args = (required, limit, name)
|
|
||||||
|
def __reduce__(self):
|
||||||
|
# this is necessary to make CompilationError picklable
|
||||||
|
return (type(self), (self.required, self.limit, self.name))
|
||||||
|
|
||||||
|
|
||||||
class Kernel:
|
class Kernel:
|
||||||
|
Reference in New Issue
Block a user