You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by jk...@apache.org on 2017/09/21 17:04:04 UTC

thrift git commit: THRIFT-4287: Add c++ compiler no_skeleton flag option Client: C++

Repository: thrift
Updated Branches:
  refs/heads/master 69603709e -> 8506121b3


THRIFT-4287: Add c++ compiler no_skeleton flag option
Client: C++

This closes #1333


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/8506121b
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/8506121b
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/8506121b

Branch: refs/heads/master
Commit: 8506121b3eaeca998ab562bd76ef8a1fbf2f36a4
Parents: 6960370
Author: oryahud <or...@gmail.com>
Authored: Fri Aug 18 05:51:44 2017 +0300
Committer: James E. King, III <jk...@apache.org>
Committed: Thu Sep 21 10:03:00 2017 -0700

----------------------------------------------------------------------
 .../cpp/src/thrift/generate/t_cpp_generator.cc  | 23 +++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/8506121b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
index 9413b86..1c93957 100644
--- a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
@@ -65,6 +65,7 @@ public:
     gen_templates_only_ = false;
     gen_moveable_ = false;
     gen_no_ostream_operators_ = false;
+    gen_no_skeleton_ = false;
 
     for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
       if( iter->first.compare("pure_enums") == 0) {
@@ -84,6 +85,8 @@ public:
         gen_moveable_ = true;
       } else if ( iter->first.compare("no_ostream_operators") == 0) {
         gen_no_ostream_operators_ = true;
+      } else if ( iter->first.compare("no_skeleton") == 0) {
+        gen_no_skeleton_ = true;
       } else {
         throw "unknown option cpp:" + iter->first;
       }
@@ -338,6 +341,11 @@ private:
    */
   bool gen_no_default_operators_;
 
+   /**
+   * True if we should generate skeleton.
+   */
+  bool gen_no_skeleton_;
+
   /**
    * Strings for namespace, computed once up front then used directly
    */
@@ -1769,9 +1777,13 @@ void t_cpp_generator::generate_service(t_service* tservice) {
   generate_service_client(tservice, "");
   generate_service_processor(tservice, "");
   generate_service_multiface(tservice);
-  generate_service_skeleton(tservice);
   generate_service_client(tservice, "Concurrent");
 
+  // Generate skeleton
+  if (!gen_no_skeleton_) {
+      generate_service_skeleton(tservice);
+  }
+
   // Generate all the cob components
   if (gen_cob_style_) {
     generate_service_interface(tservice, "CobCl");
@@ -1780,7 +1792,11 @@ void t_cpp_generator::generate_service(t_service* tservice) {
     generate_service_null(tservice, "CobSv");
     generate_service_client(tservice, "Cob");
     generate_service_processor(tservice, "Cob");
-    generate_service_async_skeleton(tservice);
+
+    if (!gen_no_skeleton_) {
+      generate_service_async_skeleton(tservice);
+    }
+   
   }
 
   f_header_ << "#ifdef _MSC_VER\n"
@@ -4466,4 +4482,5 @@ THRIFT_REGISTER_GENERATOR(
     "    include_prefix:  Use full include paths in generated files.\n"
     "    moveable_types:  Generate move constructors and assignment operators.\n"
     "    no_ostream_operators:\n"
-    "                     Omit generation of ostream definitions.\n")
+    "                     Omit generation of ostream definitions.\n"
+    "    no_skeleton:     Omits generation of skeleton.\n")