/src/serenity/Userland/Libraries/LibShell/NodeVisitor.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2020, the SerenityOS developers. |
3 | | * |
4 | | * SPDX-License-Identifier: BSD-2-Clause |
5 | | */ |
6 | | |
7 | | #pragma once |
8 | | |
9 | | #include "Forward.h" |
10 | | |
11 | | namespace Shell::AST { |
12 | | |
13 | | class NodeVisitor { |
14 | | public: |
15 | | virtual void visit(const AST::PathRedirectionNode*); |
16 | | virtual void visit(const AST::And*); |
17 | | virtual void visit(const AST::ListConcatenate*); |
18 | | virtual void visit(const AST::Background*); |
19 | | virtual void visit(const AST::BarewordLiteral*); |
20 | | virtual void visit(const AST::BraceExpansion*); |
21 | | virtual void visit(const AST::CastToCommand*); |
22 | | virtual void visit(const AST::CastToList*); |
23 | | virtual void visit(const AST::CloseFdRedirection*); |
24 | | virtual void visit(const AST::CommandLiteral*); |
25 | | virtual void visit(const AST::Comment*); |
26 | | virtual void visit(const AST::ContinuationControl*); |
27 | | virtual void visit(const AST::DynamicEvaluate*); |
28 | | virtual void visit(const AST::DoubleQuotedString*); |
29 | | virtual void visit(const AST::Fd2FdRedirection*); |
30 | | virtual void visit(const AST::FunctionDeclaration*); |
31 | | virtual void visit(const AST::ForLoop*); |
32 | | virtual void visit(const AST::Glob*); |
33 | | virtual void visit(const AST::Heredoc*); |
34 | | virtual void visit(const AST::HistoryEvent*); |
35 | | virtual void visit(const AST::Execute*); |
36 | | virtual void visit(const AST::IfCond*); |
37 | | virtual void visit(const AST::ImmediateExpression*); |
38 | | virtual void visit(const AST::Join*); |
39 | | virtual void visit(const AST::MatchExpr*); |
40 | | virtual void visit(const AST::Or*); |
41 | | virtual void visit(const AST::Pipe*); |
42 | | virtual void visit(const AST::Range*); |
43 | | virtual void visit(const AST::ReadRedirection*); |
44 | | virtual void visit(const AST::ReadWriteRedirection*); |
45 | | virtual void visit(const AST::Sequence*); |
46 | | virtual void visit(const AST::Subshell*); |
47 | | virtual void visit(const AST::Slice*); |
48 | | virtual void visit(const AST::SimpleVariable*); |
49 | | virtual void visit(const AST::SpecialVariable*); |
50 | | virtual void visit(const AST::Juxtaposition*); |
51 | | virtual void visit(const AST::StringLiteral*); |
52 | | virtual void visit(const AST::StringPartCompose*); |
53 | | virtual void visit(const AST::SyntaxError*); |
54 | | virtual void visit(const AST::SyntheticNode*); |
55 | | virtual void visit(const AST::Tilde*); |
56 | | virtual void visit(const AST::VariableDeclarations*); |
57 | | virtual void visit(const AST::WriteAppendRedirection*); |
58 | | virtual void visit(const AST::WriteRedirection*); |
59 | | |
60 | | protected: |
61 | 0 | virtual ~NodeVisitor() = default; |
62 | | }; |
63 | | |
64 | | } |