OpenADFortTk (basic)
whirl2xaif::XlationContext Class Reference

#include <XlationContext.h>

List of all members.

Public Types

enum  Flags_E {
  NOFLAG = 0x00000000, ASSIGN = 0x00000001, VARREF = 0x00000002, DEREF_ADDR = 0x00000004,
  HAS_LOGICAL_ARG = 0x00000200, IS_LOGICAL_ARG = 0x00000400, IS_LOGICAL_OPERATION = 0x00000800, IO_STMT = 0x00004000,
  DEREF_IO_ITEM = 0x00008000, ORIGFMT_IOCTRL = 0x00010000, FMT_IO = 0x00020000, CRAY_IO = 0x00040000,
  HAS_NO_ARR_ELMT = 0x00200000
}

Public Member Functions

 XlationContext (unsigned int aStackPosition=0)
 ~XlationContext ()
WN * getWN () const
bool hasWN () const
void setWN (WN *aWNp)
unsigned int getNewVertexId ()
unsigned int getVertexId () const
unsigned int peekVertexId () const
unsigned int getNewEdgeId ()
unsigned int getEdgeId () const
unsigned int peekEdgeId () const
std::string toString () const
void dump (std::ostream &o, const std::string &indent) const
void ddump () const
bool isFlag (Flags_E f) const
void setFlag (Flags_E f)
void unsetFlag (Flags_E f)
void inheritFlags (const XlationContext &parentContext)

Static Public Member Functions

static std::string flagToString (Flags_E aFlag)

Private Attributes

WN * myWNp
unsigned int myNextVertexId
unsigned int myNextEdgeId
unsigned int myFlags
unsigned int myStackPosition

Detailed Description

XlationContext for whirl2xaif: Represents information about a WHIRL->XAIF translation context. Designed to contain information about a particular level. Contained in a stack in PUXlationContext.

Definition at line 26 of file XlationContext.h.


Member Enumeration Documentation

Enumerator:
NOFLAG 
ASSIGN 
VARREF 
DEREF_ADDR 
HAS_LOGICAL_ARG 
IS_LOGICAL_ARG 
IS_LOGICAL_OPERATION 
IO_STMT 
DEREF_IO_ITEM 
ORIGFMT_IOCTRL 
FMT_IO 
CRAY_IO 
HAS_NO_ARR_ELMT 

Definition at line 73 of file XlationContext.h.


Constructor & Destructor Documentation

whirl2xaif::XlationContext::XlationContext ( unsigned int  aStackPosition = 0)

Definition at line 12 of file XlationContext.cxx.


Member Function Documentation

Definition at line 165 of file XlationContext.cxx.

References dump().

Here is the call graph for this function:

void whirl2xaif::XlationContext::dump ( std::ostream &  o,
const std::string &  indent 
) const

Definition at line 160 of file XlationContext.cxx.

References toString().

Referenced by ddump().

Here is the call graph for this function:

unsigned int whirl2xaif::XlationContext::getEdgeId ( ) const

return current id, 0 is considered invalid

Definition at line 59 of file XlationContext.cxx.

References FORTTK_DIE, and myNextEdgeId.

return current id, 0 is considered invalid

Definition at line 45 of file XlationContext.cxx.

References FORTTK_DIE, and myNextVertexId.

Referenced by xlate_BinaryOpUsingIntrinsicTable().

Definition at line 23 of file XlationContext.cxx.

References FORTTK_DIE, and myWNp.

Referenced by whirl2xaif::xlate_CALL().

Definition at line 29 of file XlationContext.cxx.

References myWNp.

Referenced by whirl2xaif::xlate_CALL().

return a peek of the next id

Definition at line 65 of file XlationContext.cxx.

References myNextEdgeId.


Member Data Documentation

unsigned int whirl2xaif::XlationContext::myFlags [private]

the flags

Definition at line 116 of file XlationContext.h.

Referenced by inheritFlags(), isFlag(), setFlag(), and unsetFlag().

next unique edge id for this context

Definition at line 111 of file XlationContext.h.

Referenced by getEdgeId(), getNewEdgeId(), and peekEdgeId().

next unique vertex id for this context

Definition at line 106 of file XlationContext.h.

Referenced by getNewVertexId(), getVertexId(), and peekVertexId().

for debugging purposes - the stack position

Definition at line 121 of file XlationContext.h.

Referenced by toString().

we don't own this one

Definition at line 101 of file XlationContext.h.

Referenced by getWN(), hasWN(), setWN(), and toString().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines