ifr_adding_visitor_exception.h

Go to the documentation of this file.
00001 // ifr_adding_visitor_exception.h,v 1.10 2003/03/01 18:28:37 ossama Exp
00002 
00003 /* -*- c++ -*- */
00004 // ============================================================================
00005 //
00006 // = LIBRARY
00007 //    TAO_IFR_BE_DLL
00008 //
00009 // = FILENAME
00010 //    ifr_adding_visitor_exception.h
00011 //
00012 // = DESCRIPTION
00013 //    Header file for class ifr_adding_visitor_exception.
00014 //
00015 // = AUTHOR
00016 //    Jeff Parsons <parsons@cs.wustl.edu>
00017 //
00018 // ============================================================================
00019 
00020 #ifndef TAO_IFR_ADDING_VISITOR_EXCEPTION_H
00021 #define TAO_IFR_ADDING_VISITOR_EXCEPTION_H
00022 
00023 #include "ifr_adding_visitor.h"
00024 
00025 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00026 # pragma once
00027 #endif /* ACE_LACKS_PRAGMA_ONCE */
00028 
00029 class ifr_adding_visitor_exception : public ifr_adding_visitor
00030 {
00031   //
00032   // = TITLE
00033   //    ifr_adding_visitor_exception.
00034   //
00035   // = DESCRIPTION
00036   //    This visitor overrides a few of the visit methods
00037   //    for the case when an exception node is seen in the AST.
00038   //
00039 public:
00040   ifr_adding_visitor_exception (AST_Decl *scope,
00041                                 CORBA::Boolean in_reopened_);
00042   // Constructor.
00043 
00044   virtual ~ifr_adding_visitor_exception (void);
00045   // Destructor.
00046 
00047   virtual int visit_scope (UTL_Scope *node);
00048   // Visit a struct.
00049 
00050   virtual int visit_structure (AST_Structure *node);
00051   // Visit a struct.
00052 
00053   virtual int visit_exception (AST_Exception *node);
00054   // Visit a struct.
00055 
00056   virtual int visit_enum (AST_Enum *node);
00057   // Visit an enum.
00058 
00059   virtual int visit_union (AST_Union *node);
00060   // Visit union.
00061 
00062   virtual CORBA::IDLType_ptr ir_current (void) const;
00063   // Lets the visitor one level above acess this value.
00064 
00065 private:
00066   CORBA::Boolean is_nested_;
00067   // Is this visitor visiting a struct that was defined inside
00068   // a union, an exception, or another struct?
00069 
00070   CORBA::StructMemberSeq members_;
00071   // Holder for the member list passed to create_struct() or
00072   // create_exception().
00073 
00074   ACE_Unbounded_Queue<CORBA::Contained_ptr> move_queue_;
00075   // IR objects that must be moved into the scope (struct or
00076   // exception) where they were declared in the IDL file.
00077 };
00078 
00079 #endif /* TAO_IFR_ADDING_VISITOR_EXCEPTION_H */

Generated on Thu Nov 9 14:11:50 2006 for TAO_IFR by doxygen 1.3.6