1#ifndef ROSE_BinaryAnalysis_ModelChecker_UninitializedVariableTag_H 
    2#define ROSE_BinaryAnalysis_ModelChecker_UninitializedVariableTag_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_MODEL_CHECKER 
    6#include <Rose/BinaryAnalysis/ModelChecker/Tag.h> 
    7#include <Rose/BinaryAnalysis/ModelChecker/Variables.h> 
    8#include <Rose/BinaryAnalysis/InstructionSemantics/BaseSemantics/BasicTypes.h> 
    9#include <Rose/BinaryAnalysis/Variables.h> 
   12namespace BinaryAnalysis {
 
   13namespace ModelChecker {
 
   16class UninitializedVariableTag: 
public Tag {
 
   18    using Ptr = UninitializedVariableTagPtr;
 
   23    const InstructionSemantics::BaseSemantics::SValuePtr addr_; 
 
   24    const FoundVariable variable_;                              
 
   27    UninitializedVariableTag() = 
delete;
 
   29                             const InstructionSemantics::BaseSemantics::SValuePtr &addr,
 
   32    UninitializedVariableTag(
const UninitializedVariableTag&) = 
delete;
 
   35    ~UninitializedVariableTag();
 
   44                        const InstructionSemantics::BaseSemantics::SValuePtr &addr, 
const FoundVariable &
variable);
 
   47    virtual std::string name() 
const override;
 
   48    virtual std::string printableName() 
const override;
 
   49    virtual void print(std::ostream&, 
const std::string &prefix) 
const override;
 
   50    virtual void toYaml(std::ostream&, 
const std::string &prefix) 
const override;
 
   51    Sarif::ResultPtr toSarif(
const Sarif::AnalysisPtr&) 
const override;
 
Base class for machine instructions.
 
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.
 
void print(const GlobalVariables &, const Partitioner2::PartitionerConstPtr &, std::ostream &out, const std::string &prefix="")
Print info about multiple global variables.
 
const char * TestMode(int64_t)
Convert Rose::BinaryAnalysis::ModelChecker::TestMode enum constant to a string.