1 #ifndef ROSE_BinaryAnalysis_ModelChecker_NullDerefTag_H
2 #define ROSE_BinaryAnalysis_ModelChecker_NullDerefTag_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/BinaryAnalysis/ModelChecker/Tag.h>
7 #include <Rose/BinaryAnalysis/InstructionSemantics/BaseSemantics/Types.h>
11 namespace ModelChecker {
16 using Ptr = NullDerefTagPtr;
38 virtual std::string
name()
const override;
40 virtual void print(std::ostream&,
const std::string &prefix)
const override;
41 virtual void toYaml(std::ostream&,
const std::string &prefix)
const override;
static Ptr instance(size_t nodeStep, TestMode, IoMode, SgAsmInstruction *, const InstructionSemantics::BaseSemantics::SValuePtr &addr)
Allocating constructor.
Base class for machine instructions.
TestMode
Mode by which comparisons are made.
virtual std::string printableName() const override
String to identify this tag.
virtual void toYaml(std::ostream &, const std::string &prefix) const override
Print multi-line information about the tag in YAML format.
Main namespace for the ROSE library.
IoMode
Direction of data wrt storage.
Information tagged to a path node.
Tag that describes a null pointer dereference.
size_t nodeStep() const
Property: Node step.
virtual void print(std::ostream &, const std::string &prefix) const override
Print multi-line information about the tag.
virtual std::string name() const override
Property: Generic name of tag.