ROSE
0.11.102.0
|
Base class for tags that have a name.
This is a base class for tags that store a string as their name.
#include <Rose/BinaryAnalysis/ModelChecker/Tag.h>
Public Types | |
using | Ptr = NameTagPtr |
Public Types inherited from Rose::BinaryAnalysis::ModelChecker::Tag | |
using | Ptr = TagPtr |
Shared ownership pointer. More... | |
Public Member Functions | |
virtual std::string | name () const override |
Property: Generic name of tag. More... | |
virtual std::string | printableName () const override |
String to identify this tag. More... | |
virtual void | print (std::ostream &, const std::string &prefix) const override |
Print multi-line information about the tag. More... | |
virtual void | toYaml (std::ostream &, const std::string &prefix) const override |
Print multi-line information about the tag in YAML format. More... | |
Public Member Functions inherited from Rose::BinaryAnalysis::ModelChecker::Tag | |
size_t | nodeStep () const |
Property: Node step. More... | |
Static Public Member Functions | |
static Ptr | instance (size_t nodeStep, const std::string &name) |
Allocating constructor. More... | |
Protected Member Functions | |
NameTag (size_t nodeStep, const std::string &name) | |
Protected Member Functions inherited from Rose::BinaryAnalysis::ModelChecker::Tag | |
Tag (size_t nodeStep) | |
Protected Attributes | |
const std::string | name_ |
|
static |
Allocating constructor.
Thread safety: This constructor is thread safe.
|
overridevirtual |
Property: Generic name of tag.
For instance, the name of a null pointer dereference tag might be the words "null pointer dereference" (see NullDereferenceTag for the actual value).
Thread safety: The implementation must be thread safe.
Implements Rose::BinaryAnalysis::ModelChecker::Tag.
|
overridevirtual |
String to identify this tag.
Returns a single line string (no line feed) that is suitable for printing on a terminal (no special characters). This is used mostly in diagnostic messages.
Thread safety: The implementation must be thread safe.
Implements Rose::BinaryAnalysis::ModelChecker::Tag.
|
overridevirtual |
Print multi-line information about the tag.
First line should be the full name of the tag. Next lines are indented by at least two spaces and contain additional information about the tag. All lines start with the prefix
.
Thread safety: The implementation must be thread safe for gathering the information but need not concern itself with ensuring that no other threads are sending output to the same stream.
Implements Rose::BinaryAnalysis::ModelChecker::Tag.
Reimplemented in Rose::BinaryAnalysis::ModelChecker::ErrorTag.
|
overridevirtual |
Print multi-line information about the tag in YAML format.
The first line starts with the prefix
, and the following lines start with that number of spaces.
Thread safety: The implementation must be thread safe for gathering the information but need not concern itself with ensuring that no other threads are sending output to the same stream.
Implements Rose::BinaryAnalysis::ModelChecker::Tag.
Reimplemented in Rose::BinaryAnalysis::ModelChecker::ErrorTag.