VapourSynth-llvmexpr
Loading...
Searching...
No Matches
VariableUsagePass.cpp
Go to the documentation of this file.
1
19
20
#include "
VariableUsagePass.hpp
"
21
#include "
../../frontend/Tokenizer.hpp
"
22
#include "
../framework/AnalysisManager.hpp
"
23
24
namespace
analysis
{
25
26
VariableUsageResult
27
VariableUsagePass::run
(
const
std::vector<Token>& tokens,
28
[[maybe_unused]]
AnalysisManager
& am) {
29
VariableUsageResult
result;
30
for
(
const
auto
& token : tokens) {
31
if
(token.type ==
TokenType::VarStore
||
32
token.type ==
TokenType::VarLoad
) {
33
const
auto
& payload = std::get<TokenPayloadVar>(token.payload);
34
result.
all_vars
.insert(payload.name);
35
}
36
}
37
return
result;
38
}
39
40
}
// namespace analysis
AnalysisManager.hpp
Tokenizer.hpp
TokenType::VarLoad
@ VarLoad
Definition
Tokenizer.hpp:48
TokenType::VarStore
@ VarStore
Definition
Tokenizer.hpp:47
VariableUsagePass.hpp
analysis::AnalysisManager
Definition
AnalysisManager.hpp:32
analysis::VariableUsagePass::run
VariableUsageResult run(const std::vector< Token > &tokens, AnalysisManager &am) override
Definition
VariableUsagePass.cpp:27
analysis
Definition
AnalysisResults.hpp:36
analysis::VariableUsageResult
Definition
VariableUsagePass.hpp:30
analysis::VariableUsageResult::all_vars
std::set< std::string > all_vars
Definition
VariableUsagePass.hpp:31
llvmexpr
analysis
passes
VariableUsagePass.cpp
Generated by
1.16.0