summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp35
1 files changed, 26 insertions, 9 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp b/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp
index 301ef9ce115..173f0829a88 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp
@@ -45,20 +45,37 @@ be_visitor_interface_fwd_ci::~be_visitor_interface_fwd_ci (void)
int
be_visitor_interface_fwd_ci::visit_interface_fwd (be_interface_fwd *node)
{
+ TAO_OutStream *os = this->ctx_->stream ();
+
if (!node->cli_inline_gen () && !node->imported ())
{
-#if 0
- // We don't generate any code here.....
- // It is possible to generate the definitions for the _var and
- // _out types, but if we do that then the _duplicate() and
- // _nil() methods cannot be inlined.
+ // generate the ifdefined macro for the _var type
+ os->gen_ifdef_macro (node->flatname (), "_var");
+
+ if (node->gen_var_impl () == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_fwd_ci::"
+ "visit_interface_fwd - "
+ "codegen for _var failed\n"), -1);
+ }
+
+ os->gen_endif ();
+
+ // generate the ifdefined macro for the _out type
+ os->gen_ifdef_macro (node->flatname (), "_out");
- // Since these classes will be generated once the forward
- // declaration is resolved there is really no problem here
-#endif /* 0 */
+ if (node->gen_out_impl () == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_fwd_ci::"
+ "visit_interface_fwd - "
+ "codegen for _out failed\n"), -1);
+ }
+ os->gen_endif ();
- node->cli_inline_gen (I_TRUE);
+ node->cli_stub_gen (I_TRUE);
}
return 0;
}