diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-23 17:00:00 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-23 17:00:00 +0000 |
commit | 287fa6d8b442a118650877c5b43b7802d2f99305 (patch) | |
tree | 8de6116f35ab63cabe7b93310e4e1afcf26bbc31 /TAO/TAO_IDL/be/be_scope.cpp | |
parent | bf12751e22e5d8bc31091b25ccbc4a9c5b1c71a6 (diff) | |
download | ATCD-287fa6d8b442a118650877c5b43b7802d2f99305.tar.gz |
ChangeLogTag: Wed Aug 23 11:53:43 2000 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_scope.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_scope.cpp | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/TAO/TAO_IDL/be/be_scope.cpp b/TAO/TAO_IDL/be/be_scope.cpp index 16dfb2defe9..3f26593323e 100644 --- a/TAO/TAO_IDL/be/be_scope.cpp +++ b/TAO/TAO_IDL/be/be_scope.cpp @@ -8,13 +8,13 @@ ACE_RCSID(be, be_scope, "$Id$") -// Default Constructor +// Default Constructor. be_scope::be_scope (void) : comma_ (0) { } -// Constructor +// Constructor. be_scope::be_scope (AST_Decl::NodeType type) : UTL_Scope (type), comma_ (0) @@ -25,7 +25,8 @@ be_scope::~be_scope (void) { } -// Code generation methods +// Code generation methods. + void be_scope::comma (unsigned short comma) { @@ -38,7 +39,7 @@ be_scope::comma (void) const return this->comma_; } -// return the scope created by this node (if one exists, else NULL) +// Return the scope created by this node (if one exists, else NULL). be_decl * be_scope::decl (void) { @@ -65,12 +66,38 @@ be_scope::decl (void) } } +void +be_scope::destroy (void) +{ + AST_Decl *i = 0; + UTL_ScopeActiveIterator *iter = 0; + + ACE_NEW (iter, + UTL_ScopeActiveIterator (this, + IK_decls)); + + while (!iter->is_done ()) + { + i = iter->item (); + i->destroy (); + delete i; + i = 0; + iter->next (); + } + + delete iter; + +// Still some glitches, but the call should eventually +// be made here. +// UTL_Scope::destroy (); +} + int be_scope::accept (be_visitor *visitor) { return visitor->visit_scope (this); } -// narrowing methods +// Narrowing methods. IMPL_NARROW_METHODS1 (be_scope, UTL_Scope) IMPL_NARROW_FROM_SCOPE (be_scope) |