Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / be / be_exception.cpp
blob24101456c2db7c98e1736b2d3a4fbdd71a00dbd2
2 //=============================================================================
3 /**
4 * @file be_exception.cpp
6 * Extension of class AST_Exception that provides additional means for C++
7 * mapping of an interface.
9 * @author Copyright 1994-1995 by Sun Microsystems
10 * @author Inc. and Aniruddha Gokhale
12 //=============================================================================
14 #include "be_exception.h"
15 #include "be_visitor.h"
17 #include "global_extern.h"
19 be_exception::be_exception (UTL_ScopedName *n,
20 bool local,
21 bool abstract)
22 : COMMON_Base (local,
23 abstract),
24 AST_Decl (AST_Decl::NT_except,
25 n),
26 AST_Type (AST_Decl::NT_except,
27 n),
28 AST_ConcreteType (AST_Decl::NT_except,
29 n),
30 UTL_Scope (AST_Decl::NT_except),
31 AST_Structure (AST_Decl::NT_except,
33 local,
34 abstract),
35 AST_Exception (n,
36 local,
37 abstract),
38 be_scope (AST_Decl::NT_except),
39 be_decl (AST_Decl::NT_except,
40 n),
41 be_type (AST_Decl::NT_except,
42 n),
43 be_structure (AST_Decl::NT_except,
45 local,
46 abstract)
48 // Always the case.
49 this->size_type (AST_Type::VARIABLE);
51 if (!this->imported ())
53 idl_global->exception_seen_ = true;
57 void
58 be_exception::destroy (void)
60 // Call the destroy methods of our base classes.
61 this->be_scope::destroy ();
62 this->be_type::destroy ();
63 this->AST_Exception::destroy ();
66 int
67 be_exception::accept (be_visitor *visitor)
69 return visitor->visit_exception (this);
74 IMPL_NARROW_FROM_DECL (be_exception)
75 IMPL_NARROW_FROM_SCOPE (be_exception)