ROSE  0.11.98.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Rose::BinaryAnalysis::ModelChecker::UninitVarTag Class Reference

Description

Tag that describes an out-of-bounds memory access.

Definition at line 15 of file UninitVarTag.h.

#include <Rose/BinaryAnalysis/ModelChecker/UninitVarTag.h>

Inheritance diagram for Rose::BinaryAnalysis::ModelChecker::UninitVarTag:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::ModelChecker::UninitVarTag:
Collaboration graph
[legend]

Public Types

using Ptr = UninitVarTagPtr
 
- Public Types inherited from Rose::BinaryAnalysis::ModelChecker::Tag
using Ptr = TagPtr
 

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, TestMode, SgAsmInstruction *, const InstructionSemantics::BaseSemantics::SValuePtr &addr, const Variables::StackVariable &variable, const AddressInterval &variableLocation)
 Allocating constructor. More...
 

Protected Member Functions

 UninitVarTag (size_t nodeStep, TestMode, SgAsmInstruction *, const InstructionSemantics::BaseSemantics::SValuePtr &addr, const Variables::StackVariable &variable, const AddressInterval &variableLocation)
 
 UninitVarTag (const UninitVarTag &)=delete
 
- Protected Member Functions inherited from Rose::BinaryAnalysis::ModelChecker::Tag
 Tag (size_t nodeStep)
 

Member Function Documentation

static Ptr Rose::BinaryAnalysis::ModelChecker::UninitVarTag::instance ( size_t  nodeStep,
TestMode  ,
SgAsmInstruction ,
const InstructionSemantics::BaseSemantics::SValuePtr addr,
const Variables::StackVariable variable,
const AddressInterval variableLocation 
)
static

Allocating constructor.

Constructs a tag with information about access to an uninitialized stack variable. The variable is the variable that was accessed when uninitialized along with its variableLocation in memory.

Thread safety: This constructor is thread safe.

virtual std::string Rose::BinaryAnalysis::ModelChecker::UninitVarTag::name ( ) const
overridevirtual

Property: Generic name of tag.

For instance, the name of a null pointer dereference tag might be the words "null pointer dereference" (see NullDerefTag for the actual value).

Thread safety: The implementation must be thread safe.

Implements Rose::BinaryAnalysis::ModelChecker::Tag.

virtual std::string Rose::BinaryAnalysis::ModelChecker::UninitVarTag::printableName ( ) const
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.

virtual void Rose::BinaryAnalysis::ModelChecker::UninitVarTag::print ( std::ostream &  ,
const std::string &  prefix 
) const
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.

virtual void Rose::BinaryAnalysis::ModelChecker::UninitVarTag::toYaml ( std::ostream &  ,
const std::string &  prefix 
) const
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.


The documentation for this class was generated from the following file: