diff options
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_structure.h')
-rw-r--r-- | TAO/TAO_IDL/be_include/be_structure.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be_structure.h b/TAO/TAO_IDL/be_include/be_structure.h new file mode 100644 index 00000000000..61e5646d95a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_structure.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- */ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// be_structure.h +// +// = DESCRIPTION +// Extension of class AST_Structure that provides additional means for C++ +// mapping. +// +// = AUTHOR +// Copyright 1994-1995 by Sun Microsystems, Inc. +// and +// Aniruddha Gokhale +// +// ============================================================================ + +#ifndef BE_STRUCTURE_H +#define BE_STRUCTURE_H + +#include "be_scope.h" +#include "be_type.h" +#include "ast_structure.h" + +class be_visitor; + +class be_structure : public virtual AST_Structure, + public virtual be_scope, + public virtual be_type +{ +public: + be_structure (void); + // Default constructor. + + be_structure (UTL_ScopedName *n, + bool local, + bool abstract); + // Constructor. + + virtual void redefine (AST_Structure *from); + // Copy BE-specific values when redefining struct or union + // from a forward declaration. + + virtual void destroy (void); + // Cleanup method. + + virtual int accept (be_visitor *visitor); + // Visiting. + + AST_Field *be_add_field (AST_Field *f); + // To access the protected base class method fe_add_field. + + // Narrowing. + DEF_NARROW_METHODS3 (be_structure, AST_Structure, be_scope, be_type); + DEF_NARROW_FROM_DECL (be_structure); + DEF_NARROW_FROM_SCOPE (be_structure); +}; + +#endif |