diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-03-25 19:02:28 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-03-25 19:02:28 +0000 |
commit | 8a7a40e0ced854d0eb3294c53d53b72c3bb96221 (patch) | |
tree | 3029b1d7ef5165b4b745c057ce7fefd961643bc1 /cpp/src/slice2java/Gen.h | |
parent | Updated to put proper paths in the projects. (diff) | |
download | ice-8a7a40e0ced854d0eb3294c53d53b72c3bb96221.tar.bz2 ice-8a7a40e0ced854d0eb3294c53d53b72c3bb96221.tar.xz ice-8a7a40e0ced854d0eb3294c53d53b72c3bb96221.zip |
adding support for TIE classes
Diffstat (limited to 'cpp/src/slice2java/Gen.h')
-rw-r--r-- | cpp/src/slice2java/Gen.h | 51 |
1 files changed, 47 insertions, 4 deletions
diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h index b4b1ea5e60a..c7f84573388 100644 --- a/cpp/src/slice2java/Gen.h +++ b/cpp/src/slice2java/Gen.h @@ -72,7 +72,9 @@ public: bool operator!() const; // Returns true if there was a constructor error void generate(const UnitPtr&); + void generateTie(const UnitPtr&); void generateImpl(const UnitPtr&); + void generateImplTie(const UnitPtr&); private: @@ -81,6 +83,26 @@ private: std::string _package; std::string _dir; + class OpsVisitor : public JavaVisitor + { + public: + + OpsVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + }; + + class TieVisitor : public JavaVisitor + { + public: + + TieVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + class TypesVisitor : public JavaVisitor { public: @@ -89,7 +111,6 @@ private: virtual bool visitClassDefStart(const ClassDefPtr&); virtual void visitClassDefEnd(const ClassDefPtr&); - virtual void visitOperation(const OperationPtr&); virtual bool visitExceptionStart(const ExceptionPtr&); virtual void visitExceptionEnd(const ExceptionPtr&); virtual bool visitStructStart(const StructPtr&); @@ -173,20 +194,42 @@ private: virtual bool visitClassDefStart(const ClassDefPtr&); }; - class ImplVisitor : public JavaVisitor + class BaseImplVisitor : public JavaVisitor { + protected: + // // Generate code to assign a value // - void writeAssign(::IceUtil::Output&, const std::string&, const TypePtr&, - const std::string&, int&); + void writeAssign(::IceUtil::Output&, const std::string&, const TypePtr&, const std::string&, int&); + + // + // Generate an operation + // + void writeOperation(::IceUtil::Output&, const std::string&, const OperationPtr&, bool); + + public: + + BaseImplVisitor(const std::string&, const std::string&); + }; + class ImplVisitor : public BaseImplVisitor + { public: ImplVisitor(const std::string&, const std::string&); virtual bool visitClassDefStart(const ClassDefPtr&); }; + + class ImplTieVisitor : public BaseImplVisitor + { + public: + + ImplTieVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; }; } |