diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/narrow/narrow.cpp')
-rw-r--r-- | modules/TAO/TAO_IDL/narrow/narrow.cpp | 101 |
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; + } } |