summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/PSS/PSDL_Scope.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/PSS/PSDL_Scope.cpp')
-rw-r--r--TAO/orbsvcs/PSS/PSDL_Scope.cpp928
1 files changed, 928 insertions, 0 deletions
diff --git a/TAO/orbsvcs/PSS/PSDL_Scope.cpp b/TAO/orbsvcs/PSS/PSDL_Scope.cpp
new file mode 100644
index 00000000000..13829c524af
--- /dev/null
+++ b/TAO/orbsvcs/PSS/PSDL_Scope.cpp
@@ -0,0 +1,928 @@
+// -*- C++ -*-
+// $Id$
+
+#include "PSDL_Scope.h"
+#include "PSDL_Root_Scope.h"
+#include "PSDL_Simple_Scope.h"
+#include "PSDL_Module_Scope.h"
+#include "PSDL_Interface_Scope.h"
+#include "PSDL_Struct_Scope.h"
+#include "PSDL_Exception_Scope.h"
+#include "PSDL_Op_Dcl_Scope.h"
+#include "PSDL_Stream.h"
+#include "ace/OS_NS_ctype.h"
+
+ACE_RCSID (PSS, PSDL_Scope, "$Id$")
+
+#undef INCREMENT
+#define INCREMENT 40
+
+TAO_PSDL_Scope::TAO_PSDL_Scope (void)
+ : psdl_scope_ (new TAO_PSDL_Scope *[INCREMENT]),
+ ast_scope_ (0),
+ module_names_ (0),
+ interface_names_ (0),
+ psdl_scope_top_ (0),
+ root_scope_ (0),
+ identifier_ (),
+ name_space_ (),
+ interface_name_ (),
+ ps_sh_ (0),
+ ps_si_ (0),
+ ps_sin_ (0)
+{
+}
+
+TAO_PSDL_Scope::~TAO_PSDL_Scope (void)
+{
+}
+
+void
+TAO_PSDL_Scope::to_lower_case (ACE_CString &identifier)
+{
+ size_t len = identifier.length ();
+ for (size_t i = 0; i <= len; ++i)
+ {
+ identifier[i] = ACE_OS::ace_tolower (identifier[i]);
+ }
+}
+
+int
+TAO_PSDL_Scope::check_identifier (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ int result = 0;
+
+ this->to_lower_case (identifier);
+
+ // Check in the ROOT_SCOPE
+ if (scope->scope_map () != 0)
+ result = scope->scope_map ()->find (identifier);
+
+ if (result != 0)
+ {
+ // Didnt find in this scope. Check in the parents scope
+ // since that also counts.
+ if (scope->parent_scope () != 0)
+ {
+ result =
+ this->check_identifier (identifier,
+ scope->parent_scope ());
+ }
+ }
+
+ return result;
+}
+
+void
+TAO_PSDL_Scope::check_name_in_scope (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ // This method is to be used in the cases when the identifier should
+ // have been declared before: for example, forward declarations.
+
+ // Check if it is a user-defined type defined in this scope.
+ int check_result = this->check_identifier (identifier,
+ scope);
+
+ if (check_result == -1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Identifier %s not defined before in the scope..aborting..\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+ }
+}
+
+int
+TAO_PSDL_Scope::add_module (ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_module_to_scope (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ ACE_CString lower_identifier = identifier;
+ this->to_lower_case (lower_identifier);
+
+ if (this->check_identifier (lower_identifier, scope) == -1)
+ {
+ TAO_PSDL_Module_Scope *psdl_module =
+ new TAO_PSDL_Module_Scope (scope);
+
+ scope->scope_map ()->bind (lower_identifier,
+ psdl_module);
+
+ size_t cur_size = this->module_names_.size ();
+
+ /// @@ Rather than here .. you must have actually save the
+ /// identifier name in the instance of the module itself .. or
+ /// may be I should rather figure out a
+ this->module_names_.size (cur_size + 1);
+ this->module_names_[cur_size] = identifier;
+
+ TAO_PSDL_Scope::instance ()->push_scope (psdl_module);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: module name re-defined: ABORTING\n"));
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_interface_dcl_to_scope (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ "forward_dcl");
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: interface_name %s re-defined\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_interface (ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_interface_to_scope (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Interface_Scope *psdl_interface =
+ new TAO_PSDL_Interface_Scope (scope);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_interface);
+
+ TAO_PSDL_Scope::instance ()->push_scope (psdl_interface);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: interface_name %s re-defined\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_struct (ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_struct_to_scope (ACE_CString struct_name,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (struct_name);
+
+ if (this->check_identifier (struct_name, scope) == -1)
+ {
+ TAO_PSDL_Struct_Scope *psdl_struct =
+ new TAO_PSDL_Struct_Scope (scope);
+
+ scope->scope_map ()->bind (struct_name,
+ psdl_struct);
+
+ TAO_PSDL_Scope::instance ()->push_scope (psdl_struct);
+
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: identifier re-defined: ABORTING\n"));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_typedef (ACE_CString,
+ ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_typedef_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Error: trying to redefine typedef %s\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_const_decl (ACE_CString,
+ ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_const_decl_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ // First check if the identifier_type is either a predefined type
+ // or if it is defined before. If it is defined before, we will
+ // proceed.
+ this->check_name_in_scope (identifier_type, scope);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+
+ }
+ else
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Error: const_decl re-defined %s\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_except_decl (ACE_CString,
+ ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_except_decl_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: exception_name %s re-defined\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_op_dcl (ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_op_dcl_to_scope (ACE_CString op_name,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (op_name);
+
+ if (this->check_identifier (op_name, scope) == -1)
+ {
+ TAO_PSDL_Op_Dcl_Scope *psdl_op_dcl =
+ new TAO_PSDL_Op_Dcl_Scope (scope);
+
+ scope->scope_map ()->bind (op_name,
+ psdl_op_dcl);
+
+ TAO_PSDL_Scope::instance ()->push_scope (psdl_op_dcl);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: op_name %s re-defined\n",
+ op_name.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_member_decl (ACE_CString,
+ ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_member_decl_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: member_decl %s re-defined\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_exception (ACE_CString)
+{
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_exception_to_scope (ACE_CString identifier,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+
+ if (this->check_identifier (identifier, scope) == -1)
+ {
+ TAO_PSDL_Exception_Scope *psdl_exception =
+ new TAO_PSDL_Exception_Scope (scope);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_exception);
+
+ TAO_PSDL_Scope::instance ()->push_scope (psdl_exception);
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error: exception %s re-defined: aborting\n",
+ identifier.c_str ()));
+
+ ACE_OS::exit (1);
+
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_scoped_decl_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ return 0;
+}
+
+int
+TAO_PSDL_Scope::add_enum_decl_to_scope (ACE_CString identifier,
+ ACE_CString identifier_type,
+ TAO_PSDL_Scope *scope)
+{
+ this->to_lower_case (identifier);
+ this->to_lower_case (identifier_type);
+
+ TAO_PSDL_Simple_Scope *psdl_simple =
+ new TAO_PSDL_Simple_Scope (scope,
+ identifier_type);
+
+ scope->scope_map ()->bind (identifier,
+ psdl_simple);
+ return 0;
+}
+
+void
+TAO_PSDL_Scope::set_root_scope ()
+{
+ // This method is called to push the root_scope the first time.
+ if (this->root_scope_ == 0)
+ {
+ this->root_scope_ = new TAO_PSDL_Root_Scope ();
+ TAO_PSDL_Scope::instance ()->push_scope (this->root_scope_);
+ }
+}
+
+void
+TAO_PSDL_Scope::set_stub_prefix (const char *filename)
+{
+ this->stub_prefix_ = filename;
+}
+
+const ACE_CString &
+TAO_PSDL_Scope::get_stub_prefix (void)
+{
+ return this->stub_prefix_;
+}
+
+TAO_PSDL_Stream *
+TAO_PSDL_Scope::get_sh (void)
+{
+ if (this->ps_sh_ == 0)
+ {
+ ACE_NEW_RETURN (this->ps_sh_,
+ TAO_PSDL_Stream,
+ 0);
+
+ ACE_CString file_name =
+ TAO_PSDL_Scope::instance ()->get_stub_prefix () + "C.h";
+
+ this->ps_sh_->open (file_name.c_str ());
+
+ this->header_initialization (this->ps_sh_);
+ }
+
+ return this->ps_sh_;
+}
+
+TAO_PSDL_Stream *
+TAO_PSDL_Scope::get_si (void)
+{
+ if (this->ps_si_ == 0)
+ {
+ ACE_NEW_RETURN (this->ps_si_,
+ TAO_PSDL_Stream,
+ 0);
+
+ ACE_CString file_name =
+ TAO_PSDL_Scope::instance ()->get_stub_prefix () + "C.cpp";
+
+ this->ps_si_->open (file_name.c_str ());
+
+ this->stub_initialization (this->ps_si_);
+ }
+
+ return this->ps_si_;
+}
+
+TAO_PSDL_Stream *
+TAO_PSDL_Scope::get_sinline (void)
+{
+ if (this->ps_sin_ == 0)
+ {
+ ACE_NEW_RETURN (this->ps_sin_,
+ TAO_PSDL_Stream,
+ 0);
+
+ ACE_CString file_name =
+ TAO_PSDL_Scope::instance ()->get_stub_prefix () + "C.i";
+
+ this->ps_sin_->open (file_name.c_str ());
+ }
+
+ return this->ps_sin_;
+}
+
+void
+TAO_PSDL_Scope::header_initialization (TAO_PSDL_Stream *ps_sh)
+{
+ ps_sh->reset ();
+
+ *ps_sh << "#ifndef _TAO_PSDL_" << this->get_stub_prefix () << "C_H_";
+ ps_sh->nl ();
+
+ *ps_sh << "#define _TAO_PSDL_" << this->get_stub_prefix () << "C_H_";
+ ps_sh->nl ();
+
+ *ps_sh << "#include \"tao/corba.h\"";
+ ps_sh->nl ();
+
+ *ps_sh << "#if !defined (ACE_LACKS_PRAGMA_ONCE)";
+ ps_sh->nl ();
+ *ps_sh << "# pragma once";
+ ps_sh->nl ();
+ *ps_sh << "#endif /* ACE_LACKS_PRAGMA_ONCE */";
+ ps_sh->nl ();
+
+ ps_sh->nl ();
+
+ *ps_sh << "#if defined (TAO_EXPORT_MACRO)";
+ ps_sh->nl ();
+ *ps_sh << "#undef TAO_EXPORT_MACRO";
+ ps_sh->nl ();
+ *ps_sh << "#endif";
+ ps_sh->nl ();
+ *ps_sh << "#define TAO_EXPORT_MACRO";
+ ps_sh->nl ();
+
+ ps_sh->nl ();
+
+ *ps_sh << "#if defined (TAO_EXPORT_NESTED_CLASSES)";
+ ps_sh->nl ();
+ *ps_sh << "# if defined (TAO_EXPORT_NESTED_MACRO)";
+ ps_sh->nl ();
+ *ps_sh << "# undef TAO_EXPORT_NESTED_MACRO";
+ ps_sh->nl ();
+ *ps_sh << "# endif /* defined (TAO_EXPORT_NESTED_MACRO) */";
+ ps_sh->nl ();
+ *ps_sh << "# define TAO_EXPORT_NESTED_MACRO";
+ ps_sh->nl ();
+ *ps_sh << "#endif /* TAO_EXPORT_NESTED_CLASSES */";
+ ps_sh->nl ();
+
+ ps_sh->nl ();
+
+ *ps_sh << "#if defined(_MSC_VER)";
+ ps_sh->nl ();
+ *ps_sh << "#pragma warning(push)";
+ ps_sh->nl ();
+ *ps_sh << "#pragma warning(disable:4250)";
+ ps_sh->nl ();
+ *ps_sh << "#endif /* _MSC_VER */";
+ ps_sh->nl ();
+
+ ps_sh->nl ();
+
+ *ps_sh << "#if defined (__BORLANDC__)";
+ ps_sh->nl ();
+ *ps_sh << "#pragma option push -w-rvl -w-rch -w-ccc -w-inl";
+ ps_sh->nl ();
+ *ps_sh << "#endif /* __BORLANDC__ */";
+ ps_sh->nl ();
+
+ ps_sh->nl ();
+
+}
+
+void
+TAO_PSDL_Scope::stub_initialization (TAO_PSDL_Stream *ps_si)
+{
+
+ ps_si->reset ();
+
+ *ps_si << "#include \"" << this->get_stub_prefix () << "C.h\"";
+ ps_si->nl ();
+ *ps_si << "#include \"tao/Stub.h\"";
+ ps_si->nl ();
+ *ps_si << "#include \"tao/PortableInterceptor.h\"";
+ ps_si->nl ();
+
+ ps_si->nl ();
+
+ *ps_si << "#if TAO_HAS_INTERCEPTORS == 1";
+ ps_si->nl ();
+ *ps_si << "#include \"tao/RequestInfo_Util.h\"";
+ ps_si->nl ();
+ *ps_si << "#include \"tao/ClientRequestInfo_i.h\"";
+ ps_si->nl ();
+ *ps_si << "#endif /* TAO_HAS_INTERCEPTORS == 1 */";
+ ps_si->nl ();
+
+ ps_si->nl ();
+
+ *ps_si << "#if defined (__BORLANDC__)";
+ ps_si->nl ();
+ *ps_si << "#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig";
+ ps_si->nl ();
+ *ps_si << "#endif /* __BORLANDC__ */";
+ ps_si->nl ();
+
+ ps_si->nl ();
+
+ *ps_si << "#if !defined (__ACE_INLINE__)";
+ ps_si->nl ();
+ *ps_si << "#include \"" << this->get_stub_prefix () << "C.i\"";
+ ps_si->nl ();
+ *ps_si << "#endif /* !defined INLINE */";
+ ps_si->nl ();
+ ps_si->nl ();
+
+}
+
+TAO_PSDL_Scope *
+TAO_PSDL_Scope::pop_top_scope ()
+{
+ // Return the top Scope
+ if (this->psdl_scope_top_ <= 0)
+ return 0;
+
+ return this->psdl_scope_ [this->psdl_scope_top_ - 1];
+}
+
+void
+TAO_PSDL_Scope::set_module_scope (void)
+{
+ size_t cur_size = this->module_names_.size ();
+
+ // Resetting the module_names_
+ this->module_names_.size (cur_size -1);
+ this->set_scope ();
+}
+
+void
+TAO_PSDL_Scope::set_interface_scope (void)
+{
+ size_t cur_size = this->interface_names_.size ();
+
+ // Resetting the module_names_
+ this->interface_names_.size (cur_size -1);
+ this->set_scope ();
+}
+
+void
+TAO_PSDL_Scope::set_scope (void)
+{
+ // Remove the top scope. Its no longer needed.
+ if (this->psdl_scope_top_ <= 0)
+ {
+ return;
+ }
+
+ --this->psdl_scope_top_;
+}
+
+void
+TAO_PSDL_Scope::push_scope (TAO_PSDL_Scope *scope)
+{
+ // Push a new scope.
+ ++this->psdl_scope_top_;
+ this->psdl_scope_ [this->psdl_scope_top_ - 1] = scope;
+
+ // save for later.
+ size_t cur_size = this->ast_scope_.size ();
+ this->ast_scope_.size (cur_size + 1);
+ this->ast_scope_[cur_size] = scope;
+}
+
+void
+TAO_PSDL_Scope::save_identifier (ACE_CString identifier)
+{
+ this->identifier_ = identifier;
+}
+
+ACE_CString
+TAO_PSDL_Scope::get_identifier (void)
+{
+ return this->identifier_;
+}
+
+void
+TAO_PSDL_Scope::dump (CORBA::ULong depth)
+{
+ this->psdl_scope_[0]->dump (depth);
+}
+
+int
+TAO_PSDL_Scope::find (const ACE_CString &identifier_name,
+ ACE_CString &identifier_type)
+{
+ int result = this->root_scope_->find (identifier_name,
+ identifier_type);
+
+ return result;
+}
+
+int
+TAO_PSDL_Scope::find (const ACE_CString &identifier_name)
+{
+ int result = this->root_scope_->find (identifier_name);
+
+ return result;
+}
+
+int
+TAO_PSDL_Scope::get_module_name (const ACE_CString &identifier_name,
+ ACE_CString &module_name)
+{
+ return this->root_scope_->get_module_name (identifier_name,
+ module_name);
+}
+
+int
+TAO_PSDL_Scope::get_interface_name (const ACE_CString &identifier_name,
+ ACE_CString &interface_name)
+{
+ return this->root_scope_->get_interface_name (identifier_name,
+ interface_name);
+}
+
+ACE_CString
+TAO_PSDL_Scope::identifier_type (void)
+{
+ return "null";
+}
+
+ACE_CString
+TAO_PSDL_Scope::module_name (void)
+{
+ return "null";
+}
+
+ACE_CString
+TAO_PSDL_Scope::interface_name (void)
+{
+ return "null";
+}
+
+ACE_CString
+TAO_PSDL_Scope::convert_str (int identifier_type)
+{
+ switch (identifier_type)
+ {
+ case 258:
+ return "module";
+ case 264:
+ return "abstract";
+ case 288:
+ return "octet";
+ case 290:
+ return "object";
+ case 291:
+ return "struct";
+ case 295:
+ return "long";
+ case 296:
+ return "short";
+ case 298:
+ return "char";
+ case 300:
+ return "typedef";
+ case 301:
+ return "native";
+ case 316:
+ return "void";
+ case 317:
+ return "in";
+ case 324:
+ return "exception";
+ case 325:
+ return "interface";
+ case 326:
+ return "local";
+ case 332:
+ return "char *";
+ case 337:
+ return "enum";
+ case 338:
+ return "sequence";
+ default:
+ return "unknown";
+ };
+}
+
+
+void
+TAO_PSDL_Scope::print_depth (CORBA::ULong depth)
+{
+ for (CORBA::ULong i=0; i != depth; ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "-"));
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ">"));
+}
+
+TAO_PSDL_Scope *
+TAO_PSDL_Scope::instance (void)
+{
+ return TAO_Singleton<TAO_PSDL_Scope, TAO_SYNCH_MUTEX>::instance ();
+}
+
+void
+TAO_PSDL_Scope::set_name_space (ACE_CString name_space)
+{
+ this->name_space_ = name_space;
+}
+
+ACE_CString
+TAO_PSDL_Scope::get_name_space (void)
+{
+ return this->name_space_;
+}
+
+void
+TAO_PSDL_Scope::set_interface_name (ACE_CString interface_name)
+{
+ this->interface_name_ = interface_name;
+}
+
+ACE_CString
+TAO_PSDL_Scope::get_interface_name (void)
+{
+ return this->interface_name_;
+}
+
+TAO_PSDL_Scope *
+TAO_PSDL_Scope::parent_scope (void)
+{
+ return 0;
+}
+
+Scope_Map *
+TAO_PSDL_Scope::scope_map (void)
+{
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
+template TAO_Singleton<TAO_PSDL_Scope, ACE_Thread_Mutex> *TAO_Singleton<TAO_PSDL_Scope, ACE_Thread_Mutex>::singleton_;
+#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */