OpenADFortTk (basic)
InterfaceData Class Reference

#include <InterfaceData.h>

Collaboration diagram for InterfaceData:

List of all members.

Public Types

typedef std::map< PU_Info
*, PU_Info * > 
ChildToParentMap
typedef std::pair< WN *, ST * > RenamePair
typedef std::list< RenamePairRenamePairList
typedef std::pair< RenamePair,
RenamePairList
IFaceRenamePairListPair
typedef std::list
< IFaceRenamePairListPair
IFaceRenamePairListPairList
typedef std::pair< PU_Info
*, IFaceRenamePairListPairList
PuIFaceRenamePairListPairListPair
typedef std::list
< PuIFaceRenamePairListPairListPair
PuIFaceRenamePairListPairListPairList

Static Public Member Functions

static void collect (PU_Info *aPUInfoForest_p)
static void dump ()
static void findAndAdjustInterface (PU_Info *pu, WN *oldWN_p, ST *newST_p)
static PU_Info * getParentOf (PU_Info *child)

Static Private Member Functions

static void forPUInfoTree (PU_Info *aPUInfoTree_p)
static void forPUInfo (PU_Info *aPUInfo_p)
static
PuIFaceRenamePairListPairListPair
findPUData (PU_Info *aPUInfo_p)
static IFaceRenamePairListPairfindInterfaceData (PuIFaceRenamePairListPairListPair *moduleData, WN *theInterface_WN_p)
static InterfaceData::RenamePairfindSpecific (IFaceRenamePairListPair *interfaceData, WN *theInterface_WN_p)

Static Private Attributes

static
PuIFaceRenamePairListPairListPairList 
ourInterfacesByPU
static ChildToParentMap ourChildToParentMap

Detailed Description

collect info about interfaces

Definition at line 11 of file InterfaceData.h.


Member Typedef Documentation

typedef std::map<PU_Info*,PU_Info*> InterfaceData::ChildToParentMap

child to parent map

Definition at line 28 of file InterfaceData.h.

pair with INTERFACE node as key

Definition at line 46 of file InterfaceData.h.

list of the above

Definition at line 51 of file InterfaceData.h.

paired with PU node

Definition at line 55 of file InterfaceData.h.

list of the above

Definition at line 59 of file InterfaceData.h.

typedef std::pair<WN*,ST*> InterfaceData::RenamePair

FUNC_ENTRY/INTERFACE and new ST* (if renamed)

Definition at line 34 of file InterfaceData.h.

list of the above in the interface block (reminder: cannot use a std::set here because we need modifiable elements to rename (ST*) name if needed)

Definition at line 41 of file InterfaceData.h.


Member Function Documentation

void InterfaceData::collect ( PU_Info *  aPUInfoForest_p) [static]

Definition at line 8 of file InterfaceData.cxx.

References forPUInfoTree().

Referenced by xaif2whirl::real_main().

Here is the call graph for this function:

void InterfaceData::dump ( ) [static]

Definition at line 133 of file InterfaceData.cxx.

References ourInterfacesByPU, and PU_SetGlobalState().

Referenced by xaif2whirl::real_main().

Here is the call graph for this function:

void InterfaceData::findAndAdjustInterface ( PU_Info *  pu,
WN *  oldWN_p,
ST *  newST_p 
) [static]

Definition at line 191 of file InterfaceData.cxx.

References findInterfaceData(), findPUData(), findSpecific(), FORTTK_DIE, and FORTTK_WMSG.

Referenced by xaif2whirl::TranslateCFG().

Here is the call graph for this function:

InterfaceData::IFaceRenamePairListPair * InterfaceData::findInterfaceData ( PuIFaceRenamePairListPairListPair moduleData,
WN *  theInterface_WN_p 
) [static, private]

find by 'old' name

Definition at line 48 of file InterfaceData.cxx.

Referenced by findAndAdjustInterface(), and forPUInfo().

Definition at line 36 of file InterfaceData.cxx.

References ourInterfacesByPU.

Referenced by findAndAdjustInterface(), and forPUInfo().

InterfaceData::RenamePair * InterfaceData::findSpecific ( IFaceRenamePairListPair interfaceData,
WN *  theInterface_WN_p 
) [static, private]

find by 'old' name

Definition at line 68 of file InterfaceData.cxx.

Referenced by findAndAdjustInterface(), and forPUInfo().

void InterfaceData::forPUInfo ( PU_Info *  aPUInfo_p) [static, private]

for each PU within a tree of PUs

Definition at line 87 of file InterfaceData.cxx.

References findInterfaceData(), findPUData(), findSpecific(), ourInterfacesByPU, and PU_SetGlobalState().

Referenced by forPUInfoTree().

Here is the call graph for this function:

void InterfaceData::forPUInfoTree ( PU_Info *  aPUInfoTree_p) [static, private]

recursively for each (sub) tree of PUs

Definition at line 17 of file InterfaceData.cxx.

References forPUInfo(), and ourChildToParentMap.

Referenced by collect().

Here is the call graph for this function:

PU_Info * InterfaceData::getParentOf ( PU_Info *  child) [static]

Definition at line 28 of file InterfaceData.cxx.

References ourChildToParentMap.

Referenced by xaif2whirl::TranslateCFG().


Member Data Documentation

track parents

Definition at line 71 of file InterfaceData.h.

Referenced by forPUInfoTree(), and getParentOf().

the data structure we collect into:

Definition at line 66 of file InterfaceData.h.

Referenced by dump(), findPUData(), and forPUInfo().


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