Jlm
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
 
RegionObserveroperator= (const RegionObserver &)=delete
 

Private Attributes

std::vector< Node::IdcreateNodes_ {}
 
std::vector< Node::IddestroyedNodes_ {}
 
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 845 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 850 of file region.hpp.

Member Function Documentation

◆ changedInputIndices()

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

Definition at line 909 of file region.hpp.

◆ createdInputIndices()

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

Definition at line 897 of file region.hpp.

◆ createdNodes()

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

Definition at line 873 of file region.hpp.

◆ destroyedInputIndices()

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

Definition at line 861 of file region.hpp.

◆ destroyedNodes()

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

Definition at line 885 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 903 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 891 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 855 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 867 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 879 of file region.hpp.

Member Data Documentation

◆ changedInputIndices_

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

Definition at line 918 of file region.hpp.

◆ createdInputIndices_

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

Definition at line 917 of file region.hpp.

◆ createNodes_

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

Definition at line 915 of file region.hpp.

◆ destroyedInputIndices_

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

Definition at line 919 of file region.hpp.

◆ destroyedNodes_

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

Definition at line 916 of file region.hpp.


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