diff options
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog | 8 | ||||
-rw-r--r-- | TAO/TAO_IDL/ast/ast_type.cpp | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index f1651cd7cb4..4e30970d2aa 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,11 @@ +Mon Jul 2 10:15:47 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/ast/ast_type.cpp(nested_name): + + Added a check to ensure that a leading '::' will be generated + for the type name of CORBA::TypeCode as it is for the other + CORBA types Object, AbstractBase, Va;ueBase and Any. + Mon Jul 2 10:05:28 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_predefined_type.cpp: diff --git a/TAO/TAO_IDL/ast/ast_type.cpp b/TAO/TAO_IDL/ast/ast_type.cpp index 6fccb1fd638..869d9e30efe 100644 --- a/TAO/TAO_IDL/ast/ast_type.cpp +++ b/TAO/TAO_IDL/ast/ast_type.cpp @@ -323,8 +323,14 @@ AST_Type::nested_name (const char* local_name, // generations of "::" here and there, which have now been removed. UTL_Scope *s = this->defined_in (); AST_Decl *def_scope = s != 0 ? ScopeAsDecl (s) : 0; + + // TypeCode is a special case for predefined types, since it's + // defined in the CORBA module. bool in_root = - def_scope != 0 && def_scope->node_type () == AST_Decl::NT_root; + (def_scope != 0 && def_scope->node_type () == AST_Decl::NT_root) + || ((this->node_type () == AST_Decl::NT_pre_defined + && ACE_OS::strcmp (this->flat_name (), "CORBA_TypeCode") == 0)); + ACE_CString fname (this->full_name ()); bool corba_type = fname.find ("CORBA::") == 0; |