Node Structure: A node consists of one or more nodes, each has a node and a node. The node may or may not has a node, the following declaration statement is an example: int c, char2, char3;
(decl_stmt_node, local_env)
| 62 | |
| 63 | |
| 64 | def handle_decl_stmt_node(decl_stmt_node, local_env): |
| 65 | """ |
| 66 | Node Structure: |
| 67 | A <decl_stmt> node consists of one or more <decl> nodes, |
| 68 | each <decl> has a <type> node and a <name> node. |
| 69 | The <type> node may or may not has a <name> node, the following |
| 70 | declaration statement is an example: |
| 71 | |
| 72 | int c, char2, char3; |
| 73 | """ |
| 74 | prev_type = None |
| 75 | decl_nodes = decl_stmt_node.findall('./srcml:decl', ns) |
| 76 | for decl_node in decl_nodes: |
| 77 | type_node = decl_node.find('./srcml:type', ns) |
| 78 | type_name_node = type_node.find('./srcml:name', ns) |
| 79 | if type_name_node is None: |
| 80 | type_name = prev_type |
| 81 | else: |
| 82 | type_name = handle_name_node(type_name_node) |
| 83 | var_name = get_name(decl_node) |
| 84 | local_env[var_name] = type_name |
| 85 | prev_type = type_name |
| 86 | |
| 87 | |
| 88 | def handle_call_node(call_node, cl_name, local_env, env): |
no test coverage detected