summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_scope.cpp
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-23 17:00:00 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-23 17:00:00 +0000
commit287fa6d8b442a118650877c5b43b7802d2f99305 (patch)
tree8de6116f35ab63cabe7b93310e4e1afcf26bbc31 /TAO/TAO_IDL/be/be_scope.cpp
parentbf12751e22e5d8bc31091b25ccbc4a9c5b1c71a6 (diff)
downloadATCD-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.cpp37
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)