def parse_struct(node: ast.ClassDef) -> pysl.Struct:
struct = pysl.Struct()
struct.set_location(node)
struct.name = node.name
struct.elements = []
struct.set_location(node)
for decl_node in node.body:
if isinstance(decl_node, ast.AnnAssign):
assignment = parse_assignment(decl_node)
struct.elements.append((str_to_pysl_type(loc(node), assignment.type), assignment.name))
else:
error(loc(decl_node), "Unrecognized node inside structure: {0}".format(struct.name))
return struct
评论列表
文章目录