diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_valuetype_fwd.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_valuetype_fwd.cpp | 245 |
1 files changed, 126 insertions, 119 deletions
diff --git a/TAO/TAO_IDL/be/be_valuetype_fwd.cpp b/TAO/TAO_IDL/be/be_valuetype_fwd.cpp index d6165e74e31..6f8eb673de3 100644 --- a/TAO/TAO_IDL/be/be_valuetype_fwd.cpp +++ b/TAO/TAO_IDL/be/be_valuetype_fwd.cpp @@ -21,28 +21,30 @@ // ============================================================================ -#include "idl.h" -#include "idl_extern.h" -#include "be.h" +#include "idl.h" +#include "idl_extern.h" +#include "be.h" #ifdef IDL_HAS_VALUETYPE ACE_RCSID(be, be_valuetype_fwd, "$Id$") -/* - * BE_ValuetypeFwd - */ - - be_valuetype_fwd::be_valuetype_fwd (void) { } be_valuetype_fwd::be_valuetype_fwd (AST_Interface *dummy, - UTL_ScopedName *n, UTL_StrList *p) - : be_interface_fwd (dummy, n, p), - AST_InterfaceFwd (dummy, n, p), - AST_Decl (AST_Decl::NT_interface_fwd, n, p) + UTL_ScopedName *n, + UTL_StrList *p) + : be_interface_fwd (dummy, + n, + p), + AST_InterfaceFwd (dummy, + n, + p), + AST_Decl (AST_Decl::NT_interface_fwd, + n, + p) { } @@ -52,19 +54,19 @@ be_valuetype_fwd::~be_valuetype_fwd (void) void -be_valuetype_fwd::set_abstract_valuetype () +be_valuetype_fwd::set_abstract_valuetype (void) { - this->full_definition()->set_abstract_valuetype(); + this->full_definition ()->set_abstract_valuetype (); } -// generate the var definition +// Generate the var definition int be_valuetype_fwd::gen_var_defn (char *) { ACE_ASSERT (0); - TAO_OutStream *ch; // output stream - TAO_NL nl; // end line - char namebuf [NAMEBUFSIZE]; // names + TAO_OutStream *ch = 0; + TAO_NL nl; + char namebuf [NAMEBUFSIZE]; ACE_OS::memset (namebuf, '\0', @@ -74,67 +76,66 @@ be_valuetype_fwd::gen_var_defn (char *) "%s_var", this->local_name ()->get_string ()); - // retrieve a singleton instance of the code generator - TAO_CodeGen *cg = TAO_CODEGEN::instance (); - - ch = cg->client_header (); + ch = tao_cg->client_header (); - // generate the var definition (always in the client header). + // Generate the var definition (always in the client header). // Depending upon the data type, there are some differences which we account // for over here. - ch->indent (); // start with whatever was our current indent level - *ch << "class " << idl_global->stub_export_macro () + // Start with whatever was our current indent level. + ch->indent (); + *ch << "class " << be_global->stub_export_macro () << " " << namebuf << nl; *ch << "{" << nl; *ch << "public:\n"; ch->incr_indent (); - // default constr + // Default constructor. *ch << namebuf << " (void); // default constructor" << nl; *ch << namebuf << " (" << this->local_name () << "_ptr);" << nl; - // copy constructor + // Copy constructor. *ch << namebuf << " (const " << namebuf << " &); // copy constructor" << nl; - // destructor + // Destructor. *ch << "~" << namebuf << " (void); // destructor" << nl; *ch << nl; - // assignment operator from a pointer + // Assignment operator from a pointer. *ch << namebuf << " &operator= (" << this->local_name () << "_ptr);" << nl; - // assignment from _var + // Assignment from _var. *ch << namebuf << " &operator= (const " << namebuf << " &);" << nl; - // arrow operator + // Arrow operator. *ch << this->local_name () << "_ptr operator-> (void) const;" << nl; *ch << nl; - // other extra types (cast operators, [] operator, and others) + // Other extra types (cast operators, [] operator, and others). *ch << "operator const " << this->local_name () << "_ptr &() const;" << nl; *ch << "operator " << this->local_name () << "_ptr &();" << nl; *ch << "// in, inout, out, _retn " << nl; - // the return types of in, out, inout, and _retn are based on the parameter - // passing rules and the base type + // The return types of in, out, inout, and _retn are based on the parameter + // passing rules and the base type. *ch << this->local_name () << "_ptr in (void) const;" << nl; *ch << this->local_name () << "_ptr &inout (void);" << nl; *ch << this->local_name () << "_ptr &out (void);" << nl; *ch << this->local_name () << "_ptr _retn (void);" << nl; - // generate an additional member function that returns the underlying pointer + // Generate an additional member function that returns + // the underlying pointer. *ch << this->local_name () << "_ptr ptr (void) const;\n"; *ch << "\n"; ch->decr_indent (); - // private + // Private. *ch << "private:\n"; ch->incr_indent (); *ch << this->local_name () << "_ptr ptr_;\n"; @@ -145,17 +146,19 @@ be_valuetype_fwd::gen_var_defn (char *) return 0; } -// implementation of the _var class. All of these get generated in the inline -// file +// Implementation of the _var class. All of these get generated in the inline +// file. int be_valuetype_fwd::gen_var_impl (char *, char *) { ACE_ASSERT (0); - TAO_OutStream *ci; // output stream - TAO_NL nl; // end line - char fname [NAMEBUFSIZE]; // to hold the full and - char lname [NAMEBUFSIZE]; // local _var names + TAO_OutStream *ci = 0; + TAO_NL nl; + + // To hold the full and local _var names. + char fname [NAMEBUFSIZE]; + char lname [NAMEBUFSIZE]; ACE_OS::memset (fname, '\0', @@ -173,30 +176,28 @@ be_valuetype_fwd::gen_var_impl (char *, "%s_var", this->local_name ()->get_string ()); - // retrieve a singleton instance of the code generator - TAO_CodeGen *cg = TAO_CODEGEN::instance (); - - ci = cg->client_inline (); + ci = tao_cg->client_inline (); - // generate the var implementation in the inline file + // Generate the var implementation in the inline file // Depending upon the data type, there are some differences which we account // for over here. - ci->indent (); // start with whatever was our current indent level + // Start with whatever was our current indent level. + ci->indent (); *ci << "// *************************************************************" << nl; *ci << "// Inline operations for class " << fname << nl; *ci << "// *************************************************************\n\n"; - // default constr + // Default constructor. *ci << "ACE_INLINE" << nl; - *ci << fname << "::" << lname << - " (void) // default constructor" << nl; + *ci << fname << "::" << lname + << " (void) // default constructor" << nl; *ci << " " << ": ptr_ (" << this->name () << "::_nil ())" << nl; *ci << "{}\n\n"; - // constr from a _ptr + // Constructor from a _ptr. ci->indent (); *ci << "ACE_INLINE" << nl; *ci << fname << "::" << lname << " (" << this->name () @@ -204,7 +205,7 @@ be_valuetype_fwd::gen_var_impl (char *, *ci << " : ptr_ (p)" << nl; *ci << "{}\n\n"; - // the additional ptr () member function. This member function must be + // The additional ptr () member function. This member function must be // defined before the remaining member functions including the copy // constructor because this inline function is used elsewhere. Hence to make // inlining of this function possible, we must define it before its use. @@ -217,15 +218,15 @@ be_valuetype_fwd::gen_var_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // copy constructor + // Copy constructor. ci->indent (); *ci << "ACE_INLINE" << nl; - *ci << fname << "::" << lname << " (const " << fname << - " &p) // copy constructor" << nl; + *ci << fname << "::" << lname << " (const " << fname + << " &p) // copy constructor" << nl; *ci << " : ptr_ (" << this->name () << "::_duplicate (p.ptr ()))" << nl; *ci << "{}\n\n"; - // destructor + // Destructor. ci->indent (); *ci << "ACE_INLINE" << nl; *ci << fname << "::~" << lname << " (void) // destructor" << nl; @@ -235,11 +236,11 @@ be_valuetype_fwd::gen_var_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // assignment operator + // Assignment operator. ci->indent (); *ci << "ACE_INLINE " << fname << " &" << nl; - *ci << fname << "::operator= (" << this->name () << - "_ptr p)" << nl; + *ci << fname << "::operator= (" << this->name () + << "_ptr p)" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "CORBA::release (this->ptr_);" << nl; @@ -248,11 +249,11 @@ be_valuetype_fwd::gen_var_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // assignment operator from _var + // Assignment operator from _var. ci->indent (); *ci << "ACE_INLINE " << fname << " &" << nl; - *ci << fname << "::operator= (const " << fname << - " &p)" << nl; + *ci << fname << "::operator= (const " << fname + << " &p)" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "if (this != &p)" << nl; @@ -266,11 +267,11 @@ be_valuetype_fwd::gen_var_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // other extra methods - cast operator () + // Other extra methods - cast operator (). ci->indent (); *ci << "ACE_INLINE " << nl; - *ci << fname << "::operator const " << this->name () << - "_ptr &() const // cast" << nl; + *ci << fname << "::operator const " << this->name () + << "_ptr &() const // cast" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "return this->ptr_;\n"; @@ -297,7 +298,7 @@ be_valuetype_fwd::gen_var_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // in, inout, out, and _retn + // in, inout, out, and _retn. ci->indent (); *ci << "ACE_INLINE " << this->name () << "_ptr" << nl; *ci << fname << "::in (void) const" << nl; @@ -342,14 +343,14 @@ be_valuetype_fwd::gen_var_impl (char *, return 0; } -// generate the _out definition +// Generate the _out definition. int be_valuetype_fwd::gen_out_defn (char *) { ACE_ASSERT (0); - TAO_OutStream *ch; // output stream - TAO_NL nl; // end line - char namebuf [NAMEBUFSIZE]; // to hold the _out name + TAO_OutStream *ch = 0; + TAO_NL nl; + char namebuf [NAMEBUFSIZE]; ACE_OS::memset (namebuf, '\0', @@ -359,41 +360,47 @@ be_valuetype_fwd::gen_out_defn (char *) "%s_out", this->local_name ()->get_string ()); - // retrieve a singleton instance of the code generator - TAO_CodeGen *cg = TAO_CODEGEN::instance (); + ch = tao_cg->client_header (); - ch = cg->client_header (); + // Generate the out definition (always in the client header). - // generate the out definition (always in the client header) - ch->indent (); // start with whatever was our current indent level + // Start with whatever was our current indent level. + ch->indent (); - *ch << "class " << idl_global->stub_export_macro () + *ch << "class " << be_global->stub_export_macro () << " " << namebuf << nl; *ch << "{" << nl; *ch << "public:\n"; ch->incr_indent (); - // No default constructor + // No default constructor. - // constructor from a pointer + // Constructor from a pointer. *ch << namebuf << " (" << this->local_name () << "_ptr &);" << nl; - // constructor from a _var & + + // Constructor from a _var &. *ch << namebuf << " (" << this->local_name () << "_var &);" << nl; - // constructor from a _out & + + // Constructor from a _out &. *ch << namebuf << " (const " << namebuf << " &);" << nl; - // assignment operator from a _out & + + // Assignment operator from a _out &. *ch << namebuf << " &operator= (const " << namebuf << " &);" << nl; - // assignment operator from a pointer &, cast operator, ptr fn, operator - // -> and any other extra operators - // only valuetype allows assignment from var & + + // Assignment operator from a pointer &, cast operator, ptr fn, operator + // -> and any other extra operators. + // Only valuetype allows assignment from var &. *ch << namebuf << " &operator= (const " << this->local_name () << "_var &);" << nl; *ch << namebuf << " &operator= (" << this->local_name () << "_ptr);" << nl; - // cast + + // Cast. *ch << "operator " << this->local_name () << "_ptr &();" << nl; - // ptr fn + + // ptr function. *ch << this->local_name () << "_ptr &ptr (void);" << nl; + // operator -> *ch << this->local_name () << "_ptr operator-> (void);" << nl; @@ -414,10 +421,12 @@ be_valuetype_fwd::gen_out_impl (char *, char *) { ACE_ASSERT (0); - TAO_OutStream *ci; // output stream - TAO_NL nl; // end line - char fname [NAMEBUFSIZE]; // to hold the full and - char lname [NAMEBUFSIZE]; // local _out names + TAO_OutStream *ci = 0; + TAO_NL nl; + + // To hold the full and local _out names. + char fname [NAMEBUFSIZE]; + char lname [NAMEBUFSIZE]; ACE_OS::memset (fname, '\0', @@ -435,23 +444,21 @@ be_valuetype_fwd::gen_out_impl (char *, "%s_out", this->local_name ()->get_string ()); - // retrieve a singleton instance of the code generator - TAO_CodeGen *cg = TAO_CODEGEN::instance (); - - ci = cg->client_inline (); + ci = tao_cg->client_inline (); - // generate the var implementation in the inline file + // Generate the var implementation in the inline file // Depending upon the data type, there are some differences which we account // for over here. - ci->indent (); // start with whatever was our current indent level + // Start with whatever was our current indent level. + ci->indent (); *ci << "// *************************************************************" << nl; *ci << "// Inline operations for class " << fname << nl; *ci << "// *************************************************************\n\n"; - // constr from a _ptr + // Constructor from a _ptr. ci->indent (); *ci << "ACE_INLINE" << nl; *ci << fname << "::" << lname << " (" << this->name () @@ -463,11 +470,11 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // constructor from _var & + // Constructor from _var &. ci->indent (); *ci << "ACE_INLINE" << nl; - *ci << fname << "::" << lname << " (" << this->name () << - "_var &p) // constructor from _var" << nl; + *ci << fname << "::" << lname << " (" << this->name () + << "_var &p) // constructor from _var" << nl; *ci << " : ptr_ (p.out ())" << nl; *ci << "{\n"; ci->incr_indent (); @@ -476,20 +483,20 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // copy constructor + // Copy constructor. ci->indent (); *ci << "ACE_INLINE" << nl; - *ci << fname << "::" << lname << " (const " << fname << - " &p) // copy constructor" << nl; + *ci << fname << "::" << lname << " (const " << fname + << " &p) // copy constructor" << nl; *ci << " : ptr_ (ACE_const_cast (" << fname << "&,p).ptr_)" << nl; *ci << "{}\n\n"; - // assignment operator from _out & + // Assignment operator from _out &. ci->indent (); *ci << "ACE_INLINE " << fname << " &" << nl; - *ci << fname << "::operator= (const " << fname << - " &p)" << nl; + *ci << fname << "::operator= (const " << fname + << " &p)" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "this->ptr_ = ACE_const_cast (" << fname << "&,p).ptr_;" << nl; @@ -497,11 +504,11 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // assignment operator from _var + // Assignment operator from _var. ci->indent (); *ci << "ACE_INLINE " << fname << " &" << nl; - *ci << fname << "::operator= (const " << this->name () << - "_var &p)" << nl; + *ci << fname << "::operator= (const " << this->name () + << "_var &p)" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "this->ptr_ = " << this->name () << "::_duplicate (p.ptr ());" << nl; @@ -509,11 +516,11 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // assignment operator from _ptr + // Assignment operator from _ptr. ci->indent (); *ci << "ACE_INLINE " << fname << " &" << nl; - *ci << fname << "::operator= (" << this->name () << - "_ptr p)" << nl; + *ci << fname << "::operator= (" << this->name () + << "_ptr p)" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "this->ptr_ = p;" << nl; @@ -521,18 +528,18 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // other extra methods - cast operator () + // Other extra methods - cast operator (). ci->indent (); *ci << "ACE_INLINE " << nl; - *ci << fname << "::operator " << this->name () << - "_ptr &() // cast" << nl; + *ci << fname << "::operator " << this->name () + << "_ptr &() // cast" << nl; *ci << "{\n"; ci->incr_indent (); *ci << "return this->ptr_;\n"; ci->decr_indent (); *ci << "}\n\n"; - // ptr function + // ptr function. ci->indent (); *ci << "ACE_INLINE " << this->name () << "_ptr &" << nl; *ci << fname << "::ptr (void) // ptr" << nl; @@ -542,7 +549,7 @@ be_valuetype_fwd::gen_out_impl (char *, ci->decr_indent (); *ci << "}\n\n"; - // operator-> + // operator-> ci->indent (); *ci << "ACE_INLINE " << this->name () << "_ptr " << nl; *ci << fname << "::operator-> (void)" << nl; @@ -561,7 +568,7 @@ be_valuetype_fwd::accept (be_visitor *visitor) return visitor->visit_valuetype_fwd (this); } -// Narrowing +// Narrowing. IMPL_NARROW_METHODS1 (be_valuetype_fwd, be_interface_fwd) IMPL_NARROW_FROM_DECL (be_valuetype_fwd) |