summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Hornsey <hornseyf@objectcomputing.com>2018-12-04 15:50:27 -0600
committerFred Hornsey <hornseyf@objectcomputing.com>2018-12-04 15:50:27 -0600
commitee5e5763132fc3341a914728548120cc9fce8483 (patch)
tree85978b1ab4b9d3a1fd0898a369f5daffd977b76a
parentdcdd3ea3ae77fba0c8e987d844b795b2bc438fc4 (diff)
downloadATCD-ee5e5763132fc3341a914728548120cc9fce8483.tar.gz
tao_idl: Lookup Node by string
-rw-r--r--TAO/TAO_IDL/include/utl_scope.h2
-rw-r--r--TAO/TAO_IDL/util/utl_scope.cpp10
2 files changed, 12 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/include/utl_scope.h b/TAO/TAO_IDL/include/utl_scope.h
index 38f37284ffa..ef20c534e08 100644
--- a/TAO/TAO_IDL/include/utl_scope.h
+++ b/TAO/TAO_IDL/include/utl_scope.h
@@ -198,6 +198,8 @@ public:
// Look up one of the pseudo-object types.
AST_Decl *lookup_pseudo (Identifier *);
+ AST_Decl *lookup_by_name (const char *name);
+
virtual AST_Decl *look_in_prev_mods_local (Identifier *e,
bool ignore_fwd = false);
diff --git a/TAO/TAO_IDL/util/utl_scope.cpp b/TAO/TAO_IDL/util/utl_scope.cpp
index 06063645126..eb0a50bc9c0 100644
--- a/TAO/TAO_IDL/util/utl_scope.cpp
+++ b/TAO/TAO_IDL/util/utl_scope.cpp
@@ -2240,3 +2240,13 @@ UTL_Scope::fe_add_annotation_member (AST_Annotation_Member * /*annotation_member
{
return 0;
}
+
+AST_Decl *
+UTL_Scope::lookup_by_name (const char *name)
+{
+ AST_Decl *node = 0;
+ UTL_ScopedName *scoped_name = FE_Utils::string_to_scoped_name (name);
+ node = lookup_by_name (scoped_name);
+ delete scoped_name;
+ return node;
+}