From a3937c28630de11a1d28204d13b92faf6669f3d3 Mon Sep 17 00:00:00 2001 From: buxue Date: Mon, 16 Nov 2020 11:29:09 +0800 Subject: [PATCH] print error info when the function does not meet the indentation standard of AST --- mindspore/_extends/parse/parser.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mindspore/_extends/parse/parser.py b/mindspore/_extends/parse/parser.py index 2f1fee35af..0363282ee9 100644 --- a/mindspore/_extends/parse/parser.py +++ b/mindspore/_extends/parse/parser.py @@ -385,7 +385,14 @@ class Parser: self.col_offset = \ len(original_src.split('\n')[0]) - len(src.split('\n')[0]) logger.debug("get source = %s", src) - tree = asttokens.ASTTokens(src, parse=True).tree + try: + tree = asttokens.ASTTokens(src, parse=True).tree + except IndentationError as idt_err: + idt_err.filename = self.filename + idt_err.lineno = self.line_offset + idt_err.msg = f"There are incorrect indentations in definition or comment of function: " \ + f"'{self.fn.__qualname__}'." + raise idt_err Parser.ast_cache[hexstr] = tree else: logger.error("Fn type is invalid")