Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::ForwardInstructionIterator Class Reference

#include <il.h>

Public Member Functions

 ForwardInstructionIterator (const ForwardInstructionIterator &other)=default
 
ForwardInstructionIteratoroperator= (const ForwardInstructionIterator &other)=default
 
 ForwardInstructionIterator ()
 
 ForwardInstructionIterator (BlockEntryInstr *block_entry)
 
void Advance ()
 
bool Done () const
 
void RemoveCurrentFromGraph ()
 
InstructionCurrent () const
 
Instructionoperator* () const
 
bool operator== (const ForwardInstructionIterator &other) const
 
bool operator!= (const ForwardInstructionIterator &other) const
 
ForwardInstructionIteratoroperator++ ()
 

Detailed Description

Definition at line 1830 of file il.h.

Constructor & Destructor Documentation

◆ ForwardInstructionIterator() [1/3]

dart::ForwardInstructionIterator::ForwardInstructionIterator ( const ForwardInstructionIterator other)
default

◆ ForwardInstructionIterator() [2/3]

dart::ForwardInstructionIterator::ForwardInstructionIterator ( )
inline

Definition at line 1836 of file il.h.

1836: current_(nullptr) {}

◆ ForwardInstructionIterator() [3/3]

dart::ForwardInstructionIterator::ForwardInstructionIterator ( BlockEntryInstr block_entry)
inlineexplicit

Definition at line 1838 of file il.h.

1839 : current_(block_entry) {
1840 Advance();
1841 }

Member Function Documentation

◆ Advance()

void dart::ForwardInstructionIterator::Advance ( )
inline

Definition at line 1843 of file il.h.

1843 {
1844 ASSERT(!Done());
1845 current_ = current_->next();
1846 }
Instruction * next() const
Definition: il.h:1093
#define ASSERT(E)

◆ Current()

Instruction * dart::ForwardInstructionIterator::Current ( ) const
inline

Definition at line 1853 of file il.h.

1853{ return current_; }

◆ Done()

bool dart::ForwardInstructionIterator::Done ( ) const
inline

Definition at line 1848 of file il.h.

1848{ return current_ == nullptr; }

◆ operator!=()

bool dart::ForwardInstructionIterator::operator!= ( const ForwardInstructionIterator other) const
inline

Definition at line 1861 of file il.h.

1861 {
1862 return !(*this == other);
1863 }

◆ operator*()

Instruction * dart::ForwardInstructionIterator::operator* ( ) const
inline

Definition at line 1855 of file il.h.

1855{ return Current(); }
Instruction * Current() const
Definition: il.h:1853

◆ operator++()

ForwardInstructionIterator & dart::ForwardInstructionIterator::operator++ ( )
inline

Definition at line 1865 of file il.h.

1865 {
1866 Advance();
1867 return *this;
1868 }

◆ operator=()

ForwardInstructionIterator & dart::ForwardInstructionIterator::operator= ( const ForwardInstructionIterator other)
default

◆ operator==()

bool dart::ForwardInstructionIterator::operator== ( const ForwardInstructionIterator other) const
inline

Definition at line 1857 of file il.h.

1857 {
1858 return current_ == other.current_;
1859 }

◆ RemoveCurrentFromGraph()

void dart::ForwardInstructionIterator::RemoveCurrentFromGraph ( )

Definition at line 1367 of file il.cc.

1367 {
1368 current_ = current_->RemoveFromGraph(true); // Set current_ to previous.
1369}
Instruction * RemoveFromGraph(bool return_previous=true)
Definition: il.cc:1301

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