VapourSynth-llvmexpr
Loading...
Searching...
No Matches
analysis::ExpressionAnalyzer Class Reference

#include <llvmexpr/analysis/ExpressionAnalyzer.hpp>

Public Member Functions

 ExpressionAnalyzer (AnalysisManager &manager)
void analyze ()
AnalysisManagergetManager ()
const AnalysisManagergetManager () const

Detailed Description

Definition at line 27 of file ExpressionAnalyzer.hpp.

Constructor & Destructor Documentation

◆ ExpressionAnalyzer()

analysis::ExpressionAnalyzer::ExpressionAnalyzer ( AnalysisManager & manager)
inlineexplicit

Definition at line 29 of file ExpressionAnalyzer.hpp.

29: manager(manager) {}

Member Function Documentation

◆ analyze()

void analysis::ExpressionAnalyzer::analyze ( )

Definition at line 32 of file ExpressionAnalyzer.cpp.

32 {
33 if (manager.getTokens().empty()) {
34 if (manager.getExpectedFinalDepth() != 0) {
35 throw AnalysisError("Expression cannot be empty.");
36 }
37 }
38
39 manager.getResult<ValidationPass>();
40 manager.getResult<StackSafetyPass>();
41 manager.getResult<RelAccessAnalysisPass>();
42 manager.getResult<CoordinateUsagePass>();
43 manager.getResult<VariableUsagePass>();
44 manager.getResult<StructurizeCFGPass>(); // TODO: Only run for VkExpr.
45 manager.getResult<PropWriteTypeSafetyPass>();
46}

◆ getManager() [1/2]

AnalysisManager & analysis::ExpressionAnalyzer::getManager ( )
inlinenodiscard

Definition at line 33 of file ExpressionAnalyzer.hpp.

33{ return manager; }

◆ getManager() [2/2]

const AnalysisManager & analysis::ExpressionAnalyzer::getManager ( ) const
inlinenodiscard

Definition at line 35 of file ExpressionAnalyzer.hpp.

35{ return manager; }

The documentation for this class was generated from the following files: