ROSE 0.11.145.147
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Rose::BinaryAnalysis::NoOperation::StateNormalizer Class Reference

Description

Base class for normalizing a state.

Definition at line 23 of file NoOperation.h.

#include <Rose/BinaryAnalysis/NoOperation.h>

Inheritance diagram for Rose::BinaryAnalysis::NoOperation::StateNormalizer:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::NoOperation::StateNormalizer:
Collaboration graph
[legend]

Public Types

typedef Sawyer::SharedPointer< StateNormalizerPtr
 Shared ownership pointer to a NoOperation::StateNormalizer.
 

Public Member Functions

virtual InstructionSemantics::BaseSemantics::StatePtr initialState (const InstructionSemantics::BaseSemantics::DispatcherPtr &, SgAsmInstruction *firstInsn)
 Constructs an initial state.
 
virtual std::string toString (const InstructionSemantics::BaseSemantics::DispatcherPtr &, const InstructionSemantics::BaseSemantics::StatePtr &)
 Takes a state and returns a normalized string.
 
size_t ignorePoppedMemory () const
 Property: ignore recently popped memory.
 
void ignorePoppedMemory (size_t nbytes)
 Property: ignore recently popped memory.
 
- 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.
 

Protected Attributes

size_t ignorePoppedMemory_
 

Member Typedef Documentation

◆ Ptr

Shared ownership pointer to a NoOperation::StateNormalizer.

Definition at line 31 of file NoOperation.h.

Constructor & Destructor Documentation

◆ StateNormalizer()

Rose::BinaryAnalysis::NoOperation::StateNormalizer::StateNormalizer ( )
inlineprotected

Definition at line 26 of file NoOperation.h.

◆ ~StateNormalizer()

virtual Rose::BinaryAnalysis::NoOperation::StateNormalizer::~StateNormalizer ( )
inlinevirtual

Definition at line 28 of file NoOperation.h.

Member Function Documentation

◆ instance()

static Ptr Rose::BinaryAnalysis::NoOperation::StateNormalizer::instance ( )
inlinestatic

Allocating constructor.

Definition at line 34 of file NoOperation.h.

◆ ignorePoppedMemory() [1/2]

size_t Rose::BinaryAnalysis::NoOperation::StateNormalizer::ignorePoppedMemory ( ) const
inline

Property: ignore recently popped memory.

If the stack is well behaved (they usually are) then ignore memory that is off the top of the stack because it's been recently popped. The value if this property is the number of bytes beyond the top of the stack that are considered to be recently popped.

Definition at line 45 of file NoOperation.h.

◆ ignorePoppedMemory() [2/2]

void Rose::BinaryAnalysis::NoOperation::StateNormalizer::ignorePoppedMemory ( size_t  nbytes)
inline

Property: ignore recently popped memory.

If the stack is well behaved (they usually are) then ignore memory that is off the top of the stack because it's been recently popped. The value if this property is the number of bytes beyond the top of the stack that are considered to be recently popped.

Definition at line 46 of file NoOperation.h.

◆ toString()

virtual std::string Rose::BinaryAnalysis::NoOperation::StateNormalizer::toString ( const InstructionSemantics::BaseSemantics::DispatcherPtr ,
const InstructionSemantics::BaseSemantics::StatePtr  
)
virtual

Takes a state and returns a normalized string.

States are considered equal if their strings are equal.

Member Data Documentation

◆ ignorePoppedMemory_

size_t Rose::BinaryAnalysis::NoOperation::StateNormalizer::ignorePoppedMemory_
protected

Definition at line 25 of file NoOperation.h.


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