forked from mindspore-Ecosystem/mindspore
!49897 fix rewrite controlflow bug
Merge pull request !49897 from 于振华/fix_rewrite_CF_230306
This commit is contained in:
commit
6b3dc7dc0e
|
@ -1126,7 +1126,7 @@ class Node:
|
||||||
elt.id = scoped_value.value
|
elt.id = scoped_value.value
|
||||||
elif isinstance(elt, ast.Attribute) and isinstance(elt.value, ast.Name):
|
elif isinstance(elt, ast.Attribute) and isinstance(elt.value, ast.Name):
|
||||||
elt.value.id = scoped_value.scope
|
elt.value.id = scoped_value.scope
|
||||||
elt.value = scoped_value.value
|
elt.attr = scoped_value.value
|
||||||
else:
|
else:
|
||||||
raise RuntimeError("Only support constant or symbol in tuple now")
|
raise RuntimeError("Only support constant or symbol in tuple now")
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -63,7 +63,7 @@ class ForParser(Parser):
|
||||||
logger.warning(
|
logger.warning(
|
||||||
f"For MindSpore Rewrtie, illegal iteration condition for For node, it must start with{EVAL_WHITE_LIST}")
|
f"For MindSpore Rewrtie, illegal iteration condition for For node, it must start with{EVAL_WHITE_LIST}")
|
||||||
return
|
return
|
||||||
if iter_code.startswith("self"):
|
if "self" in iter_code:
|
||||||
iter_code = iter_code.replace("self", "stree.get_origin_network()")
|
iter_code = iter_code.replace("self", "stree.get_origin_network()")
|
||||||
try:
|
try:
|
||||||
iter_obj = eval(iter_code)
|
iter_obj = eval(iter_code)
|
||||||
|
@ -89,13 +89,13 @@ class ForParser(Parser):
|
||||||
stree.get_ast_root().body.remove(node)
|
stree.get_ast_root().body.remove(node)
|
||||||
return
|
return
|
||||||
if isinstance(iter_obj, range):
|
if isinstance(iter_obj, range):
|
||||||
logger.warning("For MindSpore Rewrtie, range not support.")
|
logger.warning("For MindSpore Rewrite, range not support.")
|
||||||
elif isinstance(iter_obj, zip):
|
elif isinstance(iter_obj, zip):
|
||||||
logger.warning("For MindSpore Rewrtie, zip not support.")
|
logger.warning("For MindSpore Rewrite, zip not support.")
|
||||||
elif isinstance(iter_obj, enumerate):
|
elif isinstance(iter_obj, enumerate):
|
||||||
logger.warning("For MindSpore Rewrtie, enumerate not support.")
|
logger.warning("For MindSpore Rewrite, enumerate not support.")
|
||||||
else:
|
else:
|
||||||
logger.warning("For MindSpore Rewrtie, not supported type: ", type(iter_obj))
|
logger.warning(f"For MindSpore Rewrite, not supported type: {type(iter_obj).__name__}")
|
||||||
stree.try_append_python_node(node, node)
|
stree.try_append_python_node(node, node)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue