diff options
Diffstat (limited to 'src/ast')
| -rw-r--r-- | src/ast/node.cpp | 73 | 
1 files changed, 73 insertions, 0 deletions
diff --git a/src/ast/node.cpp b/src/ast/node.cpp index 7af48f1..d0a80e9 100644 --- a/src/ast/node.cpp +++ b/src/ast/node.cpp @@ -7,6 +7,8 @@  #include "printer/cfamily.h"  #include <stack> +using namespace std; +  void chillAST_Node::fixChildInfo() {}  void chillAST_Node::addChild(chillAST_Node *c) { @@ -257,3 +259,74 @@ void chillAST_Node::print(int indent, FILE *fp) {      fprintf(stdout, "\n");    }  } + +chillAST_Node* chillAST_Node::constantFold(){ +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->constantFold(); +  } +  return this; +}; + +void chillAST_Node::gatherVarDecls(vector<chillAST_VarDecl*> &decls) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherVarDecls(decls); +  } +} +void chillAST_Node::gatherArrayVarDecls(vector<chillAST_VarDecl*> &decls) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherArrayVarDecls(decls); +  } +} +void chillAST_Node::gatherArrayRefs(vector<chillAST_ArraySubscriptExpr*> &refs, bool writtento) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherArrayRefs(refs,writtento); +  } +} +void chillAST_Node::gatherScalarRefs(vector<chillAST_DeclRefExpr*> &refs, bool writtento) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherScalarRefs(refs,writtento); +  } +} +void chillAST_Node::gatherDeclRefExprs(vector<chillAST_DeclRefExpr*> &refs) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherDeclRefExprs(refs); +  } +} +void chillAST_Node::gatherVarUsage(vector<chillAST_VarDecl*> &decls) { +  CHILL_DEBUG_PRINT("Using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherVarUsage(decls); +  } +} +void chillAST_Node::gatherStatements(vector<chillAST_Node*> &statements) { +  CHILL_DEBUG_PRINT("using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->gatherStatements(statements); +  } +} +void chillAST_Node::replaceVarDecls(chillAST_VarDecl* olddecl, chillAST_VarDecl *newdecl) { +  CHILL_DEBUG_PRINT("using generic\n"); +  for (int i = 0;i<getNumChildren();++i) { +    if (getChild(i)) +    getChild(i)->replaceVarDecls(olddecl,newdecl); +  } +} + + + + +  | 
