summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Main.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-05-09 23:09:07 +0000
committerMark Spruiell <mes@zeroc.com>2002-05-09 23:09:07 +0000
commitf0c11a26b5c99a7e21782c0e39c596874a842857 (patch)
tree1aacf3d3d952aa1edd0fea66ccb447488f05bc2f /cpp/src/slice2java/Main.cpp
parentfixing trace message (diff)
downloadice-f0c11a26b5c99a7e21782c0e39c596874a842857.tar.bz2
ice-f0c11a26b5c99a7e21782c0e39c596874a842857.tar.xz
ice-f0c11a26b5c99a7e21782c0e39c596874a842857.zip
adding --clone, which generates a simple clone() implementation for
non-abstract classes and structs
Diffstat (limited to 'cpp/src/slice2java/Main.cpp')
-rw-r--r--cpp/src/slice2java/Main.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/slice2java/Main.cpp b/cpp/src/slice2java/Main.cpp
index 4e76f0351d1..94103c2f0f0 100644
--- a/cpp/src/slice2java/Main.cpp
+++ b/cpp/src/slice2java/Main.cpp
@@ -31,6 +31,7 @@ usage(const char* n)
"--tie Generate TIE classes.\n"
"--impl Generate sample implementations.\n"
"--impl-tie Generate sample TIE implementations.\n"
+ "--clone Generate clone().\n"
"-d, --debug Print debug messages.\n"
;
}
@@ -45,6 +46,7 @@ main(int argc, char* argv[])
bool tie = false;
bool impl = false;
bool implTie = false;
+ bool clone = false;
bool debug = false;
int idx = 1;
@@ -162,6 +164,15 @@ main(int argc, char* argv[])
}
--argc;
}
+ else if (strcmp(argv[idx], "--clone") == 0)
+ {
+ clone = true;
+ for (int i = idx ; i + 1 < argc ; ++i)
+ {
+ argv[i] = argv[i + 1];
+ }
+ --argc;
+ }
else if (argv[idx][0] == '-')
{
cerr << argv[0] << ": unknown option `" << argv[idx] << "'"
@@ -245,7 +256,7 @@ main(int argc, char* argv[])
}
else
{
- Gen gen(argv[0], base, includePaths, package, output);
+ Gen gen(argv[0], base, includePaths, package, output, clone);
if (!gen)
{
unit->destroy();