VapourSynth-llvmexpr
Loading...
Searching...
No Matches
CoordinateUsagePass.cpp
Go to the documentation of this file.
1
19
20
#include "
CoordinateUsagePass.hpp
"
21
#include "
../../frontend/Tokenizer.hpp
"
22
#include "
../framework/AnalysisManager.hpp
"
23
24
namespace
analysis
{
25
26
CoordinateUsageResult
27
CoordinateUsagePass::run
(
const
std::vector<Token>& tokens,
28
[[maybe_unused]]
AnalysisManager
& am) {
29
CoordinateUsageResult
result;
30
for
(
const
auto
& token : tokens) {
31
if
(token.type ==
TokenType::ConstantX
) {
32
result.
uses_x
=
true
;
33
}
34
if
(token.type ==
TokenType::ConstantY
) {
35
result.
uses_y
=
true
;
36
}
37
if
(result.
uses_x
&& result.
uses_y
) {
38
break
;
39
}
40
}
41
return
result;
42
}
43
44
}
// namespace analysis
AnalysisManager.hpp
CoordinateUsagePass.hpp
Tokenizer.hpp
TokenType::ConstantX
@ ConstantX
Definition
Tokenizer.hpp:33
TokenType::ConstantY
@ ConstantY
Definition
Tokenizer.hpp:34
analysis::AnalysisManager
Definition
AnalysisManager.hpp:32
analysis::CoordinateUsagePass::run
CoordinateUsageResult run(const std::vector< Token > &tokens, AnalysisManager &am) override
Definition
CoordinateUsagePass.cpp:27
analysis
Definition
AnalysisResults.hpp:36
analysis::CoordinateUsageResult
Definition
CoordinateUsagePass.hpp:27
analysis::CoordinateUsageResult::uses_y
bool uses_y
Definition
CoordinateUsagePass.hpp:29
analysis::CoordinateUsageResult::uses_x
bool uses_x
Definition
CoordinateUsagePass.hpp:28
llvmexpr
analysis
passes
CoordinateUsagePass.cpp
Generated by
1.16.0