3 #include "ast/AstNode.h"
4 #include "ast/ExprNode.h"
5 #include "diagnostics/Location.h"
11 Expr(ExprNodeList rpn_ops,
SourceRange loc, ScopeID
const* scope)
12 : rpn_ops{rpn_ops}, loc_{loc}, scope_{scope} {}
13 std::ostream& print(std::ostream& os,
int indentation)
const;
14 int printDotNode(DotPrinter& dp)
const;
15 auto nodes()
const {
return rpn_ops.nodes(); }
16 auto tail()
const {
return rpn_ops.tail(); }
17 auto list()
const {
return rpn_ops; }
18 auto location()
const {
return loc_; }
20 auto mut_nodes() {
return rpn_ops.mut_nodes(); }
21 void replace(ExprNodeList new_list) { rpn_ops = new_list; }
22 auto scope()
const {
return scope_; }
23 void setScope(ScopeID
const* scope) { scope_ = scope; }
28 ScopeID
const* scope_;