Jlm
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
jlm::rvsdg::RecordingObserver Class Referencefinal

#include <region.hpp>

Inheritance diagram for jlm::rvsdg::RecordingObserver:
Inheritance graph
[legend]
Collaboration diagram for jlm::rvsdg::RecordingObserver:
Collaboration graph
[legend]

Public Member Functions

 ~RecordingObserver () noexcept override=default
 
 RecordingObserver (const Region &region)
 
void onInputDestroy (Input *input) override
 
const std::vector< size_t > & destroyedInputIndices () const noexcept
 
void onNodeCreate (Node *node) override
 
const std::vector< Node::Id > & createdNodes () const noexcept
 
void onNodeDestroy (Node *node) override
 
const std::vector< Node::Id > & destroyedNodes () const noexcept
 
void onInputCreate (Input *input) override
 
const std::vector< size_t > & createdInputIndices () const noexcept
 
void onInputChange (Input *input, Output *, Output *) override
 
const std::vector< size_t > & changedInputIndices () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::RegionObserver
virtual ~RegionObserver () noexcept
 
 RegionObserver (const Region &region)
 
 RegionObserver (const RegionObserver &)=delete
 
RegionObserver & operator= (const RegionObserver &)=delete
 

Private Attributes

std::vector< Node::Id > createNodes_ {}
 
std::vector< Node::Id > destroyedNodes_ {}
 
std::vector< size_t > createdInputIndices_ {}
 
std::vector< size_t > changedInputIndices_ {}
 
std::vector< size_t > destroyedInputIndices_ {}
 

Detailed Description

A region observer that records the changes to a region. This is very useful for tests.

Definition at line 948 of file region.hpp.

Constructor & Destructor Documentation

◆ ~RecordingObserver()

jlm::rvsdg::RecordingObserver::~RecordingObserver ( )
overridedefaultnoexcept

◆ RecordingObserver()

jlm::rvsdg::RecordingObserver::RecordingObserver ( const Region &  region)
inlineexplicit

Definition at line 953 of file region.hpp.

Member Function Documentation

◆ changedInputIndices()

const std::vector< size_t > & jlm::rvsdg::RecordingObserver::changedInputIndices ( ) const
inlinenoexcept

Definition at line 1012 of file region.hpp.

◆ createdInputIndices()

const std::vector< size_t > & jlm::rvsdg::RecordingObserver::createdInputIndices ( ) const
inlinenoexcept

Definition at line 1000 of file region.hpp.

◆ createdNodes()

const std::vector< Node::Id > & jlm::rvsdg::RecordingObserver::createdNodes ( ) const
inlinenoexcept

Definition at line 976 of file region.hpp.

◆ destroyedInputIndices()

const std::vector< size_t > & jlm::rvsdg::RecordingObserver::destroyedInputIndices ( ) const
inlinenoexcept

Definition at line 964 of file region.hpp.

◆ destroyedNodes()

const std::vector< Node::Id > & jlm::rvsdg::RecordingObserver::destroyedNodes ( ) const
inlinenoexcept

Definition at line 988 of file region.hpp.

◆ onInputChange()

void jlm::rvsdg::RecordingObserver::onInputChange ( Input *  input,
Output *  old_origin,
Output *  new_origin 
)
inlineoverridevirtual

Called right after the given input gets a new origin.

Parameters
inputthe input.
old_originthe input's old origin.
new_originthe input's new origin.

Implements jlm::rvsdg::RegionObserver.

Definition at line 1006 of file region.hpp.

◆ onInputCreate()

void jlm::rvsdg::RecordingObserver::onInputCreate ( Input *  input)
inlineoverridevirtual

Called after a node gets a new input, or the region gets a new result. This method is not called when creating new nodes, only modifying existing nodes.

Parameters
inputthe new input

Implements jlm::rvsdg::RegionObserver.

Definition at line 994 of file region.hpp.

◆ onInputDestroy()

void jlm::rvsdg::RecordingObserver::onInputDestroy ( Input *  input)
inlineoverridevirtual

Called right before a node input or region result is removed. This method is not called when deleting nodes, only modifying existing nodes.

Parameters
inputthe input that is removed

Implements jlm::rvsdg::RegionObserver.

Definition at line 958 of file region.hpp.

◆ onNodeCreate()

void jlm::rvsdg::RecordingObserver::onNodeCreate ( Node *  node)
inlineoverridevirtual

Called right after a node is added to the region, after the node has its inputs and output added.

Parameters
nodethe node being added

Implements jlm::rvsdg::RegionObserver.

Definition at line 970 of file region.hpp.

◆ onNodeDestroy()

void jlm::rvsdg::RecordingObserver::onNodeDestroy ( Node *  node)
inlineoverridevirtual

Called right before a node is removed from the region, before the node has its inputs and outputs removed.

Parameters
nodethe node being removed

Implements jlm::rvsdg::RegionObserver.

Definition at line 982 of file region.hpp.

Member Data Documentation

◆ changedInputIndices_

std::vector<size_t> jlm::rvsdg::RecordingObserver::changedInputIndices_ {}
private

Definition at line 1021 of file region.hpp.

◆ createdInputIndices_

std::vector<size_t> jlm::rvsdg::RecordingObserver::createdInputIndices_ {}
private

Definition at line 1020 of file region.hpp.

◆ createNodes_

std::vector<Node::Id> jlm::rvsdg::RecordingObserver::createNodes_ {}
private

Definition at line 1018 of file region.hpp.

◆ destroyedInputIndices_

std::vector<size_t> jlm::rvsdg::RecordingObserver::destroyedInputIndices_ {}
private

Definition at line 1022 of file region.hpp.

◆ destroyedNodes_

std::vector<Node::Id> jlm::rvsdg::RecordingObserver::destroyedNodes_ {}
private

Definition at line 1019 of file region.hpp.


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