summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/util/utl_scope.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TAO/TAO_IDL/util/utl_scope.cpp')
-rw-r--r--modules/TAO/TAO_IDL/util/utl_scope.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/modules/TAO/TAO_IDL/util/utl_scope.cpp b/modules/TAO/TAO_IDL/util/utl_scope.cpp
index c4d438facb2..9ee364a8b7f 100644
--- a/modules/TAO/TAO_IDL/util/utl_scope.cpp
+++ b/modules/TAO/TAO_IDL/util/utl_scope.cpp
@@ -78,6 +78,8 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_component_fwd.h"
#include "ast_home.h"
#include "ast_porttype.h"
+#include "ast_template_module.h"
+#include "ast_template_module_ref.h"
#include "ast_typedef.h"
#include "ast_type.h"
#include "ast_root.h"
@@ -181,12 +183,20 @@ iter_lookup_by_name_local (AST_Decl *d,
d = td->base_type ();
}
-
+
if (d == 0)
{
return 0;
}
+ AST_Template_Module_Ref *tmr =
+ AST_Template_Module_Ref::narrow_from_decl (d);
+
+ if (tmr != 0)
+ {
+ d = tmr->ref ();
+ }
+
// Try to convert the AST_Decl to a UTL_Scope.
UTL_Scope *sc = DeclAsScope (d);
@@ -2077,8 +2087,6 @@ UTL_Scope::lookup_by_name (UTL_ScopedName *e,
// We have found the root of the identifier in our local scope.
first_one_found = d;
-
- // For the possible call to look_in_inherited() below.
s = DeclAsScope (d);
// OK, start of name is defined. Now loop doing local lookups