Public Member Functions | Protected Attributes

TAO_PSDL_Module_Scope Class Reference

#include <PSDL_Module_Scope.h>

Inheritance diagram for TAO_PSDL_Module_Scope:
Inheritance graph
[legend]
Collaboration diagram for TAO_PSDL_Module_Scope:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_PSDL_Module_Scope (TAO_PSDL_Scope *parent_scope)
 ~TAO_PSDL_Module_Scope (void)
int add_module (ACE_CString identifier)
int add_interface (ACE_CString identifier)
int add_struct (ACE_CString identifier)
int add_typedef (ACE_CString identifier, ACE_CString identifier_type)
int add_const_decl (ACE_CString identifier, ACE_CString identifier_type)
int add_except_decl (ACE_CString identifier, ACE_CString identifier_type)
int add_exception (ACE_CString identifier)
int add_enum_decl (ACE_CString identifier, ACE_CString identifier_type)
int add_op_dcl (ACE_CString identifier)
void dump (CORBA::ULong depth)
 Function to help indent the output of the parse tree.
int find (const ACE_CString &identifier_name, ACE_CString &identifier_type)
 Function to find the TAO_PSDL_Scope for the given identifier_name.
int find (const ACE_CString &identifier_name)
int get_module_name (const ACE_CString &identifier_name, ACE_CString &module_name)
int get_interface_name (const ACE_CString &identifier_name, ACE_CString &interface_name)
TAO_PSDL_Scopeparent_scope (void)
 Return the pointer to the parent scope.
Scope_Mapscope_map (void)
 Return the pointer to Scope_Map of the instance.
ACE_CString identifier_type (void)
ACE_CString module_name (void)
ACE_CString interface_name (void)

Protected Attributes

Scope_Map module_scope_
TAO_PSDL_Scopeparent_scope_
ACE_CString identifier_type_
ACE_CString module_name_
ACE_CString interface_name_

Detailed Description

Definition at line 31 of file PSDL_Module_Scope.h.


Constructor & Destructor Documentation

TAO_PSDL_Module_Scope::TAO_PSDL_Module_Scope ( TAO_PSDL_Scope parent_scope  ) 

Definition at line 9 of file PSDL_Module_Scope.cpp.

  : module_scope_ (),
    parent_scope_ (parent_scope),
    identifier_type_ ("module")
{
}

TAO_PSDL_Module_Scope::~TAO_PSDL_Module_Scope ( void   ) 

Definition at line 16 of file PSDL_Module_Scope.cpp.

{
}


Member Function Documentation

int TAO_PSDL_Module_Scope::add_const_decl ( ACE_CString  identifier,
ACE_CString  identifier_type 
) [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 51 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_const_decl_to_scope (identifier,
                                                               identifier_type,
                                                               this);
}

int TAO_PSDL_Module_Scope::add_enum_decl ( ACE_CString  identifier,
ACE_CString  identifier_type 
)

Definition at line 76 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_enum_decl_to_scope (identifier,
                                                              identifier_type,
                                                              this);
}

int TAO_PSDL_Module_Scope::add_except_decl ( ACE_CString  identifier,
ACE_CString  identifier_type 
) [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 60 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_except_decl_to_scope (identifier,
                                                                identifier_type,
                                                                this);
}

int TAO_PSDL_Module_Scope::add_exception ( ACE_CString  identifier  )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 69 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_exception_to_scope (identifier,
                                                              this);
}

int TAO_PSDL_Module_Scope::add_interface ( ACE_CString  identifier  )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 28 of file PSDL_Module_Scope.cpp.

int TAO_PSDL_Module_Scope::add_module ( ACE_CString  identifier  )  [virtual]

The add functions are overridden by the derived classes to add the respective types in their scopes. The return value is a '0' if successful and '-1' if it ends up as a failure.

Reimplemented from TAO_PSDL_Scope.

Definition at line 21 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_module_to_scope (identifier,
                                                           this);
}

int TAO_PSDL_Module_Scope::add_op_dcl ( ACE_CString  identifier  )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 85 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_op_dcl_to_scope (identifier,
                                                           this);
}

int TAO_PSDL_Module_Scope::add_struct ( ACE_CString  identifier  )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 35 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_struct_to_scope (struct_name,
                                                              this);
}

