diff options
-rwxr-xr-x | pp2cc.py | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -1118,13 +1118,16 @@ class Parse(object): """Processes function parameters and returns assembly for modifying SP """ lines = [] - variables = linked_node.getFunctionNode().variables - params = linked_node.node.params - try: - for param in params: - variables.declName(param.name, is_param=True) - except RuntimeError as errmsg: - self.logger.error(errmsg, linked_node=linked_node) + function = linked_node.getFunctionNode() + # function may be None if this is a function declaration without body + if function: + variables = function.variables + params = linked_node.node.params + try: + for param in params: + variables.declName(param.name, is_param=True) + except RuntimeError as errmsg: + self.logger.error(errmsg, linked_node=linked_node) return lines def parseStatement(self, node, parent_linked_node, level_increment=False): linked_node = LinkedNode(node, parent_linked_node, level_increment=level_increment) |