ROSE 0.11.145.192
Public Types | Static Public Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::Merger Class Reference

Description

Controls merging of symbolic values.

Definition at line 79 of file SymbolicSemantics.h.

#include <Rose/BinaryAnalysis/InstructionSemantics/SymbolicSemantics.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::Merger:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::Merger:
Collaboration graph
[legend]

Public Types

typedef MergerPtr Ptr
 Shared-ownership pointer for a Merger object.
 
- Public Types inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::Merger
typedef MergerPtr Ptr
 Shared ownership pointer for Merger.
 

Public Member Functions

size_t setSizeLimit () const
 Property: Maximum set size.
 
void setSizeLimit (size_t n)
 Property: Maximum set size.
 
- Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::Merger
bool memoryAddressesMayAlias () const
 Whether memory addresses can alias one another.
 
void memoryAddressesMayAlias (bool b)
 Whether memory addresses can alias one another.
 
bool memoryMergeDebugging () const
 Turn on output for memory merge debugging.
 
void memoryMergeDebugging (bool b)
 Turn on output for memory merge debugging.
 
- Public Member Functions inherited from Sawyer::SharedObject
 SharedObject ()
 Default constructor.
 
 SharedObject (const SharedObject &)
 Copy constructor.
 
virtual ~SharedObject ()
 Virtual destructor.
 
SharedObjectoperator= (const SharedObject &)
 Assignment.
 

Static Public Member Functions

static Ptr instance ()
 Allocating constructor.
 
static Ptr instance (size_t)
 Allocating constructor.
 
- Static Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::Merger
static Ptr instance ()
 Allocating constructor.
 

Member Typedef Documentation

◆ Ptr

Shared-ownership pointer for a Merger object.

Definition at line 86 of file SymbolicSemantics.h.

Member Function Documentation

◆ setSizeLimit() [1/2]

size_t Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::Merger::setSizeLimit ( ) const
inline

Property: Maximum set size.

The maximum number of members in a set when merging two expressions. For instance, when merging expressions "x" and "y" with a limit of one (the default), the return value is bottom, but if the size limit is two or more, the return value is (set x y). Merging two sets (or a set and a singlton) works the same way: if the union of the two sets is larger than the size limit then bottom is returned, otherwise the union is returned.

A limit of zero has the same effect as a limit of one since a singleton set is represented by just the naked member (that is, (set x) gets simplified to just x).

Definition at line 105 of file SymbolicSemantics.h.

◆ setSizeLimit() [2/2]

void Rose::BinaryAnalysis::InstructionSemantics::SymbolicSemantics::Merger::setSizeLimit ( size_t  n)
inline

Property: Maximum set size.

The maximum number of members in a set when merging two expressions. For instance, when merging expressions "x" and "y" with a limit of one (the default), the return value is bottom, but if the size limit is two or more, the return value is (set x y). Merging two sets (or a set and a singlton) works the same way: if the union of the two sets is larger than the size limit then bottom is returned, otherwise the union is returned.

A limit of zero has the same effect as a limit of one since a singleton set is represented by just the naked member (that is, (set x) gets simplified to just x).

Definition at line 106 of file SymbolicSemantics.h.


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