int TAO_PSDL_Module_Scope::add_typedef ( ACE_CString  identifier,
ACE_CString  identifier_type 
) [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 42 of file PSDL_Module_Scope.cpp.

{
  return TAO_PSDL_Scope::instance ()->add_typedef_to_scope (identifier,
                                                            identifier_type,
                                                            this);
}

void TAO_PSDL_Module_Scope::dump ( CORBA::ULong  depth  )  [virtual]

Function to help indent the output of the parse tree.

Reimplemented from TAO_PSDL_Scope.

Definition at line 92 of file PSDL_Module_Scope.cpp.

{
  depth = depth + 5;

  for (Scope_Map_Iterator i = this->module_scope_.begin ();
       i != this->module_scope_.end ();
       ++i)
    {
      this->print_depth (depth);
      ACE_DEBUG ((LM_DEBUG,
                  "%s (module/interface/storagebase/struct)\n",
                  (*i).ext_id_.c_str ()));
      (*i).int_id_->dump (depth);
    }
}

int TAO_PSDL_Module_Scope::find ( const ACE_CString identifier_name,
ACE_CString identifier_type 
) [virtual]

Function to find the TAO_PSDL_Scope for the given identifier_name.

Reimplemented from TAO_PSDL_Scope.

Definition at line 109 of file PSDL_Module_Scope.cpp.

{
  for (Scope_Map_Iterator i = this->module_scope_.begin ();
       i != this->module_scope_.end ();
       ++i)
    {
      if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
        {
          identifier_type = (*i).int_id_->identifier_type ();
          return 0;
        }
      else
        {
          if ((*i).int_id_->find (identifier_name,
                                  identifier_type) == 0)
            {
              return 0;
            }
        }
    }

  return -1;
}

int TAO_PSDL_Module_Scope::find ( const ACE_CString identifier_name  )  [virtual]

Function to check if a particular identifier_name exists in the scope.

Reimplemented from TAO_PSDL_Scope.

Definition at line 135 of file PSDL_Module_Scope.cpp.

{
  for (Scope_Map_Iterator i = this->module_scope_.begin ();
       i != this->module_scope_.end ();
       ++i)
    {
      if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
        {
          return 0;
        }
      else
        {
          if ((*i).int_id_->find (identifier_name) == 0)
            {
              return 0;
            }
        }
    }

  return -1;
}

int TAO_PSDL_Module_Scope::get_interface_name ( const ACE_CString identifier_name,
ACE_CString interface_name 
) [virtual]

To get the name of the interface to which an identifier_name belongs. returns '0' on succes and '-1' on failure.

Reimplemented from TAO_PSDL_Scope.

Definition at line 184 of file PSDL_Module_Scope.cpp.

{
  for (Scope_Map_Iterator i = this->module_scope_.begin ();
       i != this->module_scope_.end ();
       ++i)
    {
      if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
        {
          interface_name = (*i).int_id_->interface_name ();
          return 0;
        }
      else
        {
          if ((*i).int_id_->get_interface_name (identifier_name,
                                                interface_name) == 0)
            {
              return 0;
            }
        }
    }

  return -1;
}

int TAO_PSDL_Module_Scope::get_module_name ( const ACE_CString identifier_name,
ACE_CString module_name 
) [virtual]

To get the name of the module to which an identifier_name belongs. returns '0' on succes and '-1' on failure.

Reimplemented from TAO_PSDL_Scope.

Definition at line 158 of file PSDL_Module_Scope.cpp.

{
  for (Scope_Map_Iterator i = this->module_scope_.begin ();
       i != this->module_scope_.end ();
       ++i)
    {
      if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
        {
          module_name = (*i).int_id_->module_name ();
          return 0;
        }
      else
        {
          if ((*i).int_id_->get_module_name (identifier_name,
                                             module_name) == 0)
            {
              return 0;
            }
        }
    }

  return -1;
}

ACE_CString TAO_PSDL_Module_Scope::identifier_type ( void   )  [virtual]

Each identifier will have an instance of a derived type of TAO_PSDL_Scope *.. the following method is an accessor to the type of the identifier name

Reimplemented from TAO_PSDL_Scope.

Definition at line 222 of file PSDL_Module_Scope.cpp.

{
  return this->identifier_type_;
}

ACE_CString TAO_PSDL_Module_Scope::interface_name ( void   )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 234 of file PSDL_Module_Scope.cpp.

{
  return this->interface_name_;
}

ACE_CString TAO_PSDL_Module_Scope::module_name ( void   )  [virtual]

Reimplemented from TAO_PSDL_Scope.

Definition at line 228 of file PSDL_Module_Scope.cpp.

{
  return this->module_name_;
}

TAO_PSDL_Scope * TAO_PSDL_Module_Scope::parent_scope ( void   )  [virtual]

Return the pointer to the parent scope.

Reimplemented from TAO_PSDL_Scope.

Definition at line 210 of file PSDL_Module_Scope.cpp.

{
  return this->parent_scope_;
}

Scope_Map * TAO_PSDL_Module_Scope::scope_map ( void   )  [virtual]

Return the pointer to Scope_Map of the instance.

Reimplemented from TAO_PSDL_Scope.

Definition at line 216 of file PSDL_Module_Scope.cpp.

{
  return &this->module_scope_;
}


Member Data Documentation

Definition at line 90 of file PSDL_Module_Scope.h.

Reimplemented from TAO_PSDL_Scope.

Definition at line 92 of file PSDL_Module_Scope.h.

Definition at line 91 of file PSDL_Module_Scope.h.

Definition at line 85 of file PSDL_Module_Scope.h.

Definition at line 86 of file PSDL_Module_Scope.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines