1#ifndef ROSE_BinaryAnalysis_ModelChecker_FailureUnit_H 
    2#define ROSE_BinaryAnalysis_ModelChecker_FailureUnit_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_MODEL_CHECKER 
    6#include <Rose/BinaryAnalysis/ModelChecker/ExecutionUnit.h> 
    9namespace BinaryAnalysis {
 
   10namespace ModelChecker {
 
   15class FailureUnit: 
public ExecutionUnit {
 
   17    using Ptr = FailureUnitPtr;
 
   21    const std::string description_;
 
   25    FailureUnit() = 
delete;
 
   53    const std::string& description() 
const;
 
   56    virtual std::string printableName() 
const override;
 
   57    virtual void printSteps(
const SettingsPtr&, std::ostream&, 
const std::string &prefix,
 
   58                            size_t stepOrigin, 
size_t maxSteps) 
const override;
 
   59    virtual void toYamlHeader(
const SettingsPtr&, std::ostream&, 
const std::string &prefix) 
const override;
 
   60    virtual void toYamlSteps(
const SettingsPtr&, std::ostream&, 
const std::string &prefix,
 
   61                             size_t stepOrigin, 
size_t maxSteps) 
const override;
 
   62    virtual std::vector<Sarif::LocationPtr> toSarif(
size_t maxSteps) 
const override;
 
   63    virtual size_t nSteps() 
const override;
 
   66    virtual std::vector<TagPtr>
 
   67    execute(
const SettingsPtr&, 
const SemanticCallbacksPtr&, 
const InstructionSemantics::BaseSemantics::RiscOperatorsPtr&) 
override;
 
Holds a value or nothing.
 
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.