summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/narrow/narrow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TAO/TAO_IDL/narrow/narrow.cpp')
-rw-r--r--modules/TAO/TAO_IDL/narrow/narrow.cpp101
1 files changed, 56 insertions, 45 deletions
diff --git a/modules/TAO/TAO_IDL/narrow/narrow.cpp b/modules/TAO/TAO_IDL/narrow/narrow.cpp
index a8546e9c977..534d1360e32 100644
--- a/modules/TAO/TAO_IDL/narrow/narrow.cpp
+++ b/modules/TAO/TAO_IDL/narrow/narrow.cpp
@@ -74,6 +74,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_home.h"
#include "ast_operation.h"
#include "ast_factory.h"
+#include "ast_finder.h"
#include "ast_exception.h"
#include "ast_union.h"
#include "ast_enum.h"
@@ -85,7 +86,10 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
TAO_IDL_FE_Export AST_Decl *
ScopeAsDecl (UTL_Scope *s)
{
- if (s == 0) return 0;
+ if (s == 0)
+ {
+ return 0;
+ }
switch (s->scope_node_type ())
{
@@ -111,6 +115,8 @@ ScopeAsDecl (UTL_Scope *s)
return AST_Operation::narrow_from_scope (s);
case AST_Decl::NT_factory:
return AST_Factory::narrow_from_scope (s);
+ case AST_Decl::NT_finder:
+ return AST_Finder::narrow_from_scope (s);
case AST_Decl::NT_except:
return AST_Exception::narrow_from_scope (s);
case AST_Decl::NT_union:
@@ -130,48 +136,53 @@ ScopeAsDecl (UTL_Scope *s)
TAO_IDL_FE_Export UTL_Scope *
DeclAsScope (AST_Decl *d)
{
- if (d == 0) return 0;
-
- switch (d->node_type ())
- {
- case AST_Decl::NT_interface_fwd:
- /*
- * Resolve forward declared interface by looking at full_definition()
- * field and iterating
- */
- d = (AST_InterfaceFwd::narrow_from_decl (d))->full_definition ();
- /*
- * Fall through
- */
- case AST_Decl::NT_interface:
- return AST_Interface::narrow_from_decl (d);
- case AST_Decl::NT_valuetype:
- return AST_ValueType::narrow_from_decl (d);
- case AST_Decl::NT_eventtype:
- return AST_EventType::narrow_from_decl (d);
- case AST_Decl::NT_component:
- return AST_Component::narrow_from_decl (d);
- case AST_Decl::NT_porttype:
- return AST_PortType::narrow_from_decl (d);
- case AST_Decl::NT_home:
- return AST_Home::narrow_from_decl (d);
- case AST_Decl::NT_module:
- return AST_Module::narrow_from_decl (d);
- case AST_Decl::NT_root:
- return AST_Root::narrow_from_decl (d);
- case AST_Decl::NT_except:
- return AST_Exception::narrow_from_decl (d);
- case AST_Decl::NT_union:
- return AST_Union::narrow_from_decl (d);
- case AST_Decl::NT_struct:
- return AST_Structure::narrow_from_decl (d);
- case AST_Decl::NT_enum:
- return AST_Enum::narrow_from_decl (d);
- case AST_Decl::NT_op:
- return AST_Operation::narrow_from_decl (d);
- case AST_Decl::NT_factory:
- return AST_Factory::narrow_from_decl (d);
- default:
- return 0;
- }
+ if (d == 0)
+ {
+ return 0;
+ }
+
+ switch (d->node_type ())
+ {
+ case AST_Decl::NT_interface_fwd:
+ /*
+ * Resolve forward declared interface by looking at full_definition()
+ * field and iterating
+ */
+ d = (AST_InterfaceFwd::narrow_from_decl (d))->full_definition ();
+ /*
+ * Fall through
+ */
+ case AST_Decl::NT_interface:
+ return AST_Interface::narrow_from_decl (d);
+ case AST_Decl::NT_valuetype:
+ return AST_ValueType::narrow_from_decl (d);
+ case AST_Decl::NT_eventtype:
+ return AST_EventType::narrow_from_decl (d);
+ case AST_Decl::NT_component:
+ return AST_Component::narrow_from_decl (d);
+ case AST_Decl::NT_porttype:
+ return AST_PortType::narrow_from_decl (d);
+ case AST_Decl::NT_home:
+ return AST_Home::narrow_from_decl (d);
+ case AST_Decl::NT_module:
+ return AST_Module::narrow_from_decl (d);
+ case AST_Decl::NT_root:
+ return AST_Root::narrow_from_decl (d);
+ case AST_Decl::NT_except:
+ return AST_Exception::narrow_from_decl (d);
+ case AST_Decl::NT_union:
+ return AST_Union::narrow_from_decl (d);
+ case AST_Decl::NT_struct:
+ return AST_Structure::narrow_from_decl (d);
+ case AST_Decl::NT_enum:
+ return AST_Enum::narrow_from_decl (d);
+ case AST_Decl::NT_op:
+ return AST_Operation::narrow_from_decl (d);
+ case AST_Decl::NT_factory:
+ return AST_Factory::narrow_from_decl (d);
+ case AST_Decl::NT_finder:
+ return AST_Finder::narrow_from_decl (d);
+ default:
+ return 0;
+ }
}