def visitExpressionList(self, expression_list): """ Remove the ExpresionList level from the AST by replacing the contents of the owning attribute of its parent. """ expression_list.forEachChild(self.visit) elideNode(expression_list, liftFormalTypes=True)
def visitVariableList(self, variable_list): """ Remove the VariableList level from the AST by replacing the contents of the owning attribute of its parent. """ variable_list.forEachChild(self.visit) elideNode(variable_list, liftFormalTypes=True)
def visitInputList(self, input_list): """ Remove the InputList level from the AST by replacing the contents of the owning attribute of its parent. """ input_list.forEachChild(self.visit) elideNode(input_list, liftFormalTypes=True)
def visitFormalArgList(self, formal_arg_list): """ Remove the FormalArgList level from the AST by replacing the contents of the owning attribute of its parent with the FormalArgList's own list of arguments """ formal_arg_list.forEachChild(self.visit) elideNode(formal_arg_list, liftFormalTypes=True)
def visitVduList(self, vdu_list): """ Remove VduList level from the AST by replacing the contents of the owning attribute of its parent with the VduList's own list of items """ vdu_list.forEachChild(self.visit) elideNode(vdu_list, liftFormalTypes=True)
def visitIntFunc(self, func): self.visit(func.factor) if not self.checkSignature(func): # TODO: Error? return if func.factor.actualType == IntegerOwlType(): elideNode(func)