Charj: Fixed emission of pupInitMethod function signature to header file.
authorJonathan Lifflander <jliffl2@illinois.edu>
Tue, 29 Jun 2010 17:07:12 +0000 (12:07 -0500)
committerJonathan Lifflander <jliffl2@illinois.edu>
Tue, 29 Jun 2010 17:07:12 +0000 (12:07 -0500)
src/langs/charj/src/charj/translator/Charj.stg

index 66b28235f21867bed74f3fe6f05b62efce9cac1a..c4411cede2c2859ae517c0e61bffbc5eb8ec51c1 100644 (file)
@@ -235,24 +235,27 @@ void <ident>::constructorHelper()
 <endif>
 >>
 
-chareDeclaration_h(sym, ident, ext, csds, hasDefaultCtor) ::=
+chareDeclaration_h(sym, ident, ext, csds, needsPupInit, hasDefaultCtor) ::=
 <<
 <chare_preamble_h(sym)>
 #include "<ident>.decl.h"
-<chareDeclaration_h_cont(pds = sym.packageNames, sym = sym, ident = ident, ext = ext, csds = csds, hasDefaultCtor = hasDefaultCtor)>
+<chareDeclaration_h_cont(pds = sym.packageNames, sym = sym, ident = ident, ext = ext, csds = csds, needsPupInit = needsPupInit, hasDefaultCtor = hasDefaultCtor)>
 <chare_epilogue_h(sym)>
 >>
 
-chareDeclaration_h_cont(pds, sym, ident, ext, csds, hasDefaultCtor) ::=
+chareDeclaration_h_cont(pds, sym, ident, ext, csds, needsPupInit, hasDefaultCtor) ::=
 <<
 <if(first(pds))>namespace <first(pds)>
 {
-    <chareDeclaration_h_cont(pds = rest(pds), sym = sym, ident = ident, ext = ext, csds = csds, hasDefaultCtor = hasDefaultCtor)>
+    <chareDeclaration_h_cont(pds = rest(pds), sym = sym, ident = ident, ext = ext, csds = csds, needsPupInit = needsPupInit, hasDefaultCtor = hasDefaultCtor)>
 } // namespace <first(pds)>
 <else>
 <if(ext)>/* superclass: <ext> */<endif>
 class <ident>: public CBase_<ident> {
     <csds; separator="\n">
+    <if(needsPupInit)>
+    private: void pupInitMethod();
+    <endif>
     public: void pup(PUP::er& p);
     <if(!hasDefaultCtor)>
     public: <ident>();