summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-03-25 19:02:28 +0000
committerMark Spruiell <mes@zeroc.com>2002-03-25 19:02:28 +0000
commit8a7a40e0ced854d0eb3294c53d53b72c3bb96221 (patch)
tree3029b1d7ef5165b4b745c057ce7fefd961643bc1 /cpp/src/slice2java/Gen.h
parentUpdated to put proper paths in the projects. (diff)
downloadice-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.h51
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&);
+ };
};
}