Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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 1824 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 1830 of file il.h.

1830: current_(nullptr) {}

◆ ForwardInstructionIterator() [3/3]

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

Definition at line 1832 of file il.h.

1833 : current_(block_entry) {
1834 Advance();
1835 }

Member Function Documentation

◆ Advance()

void dart::ForwardInstructionIterator::Advance ( )
inline

Definition at line 1837 of file il.h.

1837 {
1838 ASSERT(!Done());
1839 current_ = current_->next();
1840 }
Instruction * next() const
Definition il.h:1087
#define ASSERT(E)

◆ Current()

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

Definition at line 1847 of file il.h.

1847{ return current_; }

◆ Done()

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

Definition at line 1842 of file il.h.

1842{ return current_ == nullptr; }

◆ operator!=()

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

Definition at line 1855 of file il.h.

1855 {
1856 return !(*this == other);
1857 }

◆ operator*()

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

Definition at line 1849 of file il.h.

1849{ return Current(); }
Instruction * Current() const
Definition il.h:1847

◆ operator++()

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

Definition at line 1859 of file il.h.

1859 {
1860 Advance();
1861 return *this;
1862 }

◆ operator=()

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

◆ operator==()

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

Definition at line 1851 of file il.h.

1851 {
1852 return current_ == other.current_;
1853 }

◆ RemoveCurrentFromGraph()

void dart::ForwardInstructionIterator::RemoveCurrentFromGraph ( )

Definition at line 1365 of file il.cc.

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

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