prettyPrinter.cpp File Reference

#include "incls/_precompiled.incl"
#include "incls/_prettyPrinter.cpp.incl"
#include <ctype.h>

Include dependency graph for prettyPrinter.cpp:

Go to the source code of this file.

Classes

class  astNode
class  PrintWrapper
class  PrintTemps
class  PrintParams
class  leafNode
class  paramNode
class  nameValueNode
class  nameNode
class  listNode
class  scopeNode
class  codeNode
class  inlinedBlockNode
class  statement
class  methodNode
class  blockNode
class  assignment
class  messageNode
class  selfNode
class  ignoreReceiver
class  superNode
class  literalNode
class  symbolNode
class  doubleByteArrayNode
class  byteArrayNode
class  smiNode
class  doubleNode
class  characterNode
class  objArrayNode
class  dllNode
class  stackTempNode
class  heapTempNode
class  floatNode
class  instVarNode
class  classVarNode
class  primitiveResultNode
class  assocNode
class  cascadeSendNode
class  MethodPrettyPrinter
class  StackChecker

Defines

#define HIGHLIGHT   PrintWrapper pw(this, output);

Functions

bool should_wrap (int type, astNode *arg)
static bool print_selector_with_arguments (prettyPrintStream *output, symbolOop selector, GrowableArray< astNode * > *arguments, bool split)
static astNodeget_literal_node (oop obj, int bci, scopeNode *scope)
astNodegenerateForBlock (methodOop method, klassOop klass, int bci, int numOfArgs)
astNodegenerate (scopeNode *scope)
astNodegenerateForActivation (deltaVFrame *fr, int index)
astNodegenerateForMethod (methodOop method, klassOop klass, int bci)


Define Documentation

#define HIGHLIGHT   PrintWrapper pw(this, output);

Definition at line 78 of file prettyPrinter.cpp.

Referenced by dllNode::print(), objArrayNode::print(), byteArrayNode::print(), assignment::print(), blockNode::print(), statement::print(), leafNode::print(), and messageNode::real_print().


Function Documentation

astNode* generate ( scopeNode scope  ) 

Definition at line 1597 of file prettyPrinter.cpp.

References MethodPrettyPrinter::_size(), MethodPrettyPrinter::_top(), assert, and scopeNode::method().

Referenced by generateForActivation(), generateForBlock(), and generateForMethod().

Here is the call graph for this function:

astNode* generateForActivation ( deltaVFrame fr,
int  index 
)

Definition at line 1605 of file prettyPrinter.cpp.

References generate().

Referenced by prettyPrinter::print(), and prettyPrinter::print_body().

Here is the call graph for this function:

astNode * generateForBlock ( methodOop  method,
klassOop  klass,
int  bci,
int  numOfArgs 
)

Definition at line 1615 of file prettyPrinter.cpp.

References generate().

Referenced by MethodPrettyPrinter::allocate_closure().

Here is the call graph for this function:

astNode* generateForMethod ( methodOop  method,
klassOop  klass,
int  bci 
)

Definition at line 1610 of file prettyPrinter.cpp.

References generate().

Referenced by prettyPrinter::print().

Here is the call graph for this function:

static astNode * get_literal_node ( oop  obj,
int  bci,
scopeNode scope 
) [static]

Definition at line 1242 of file prettyPrinter.cpp.

References falseObj, oopDesc::is_byteArray(), oopDesc::is_double(), oopDesc::is_doubleByteArray(), oopDesc::is_objArray(), oopDesc::is_smi(), oopDesc::is_symbol(), nilObj, and trueObj.

Referenced by objArrayNode::objArrayNode(), and MethodPrettyPrinter::push_literal().

Here is the call graph for this function:

static bool print_selector_with_arguments ( prettyPrintStream output,
symbolOop  selector,
GrowableArray< astNode * > *  arguments,
bool  split 
) [static]

Definition at line 85 of file prettyPrinter.cpp.

References byteArrayOopDesc::as_string(), GrowableArray< E >::at(), byteArrayOopDesc::byte_at(), byteArrayOopDesc::length(), GenericGrowableArray::length(), prettyPrintStream::newline(), astNode::print(), prettyPrintStream::print(), prettyPrintStream::print_char(), should_wrap(), and prettyPrintStream::space().

Referenced by scopeNode::print_method_header(), and messageNode::real_print().

Here is the call graph for this function:

bool should_wrap ( int  type,
astNode arg 
)

Definition at line 1676 of file prettyPrinter.cpp.

References messageNode::is_keyword(), astNode::is_message(), and messageNode::is_unary().

Referenced by print_selector_with_arguments().

Here is the call graph for this function:


Generated on Mon Oct 9 13:43:57 2006 for Strongtalk VM by  doxygen 1.4.7