This repository was archived by the owner on Jan 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathScopeScanner.h
More file actions
56 lines (31 loc) · 1.87 KB
/
ScopeScanner.h
File metadata and controls
56 lines (31 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma once
#include "Entity/Scope.h"
#include "Sema/ASTVisitor.h"
/// 作用域扫描器
class ScopeScanner final : public ASTVisitorWithScope {
public:
void visit(const SharedPtr<ModuleNode> &module) override;
void visit(const SharedPtr<VarDeclNode> &varDecl) override;
void visit(const SharedPtr<ParmVarDeclNode> ¶mVarDecl) override;
void visit(const SharedPtr<FunctionDeclNode> &funcDecl) override;
void visit(const SharedPtr<BooleanLiteralExprNode> &boolLiteralExpr) override;
void visit(const SharedPtr<IntegerLiteralExprNode> &intLiteralExpr) override;
void visit(const SharedPtr<FloatLiteralExprNode> &floatLiteralExpr) override;
void visit(const SharedPtr<StringLiteralExprNode> &strLiteralExpr) override;
void visit(const SharedPtr<ArrayLiteralExprNode> &arrayLiteralExpr) override;
void visit(const SharedPtr<IdentifierExprNode> &varExpr) override;
void visit(const SharedPtr<CallExprNode> &callExpr) override;
void visit(const SharedPtr<UnaryOperatorExprNode> &uopExpr) override;
void visit(const SharedPtr<BinaryOperatorExprNode> &bopExpr) override;
void visit(const SharedPtr<ArraySubscriptExprNode> &asExpr) override;
void visit(const SharedPtr<ExprStmtNode> &exprStmt) override;
void visit(const SharedPtr<CompoundStmtNode> &compStmt) override;
void visit(const SharedPtr<VarDeclStmtNode> &varDeclStmt) override;
void visit(const SharedPtr<FunctionDeclStmtNode> &funcDeclStmt) override;
void visit(const SharedPtr<IfStmtNode> &ifStmt) override;
void visit(const SharedPtr<WhileStmtNode> &whileStmt) override;
void visit(const SharedPtr<ForStmtNode> &forStmt) override;
void visit(const SharedPtr<ContinueStmtNode> &continueStmt) override;
void visit(const SharedPtr<BreakStmtNode> &breakStmt) override;
void visit(const SharedPtr<ReturnStmtNode> &returnStmt) override;
};