1#ifndef ROSE_BinaryAnalysis_ModelChecker_Variables_H
2#define ROSE_BinaryAnalysis_ModelChecker_Variables_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_MODEL_CHECKER
6#include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h>
7#include <Rose/BinaryAnalysis/Variables.h>
10namespace BinaryAnalysis {
11namespace ModelChecker {
18 Variables::GlobalVariable gvar_;
19 Variables::StackVariable lvar_;
28 explicit FoundVariable(
const Variables::GlobalVariable&);
34 FoundVariable(
const AddressInterval&,
const Variables::StackVariable&);
46 const Variables::StackVariable& stackVariable()
const;
52 const Variables::GlobalVariable& globalVariable()
const;
57 Partitioner2::FunctionPtr function()
const;
63 explicit operator bool()
const;
67 bool operator!()
const;
70 void print(std::ostream&)
const;
77operator<<(std::ostream&,
const FoundVariable&);
void print(const StackVariables &, const Partitioner2::PartitionerConstPtr &, std::ostream &out, const std::string &prefix="")
Print info about multiple local variables.
Sawyer::Container::Interval< Address > AddressInterval
An interval of addresses.
ROSE_UTIL_API std::string toString(const Path &)
Convert a path to a string.