diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-09 01:21:30 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-09 01:21:30 +0000 |
commit | 0d65f3da1e079f096cd529ea322be2d57eb9d1a4 (patch) | |
tree | 7a280aa258e79add63b57c1f3a5c9a1eaf65abca | |
parent | 410aa1a773c85033309b016603f1eca458505582 (diff) | |
download | ATCD-0d65f3da1e079f096cd529ea322be2d57eb9d1a4.tar.gz |
ChangeLogTag: Thu Nov 9 01:19:02 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/TAO_IDL/be/be_decl.cpp | 14 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/be_include/be_decl.h | 3 |
3 files changed, 21 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_decl.cpp b/TAO/TAO_IDL/be/be_decl.cpp index 9bdf24f9d94..f930a198fd7 100644 --- a/TAO/TAO_IDL/be/be_decl.cpp +++ b/TAO/TAO_IDL/be/be_decl.cpp @@ -60,6 +60,7 @@ be_decl::be_decl (void) srv_skel_gen_ (false), impl_skel_gen_ (false), srv_inline_gen_ (false), + tie_skel_gen_ (false), cli_hdr_any_op_gen_ (false), cli_stub_any_op_gen_ (false), cli_hdr_cdr_op_gen_ (false), @@ -111,6 +112,7 @@ be_decl::be_decl (AST_Decl::NodeType type, srv_skel_gen_ (false), impl_skel_gen_ (false), srv_inline_gen_ (false), + tie_skel_gen_ (false), cli_hdr_any_op_gen_ (false), cli_stub_any_op_gen_ (false), cli_hdr_cdr_op_gen_ (false), @@ -587,6 +589,12 @@ be_decl::srv_inline_gen (void) } bool +be_decl::tie_skel_gen (void) +{ + return this->tie_skel_gen_; +} + +bool be_decl::ccm_pre_proc_gen (void) { return this->ccm_pre_proc_gen_; @@ -835,6 +843,12 @@ be_decl::srv_inline_gen (bool val) } void +be_decl::tie_skel_gen (bool val) +{ + this->tie_skel_gen_ = val; +} + +void be_decl::ccm_pre_proc_gen (bool val) { this->ccm_pre_proc_gen_ = val; diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index ad0c7b07ad7..640c696c99e 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -734,7 +734,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node) this->this_method (node); - if (be_global->gen_tie_classes ()) + if (be_global->gen_tie_classes () && !node->tie_skel_gen ()) { // Generate the TIE class. be_visitor_context ctx (*this->ctx_); @@ -750,6 +750,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) "codegen for TIE class failed\n"), -1); } + + // AMH generation reuses this visit_interface(), hence the flag. + node->tie_skel_gen (true); } return 0; diff --git a/TAO/TAO_IDL/be_include/be_decl.h b/TAO/TAO_IDL/be_include/be_decl.h index dde2fa8ece3..fce714cc974 100644 --- a/TAO/TAO_IDL/be_include/be_decl.h +++ b/TAO/TAO_IDL/be_include/be_decl.h @@ -83,6 +83,7 @@ public: bool srv_skel_gen (void); bool impl_skel_gen (void); bool srv_inline_gen (void); + bool tie_skel_gen (void); bool cli_hdr_any_op_gen (void); bool cli_stub_any_op_gen (void); bool cli_hdr_cdr_op_gen (void); @@ -128,6 +129,7 @@ public: void srv_skel_gen (bool); void impl_skel_gen (bool); void srv_inline_gen (bool); + void tie_skel_gen (bool); void cli_hdr_any_op_gen (bool); void cli_stub_any_op_gen (bool); void cli_hdr_cdr_op_gen (bool); @@ -183,6 +185,7 @@ private: bool srv_skel_gen_; bool impl_skel_gen_; bool srv_inline_gen_; + bool tie_skel_gen_; bool cli_hdr_any_op_gen_; bool cli_stub_any_op_gen_; bool cli_hdr_cdr_op_gen_; |