24 lines
463 B
C++
24 lines
463 B
C++
#pragma once
|
|
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
#include <fesa/core/diagnostic.hpp>
|
|
#include <fesa/model/domain.hpp>
|
|
#include <fesa/results/result_database.hpp>
|
|
|
|
namespace fesa {
|
|
|
|
struct AnalysisRunResult final {
|
|
bool succeeded;
|
|
std::optional<ResultDatabase> results;
|
|
std::vector<Diagnostic> diagnostics;
|
|
};
|
|
|
|
class LinearStaticAnalysis final {
|
|
public:
|
|
[[nodiscard]] AnalysisRunResult run(const Domain& domain) const;
|
|
};
|
|
|
|
} // namespace fesa
|