From 24fd4b39b4f887ade8e8d894bae89672234bdacb Mon Sep 17 00:00:00 2001 From: Yangge Li <li213@illinois.edu> Date: Mon, 20 Jun 2022 19:50:41 -0500 Subject: [PATCH] fix small bug due to inconsistency between python 3.8 and 3.10 --- .../scene_verifier/code_parser/pythonparser.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dryvr_plus_plus/scene_verifier/code_parser/pythonparser.py b/dryvr_plus_plus/scene_verifier/code_parser/pythonparser.py index a8cf1f85..3e5370ff 100644 --- a/dryvr_plus_plus/scene_verifier/code_parser/pythonparser.py +++ b/dryvr_plus_plus/scene_verifier/code_parser/pythonparser.py @@ -414,10 +414,15 @@ class ControllerAst(): arg_annotation = arg.annotation.id # Handle case when input is a list of variables elif isinstance(arg.annotation, ast.Subscript): - if arg.annotation.slice.value.id not in state_object_dict: - continue - arg_annotation = arg.annotation.slice.value.id - + if isinstance(arg.annotation.slice, ast.Index): + if arg.annotation.slice.value.id not in state_object_dict: + continue + arg_annotation = arg.annotation.slice.value.id + elif isinstance(arg.annotation.slice, ast.Name): + if arg.annotation.slice.id not in state_object_dict: + continue + arg_annotation = arg.annotation.slice.id + arg_name = arg.arg vars_dict[arg_name] = {'cont':[], 'disc':[], "type": []} for var in state_object_dict[arg_annotation]['cont']: -- GitLab