// // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo // // The contents of this file are covered under the licence agreement in the // file "LICENCE" distributed with Cforall. // // Stmt.hpp -- // // Author : Aaron B. Moss // Created On : Wed May 8 13:00:00 2019 // Last Modified By : Andrew Beach // Last Modified On : Fri May 17 12:45:00 2019 // Update Count : 5 // #pragma once #include #include // for move #include #include "Label.hpp" #include "Node.hpp" // for node, ptr #include "ParseNode.hpp" #include "Visitor.hpp" #include "Common/CodeLocation.h" // Must be included in *all* AST classes; should be #undef'd at the end of the file #define MUTATE_FRIEND template friend node_t * mutate(const node_t * node); namespace ast { class Expr; /// Base statement node class Stmt : public ParseNode { public: std::vector