summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
index af72ab06923..57dc49cc163 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
@@ -34,6 +34,16 @@ be_visitor_operation_sh::visit_operation (be_operation *node)
return 0;
}
+ /// No server-side code generation on connector,
+ /// except for operations derived from attributes.
+ AST_Decl::NodeType nt =
+ ScopeAsDecl (node->defined_in ())->node_type ();
+
+ if (nt == AST_Decl::NT_connector && !this->ctx_->attribute ())
+ {
+ return 0;
+ }
+
TAO_OutStream *os = this->ctx_->stream ();
this->ctx_->node (node);