charmxi: Convert nodeList in parsed SDAG to std::list and privatize
authorPhil Miller <mille121@illinois.edu>
Thu, 27 Sep 2012 21:21:09 +0000 (16:21 -0500)
committerPhil Miller <mille121@illinois.edu>
Sun, 30 Sep 2012 20:20:53 +0000 (15:20 -0500)
src/xlat-i/sdag/CParsedFile.h
src/xlat-i/xi-symbol.C

index dc17c325facfa9b794c0a311dce785d1e889e7a8..5120d489fda722ec3ac928e8c32a9a0f07020710 100644 (file)
@@ -2,7 +2,7 @@
 #include "CEntry.h"
 #include "sdag-globals.h"
 #include "EToken.h"
-
+#include <list>
 namespace xi {
 
 class Chare;
@@ -27,15 +27,16 @@ class CParsedFile {
     void generateRegisterEp(XStr& decls, XStr& defs);
     void generateDependencyMergePoints(XStr& output);
     void generateTrace();
+    std::list<Entry*> nodeList;
   public:
     Chare *container;
     static XStr *className;
     TList<CEntry*> entryList;
     TList<SdagConstruct *> connectEntryList;
-    TList<Entry*> nodeList;
     CParsedFile(Chare *c): container(c) {}
     ~CParsedFile(void){}
     void print(int indent);
+    void addNode(Entry *e) { nodeList.push_back(e); }
     void doProcess(XStr& classname, XStr& decls, XStr& defs) {
       className = &classname;
       decls << "#define " << classname << "_SDAG_CODE \n";
index dbb2679a3abc7c0370d326f7cfc155078617f8c6..8e62dfd1291ae564d844e3b662d6ca3edcfbf5ab 100644 (file)
@@ -2735,26 +2735,26 @@ XStr *CParsedFile::className = NULL;
 
 void CParsedFile::numberNodes(void)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    if (cn->sdagCon != 0) {
-      cn->sdagCon->numberNodes();
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    if ((*cn)->sdagCon != 0) {
+      (*cn)->sdagCon->numberNodes();
     }
   }
 }
 
 void CParsedFile::labelNodes(void)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    if (cn->sdagCon != 0) {
-      cn->sdagCon->labelNodes();
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    if ((*cn)->sdagCon != 0) {
+      (*cn)->sdagCon->labelNodes();
     }
   }
 }
 
 void CParsedFile::propagateState(void)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    cn->sdagCon->propagateState(0);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    (*cn)->sdagCon->propagateState(0);
   }
 }
 
@@ -2768,23 +2768,23 @@ void CParsedFile::mapCEntry(void)
 
 void CParsedFile::generateEntryList(void)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    cn->sdagCon->generateEntryList(entryList, 0);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    (*cn)->sdagCon->generateEntryList(entryList, (SdagConstruct*)0);
   }
 }
 
 void CParsedFile::generateConnectEntryList(void)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    cn->sdagCon->generateConnectEntryList(connectEntryList);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    (*cn)->sdagCon->generateConnectEntryList(connectEntryList);
   }
 }
 
 void CParsedFile::generateCode(XStr& decls, XStr& defs)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    cn->sdagCon->setNext(0,0);
-    cn->sdagCon->generateCode(decls, defs, cn);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    (*cn)->sdagCon->setNext(0, 0);
+    (*cn)->sdagCon->generateCode(decls, defs, *cn);
   }
 }
 
@@ -2849,9 +2849,9 @@ void CParsedFile::generatePupFunction(XStr& decls)
 
 void CParsedFile::generateTrace()
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    if (cn->sdagCon != 0) {
-      cn->sdagCon->generateTrace();
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    if ((*cn)->sdagCon != 0) {
+      (*cn)->sdagCon->generateTrace();
     }
   }
 }
@@ -2861,9 +2861,9 @@ void CParsedFile::generateRegisterEp(XStr& decls, XStr& defs)
   XStr name = "__sdag_register";
   generateSignature(decls, defs, container, true, "void", &name, false, NULL);
 
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    if (cn->sdagCon != 0) {
-      cn->sdagCon->generateRegisterEp(defs);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    if ((*cn)->sdagCon != 0) {
+      (*cn)->sdagCon->generateRegisterEp(defs);
     }
   }
   endMethod(defs);
@@ -2871,9 +2871,9 @@ void CParsedFile::generateRegisterEp(XStr& decls, XStr& defs)
 
 void CParsedFile::generateTraceEp(XStr& decls, XStr& defs)
 {
-  for(Entry *cn=nodeList.begin(); !nodeList.end(); cn=nodeList.next()) {
-    if (cn->sdagCon != 0) {
-      cn->sdagCon->generateTraceEp(decls, defs, container);
+  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
+    if ((*cn)->sdagCon != 0) {
+      (*cn)->sdagCon->generateTraceEp(decls, defs, container);
     }
   }
 }
@@ -3015,7 +3015,7 @@ void Entry::collectSdagCode(CParsedFile *pf, int& sdagPresent)
 {
   if (isSdag()) {
     sdagPresent = 1;
-    pf->nodeList.append(this);
+    pf->addNode(this);
   }
 }