messageNode Class Reference

Inheritance diagram for messageNode:

Inheritance graph
[legend]
Collaboration diagram for messageNode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 messageNode (int bci, scopeNode *scope, symbolOop selector, bool is_prim=false)
bool is_unary ()
bool is_binary ()
bool is_keyword ()
bool should_wrap_receiver ()
bool should_wrap_argument (astNode *arg)
bool print_receiver (prettyPrintStream *output)
bool real_print (prettyPrintStream *output)
bool print (prettyPrintStream *output)
int width_receiver (prettyPrintStream *output)
int width_send (prettyPrintStream *output)
int real_width (prettyPrintStream *output)
int width (prettyPrintStream *output)
void add_param (astNode *p)
void set_receiver (astNode *p)
astNodereceiver ()
bool valid_receiver ()
bool is_message ()

Private Attributes

astNode_receiver
symbolOop selector
GrowableArray< astNode * > * arguments
bool _is_prim

Detailed Description

Definition at line 758 of file prettyPrinter.cpp.


Constructor & Destructor Documentation

messageNode::messageNode ( int  bci,
scopeNode scope,
symbolOop  selector,
bool  is_prim = false 
) [inline]

Definition at line 765 of file prettyPrinter.cpp.

References _is_prim, _receiver, arguments, and astNode::selector().

Here is the call graph for this function:


Member Function Documentation

void messageNode::add_param ( astNode p  )  [inline]

Definition at line 851 of file prettyPrinter.cpp.

References arguments, and GrowableArray< E >::push().

Referenced by MethodPrettyPrinter::normal_send(), and MethodPrettyPrinter::special_send().

Here is the call graph for this function:

bool messageNode::is_binary (  )  [inline]

Definition at line 773 of file prettyPrinter.cpp.

References byteArrayOopDesc::is_binary(), and astNode::selector().

Referenced by should_wrap_argument(), and should_wrap_receiver().

Here is the call graph for this function:

bool messageNode::is_keyword (  )  [inline]

Definition at line 774 of file prettyPrinter.cpp.

References byteArrayOopDesc::is_keyword(), and astNode::selector().

Referenced by should_wrap(), should_wrap_argument(), and should_wrap_receiver().

Here is the call graph for this function:

bool messageNode::is_message (  )  [inline, virtual]

Reimplemented from astNode.

Definition at line 860 of file prettyPrinter.cpp.

Referenced by should_wrap_receiver().

bool messageNode::is_unary (  )  [inline]

Definition at line 772 of file prettyPrinter.cpp.

References byteArrayOopDesc::is_unary(), and astNode::selector().

Referenced by should_wrap().

Here is the call graph for this function:

bool messageNode::print ( prettyPrintStream output  )  [inline, virtual]

Reimplemented from astNode.

Definition at line 819 of file prettyPrinter.cpp.

References astNode::is_cascade(), astNode::print(), real_print(), and receiver().

Here is the call graph for this function:

bool messageNode::print_receiver ( prettyPrintStream output  )  [inline]

Definition at line 792 of file prettyPrinter.cpp.

References _receiver, astNode::print(), prettyPrintStream::print(), and should_wrap_receiver().

Referenced by real_print().

Here is the call graph for this function:

bool messageNode::real_print ( prettyPrintStream output  )  [inline]

Definition at line 801 of file prettyPrinter.cpp.

References _is_prim, arguments, prettyPrintStream::dec_indent(), HIGHLIGHT, prettyPrintStream::inc_newline(), astNode::print(), prettyPrintStream::print(), print_receiver(), print_selector_with_arguments(), prettyPrintStream::remaining(), astNode::selector(), valid_receiver(), and width_send().

Referenced by cascadeSendNode::print(), and print().

Here is the call graph for this function:

int messageNode::real_width ( prettyPrintStream output  )  [inline]

Definition at line 841 of file prettyPrinter.cpp.

References receiver(), prettyPrintStream::width_of_space(), width_receiver(), and width_send().

Referenced by width().

Here is the call graph for this function:

astNode* messageNode::receiver (  )  [inline]

Definition at line 854 of file prettyPrinter.cpp.

References _receiver.

Referenced by cascadeSendNode::cascadeSendNode(), print(), real_width(), should_wrap_receiver(), valid_receiver(), width(), and width_receiver().

void messageNode::set_receiver ( astNode p  ) 

Definition at line 1234 of file prettyPrinter.cpp.

References _receiver, and astNode::is_cascade().

Referenced by cascadeSendNode::cascadeSendNode(), MethodPrettyPrinter::normal_send(), and MethodPrettyPrinter::special_send().

Here is the call graph for this function:

bool messageNode::should_wrap_argument ( astNode arg  )  [inline, virtual]

Reimplemented from astNode.

Definition at line 784 of file prettyPrinter.cpp.

References is_binary(), is_keyword(), and astNode::is_message().

Here is the call graph for this function:

bool messageNode::should_wrap_receiver (  )  [inline]

Definition at line 776 of file prettyPrinter.cpp.

References _receiver, is_binary(), is_keyword(), is_message(), and receiver().

Referenced by print_receiver(), and width_receiver().

Here is the call graph for this function:

bool messageNode::valid_receiver (  )  [inline]

Definition at line 856 of file prettyPrinter.cpp.

References astNode::is_cascade(), and receiver().

Referenced by real_print().

Here is the call graph for this function:

int messageNode::width ( prettyPrintStream output  )  [inline, virtual]

Reimplemented from astNode.

Definition at line 846 of file prettyPrinter.cpp.

References astNode::is_cascade(), real_width(), receiver(), and astNode::width().

Here is the call graph for this function:

int messageNode::width_receiver ( prettyPrintStream output  )  [inline]

Definition at line 824 of file prettyPrinter.cpp.

References receiver(), should_wrap_receiver(), astNode::width(), prettyPrintStream::width_of_space(), and prettyPrintStream::width_of_string().

Referenced by real_width().

Here is the call graph for this function:

int messageNode::width_send ( prettyPrintStream output  )  [inline]

Definition at line 832 of file prettyPrinter.cpp.

References arguments, byteArrayOopDesc::as_string(), GrowableArray< E >::at(), GenericGrowableArray::length(), byteArrayOopDesc::number_of_arguments(), astNode::selector(), astNode::width(), prettyPrintStream::width_of_space(), and prettyPrintStream::width_of_string().

Referenced by real_print(), and real_width().

Here is the call graph for this function:


Member Data Documentation

bool messageNode::_is_prim [private]

Definition at line 763 of file prettyPrinter.cpp.

Referenced by messageNode(), and real_print().

astNode* messageNode::_receiver [private]

Definition at line 760 of file prettyPrinter.cpp.

Referenced by messageNode(), print_receiver(), receiver(), set_receiver(), and should_wrap_receiver().

GrowableArray<astNode*>* messageNode::arguments [private]

Definition at line 762 of file prettyPrinter.cpp.

Referenced by add_param(), messageNode(), real_print(), and width_send().

symbolOop messageNode::selector [private]

Definition at line 761 of file prettyPrinter.cpp.


The documentation for this class was generated from the following file:
Generated on Mon Oct 9 14:07:38 2006 for Strongtalk VM by  doxygen 1.4.7