IfNode Class Reference

#include <methodIterator.hpp>

Inheritance diagram for IfNode:

Inheritance graph
[legend]
Collaboration diagram for IfNode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

MethodIntervalthen_code () const
MethodIntervalelse_code () const
symbolOop selector () const
bool is_ifTrue () const
bool is_ifFalse () const
bool ignore_else_while_printing () const
bool produces_result () const

Protected Member Functions

 IfNode (methodOop method, MethodInterval *parent, int begin_bci, int next_bci, bool cond, int else_offset, u_char structure)

Protected Attributes

bool _cond
bool _ignore_else_while_printing
bool _produces_result
MethodInterval_then_code
MethodInterval_else_code

Friends

class MethodIntervalFactory

Detailed Description

Definition at line 162 of file methodIterator.hpp.


Constructor & Destructor Documentation

IfNode::IfNode ( methodOop  method,
MethodInterval parent,
int  begin_bci,
int  next_bci,
bool  cond,
int  else_offset,
u_char  structure 
) [protected]

Definition at line 123 of file methodIterator.cpp.

References _cond, _else_code, _ignore_else_while_printing, _produces_result, _then_code, CodeIterator::byte_at(), CodeIterator::code(), else_code(), MethodInterval::end_bci(), MethodIterator::factory, fatal, isSet, Bytecodes::jump_else_byte, Bytecodes::jump_else_word, MethodInterval::method(), AbstractMethodIntervalFactory::new_MethodInterval(), MethodInterval::set_end_bci(), then_code(), and CodeIterator::word_at().

Here is the call graph for this function:


Member Function Documentation

MethodInterval* IfNode::else_code (  )  const [inline]

Definition at line 178 of file methodIterator.hpp.

References _else_code.

Referenced by MethodPrettyPrinter::if_node(), MethodPrinterClosure::if_node(), TransitiveMethodClosure::if_node(), ExpressionStackMapper::if_node(), SpecializedMethodClosure::if_node(), IfNode(), and selector().

bool IfNode::ignore_else_while_printing (  )  const [inline]

Definition at line 184 of file methodIterator.hpp.

References _ignore_else_while_printing.

Referenced by MethodPrinterClosure::if_node().

bool IfNode::is_ifFalse (  )  const [inline]

Definition at line 183 of file methodIterator.hpp.

References _cond.

bool IfNode::is_ifTrue (  )  const [inline]

Definition at line 182 of file methodIterator.hpp.

References _cond.

Referenced by selector().

bool IfNode::produces_result (  )  const [inline]

Definition at line 185 of file methodIterator.hpp.

References _produces_result.

Referenced by MethodPrettyPrinter::if_node().

symbolOop IfNode::selector (  )  const [virtual]

Implements InlineSendNode.

Definition at line 154 of file methodIterator.cpp.

References else_code(), and is_ifTrue().

Referenced by MethodPrettyPrinter::if_node(), and MethodPrinterClosure::if_node().

Here is the call graph for this function:

MethodInterval* IfNode::then_code (  )  const [inline]

Definition at line 176 of file methodIterator.hpp.

References _then_code.

Referenced by MethodPrettyPrinter::if_node(), MethodPrinterClosure::if_node(), ExpressionStackMapper::if_node(), SpecializedMethodClosure::if_node(), and IfNode().


Friends And Related Function Documentation

friend class MethodIntervalFactory [friend]

Reimplemented from MethodInterval.

Definition at line 172 of file methodIterator.hpp.


Member Data Documentation

bool IfNode::_cond [protected]

Definition at line 164 of file methodIterator.hpp.

Referenced by IfNode(), is_ifFalse(), and is_ifTrue().

MethodInterval* IfNode::_else_code [protected]

Definition at line 168 of file methodIterator.hpp.

Referenced by else_code(), and IfNode().

bool IfNode::_ignore_else_while_printing [protected]

Definition at line 165 of file methodIterator.hpp.

Referenced by IfNode(), and ignore_else_while_printing().

bool IfNode::_produces_result [protected]

Definition at line 166 of file methodIterator.hpp.

Referenced by IfNode(), and produces_result().

MethodInterval* IfNode::_then_code [protected]

Definition at line 167 of file methodIterator.hpp.

Referenced by IfNode(), and then_code().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 13:59:22 2006 for Strongtalk VM by  doxygen 1.4.7