summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include/be_visitor_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_visitor_context.h')
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_context.h240
1 files changed, 0 insertions, 240 deletions
diff --git a/TAO/TAO_IDL/be_include/be_visitor_context.h b/TAO/TAO_IDL/be_include/be_visitor_context.h
deleted file mode 100644
index 9ae68dca747..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_context.h
+++ /dev/null
@@ -1,240 +0,0 @@
-//
-// $Id$
-//
-
-/* -*- C++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_context.h
-//
-// = DESCRIPTION
-// This class serves to provide all the necessary context information to the
-// visitor as it generates code. This may include the scope inside which the
-// code is generated, the output file that is being used, and others. This
-// context information will be passed to the abstract/concrete visitor
-// factory which in turn will use it to construct the right visitor.
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_CONTEXT_H)
-#define TAO_BE_VISITOR_CONTEXT_H
-
-class be_visitor_context
-{
-public:
- be_visitor_context (void);
- // default constructor
-
- be_visitor_context (const be_visitor_context &ctx);
- // default constructor
-
- ~be_visitor_context (void);
- // destructor
-
- be_visitor_context &operator= (const be_visitor_context &ctx);
- // assignment operator
-
- // =helpers
-
- void reset (void);
- // reset the context
-
- void stream (TAO_OutStream *os);
- // set the output stream
-
- TAO_OutStream *stream (void);
- // get the stream
-
- void scope (be_decl *scope);
- // set the scope
-
- be_decl *scope (void);
- // get the scope in which code will be generated
-
- void node (be_decl *node);
- // current node being visited
-
- be_decl *node (void);
- // node being visited
-
- void state (TAO_CodeGen::CG_STATE);
- // code generation state
-
- TAO_CodeGen::CG_STATE state (void);
- // return the code generation state
-
- void alias (be_typedef *node);
- // set the alias node (if any)
-
- be_typedef *alias (void);
- // return the aliased node (if any)
-
- void tdef (be_typedef *node);
- // set the typedef node (if any)
-
- be_typedef *tdef (void);
- // return the typedef node (if any)
-
- void attribute (be_attribute *attr);
- // set the attribute node if any
-
- be_attribute *attribute (void);
- // get the attribute node
-
- void exception (idl_bool);
- // is it the special ctor for exceptions?
-
- idl_bool exception (void);
- // is it the special ctor for exceptions?
-
- void comma (idl_bool);
- // scope supoorts generation of comma after each element
-
- idl_bool comma (void);
- // are we supposed to generate a comma?
-
- be_interface* interface (void) const;
- void interface (be_interface*);
- // In some cases we need to generate the objects of one interface as
- // members of a derived visitor (the TIE classes are a good
- // example). This field is use to hold the interface where we are
- // *generating* code, as opposed to the interfaces where the methods
- // or structures are defined.
-
- // = helpers
-
- // visitors may need the actual type of the node stored in this context. We
- // could have kept separate nodes but that would have increased the size of
- // the context class by a large extent. So we will rely on the
- // "narrow_from_decl" approach
-
- // two types of helpers are provided here. One of them returns the node as
- // the desired actual type. The other returns the scope as the desired type.
-
- be_argument *be_node_as_argument (void);
- // return the node as argument if possible
-
- be_array *be_node_as_array (void);
- // return the node as array if possible
-
- be_attribute *be_node_as_attribute (void);
- // return the node as attribute if possible
-
- be_constant *be_node_as_constant (void);
- // return the node as constant if possible
-
- be_enum *be_node_as_enum (void);
- // return the node as enum if possible
-
- be_enum_val *be_node_as_enum_val (void);
- // return the node as enum_val if possible
-
- be_exception *be_node_as_exception (void);
- // return the node as exception if possible
-
- be_field *be_node_as_field (void);
- // return the node as field if possible
-
- be_interface *be_node_as_interface (void);
- // return the node as interface if possible
-
- be_interface_fwd *be_node_as_interface_fwd (void);
- // return the node as interface_fwd if possible
-
- be_module *be_node_as_module (void);
- // return the node as module if possible
-
- be_operation *be_node_as_operation (void);
- // return the node as operation if possible
-
- be_predefined_type *be_node_as_predefined_type (void);
- // return the node as predefined_type if possible
-
- be_root *be_node_as_root (void);
- // return the node as root if possible
-
- be_sequence *be_node_as_sequence (void);
- // return the node as sequence if possible
-
- be_string *be_node_as_string (void);
- // return the node as string if possible
-
- be_structure *be_node_as_structure (void);
- // return the node as structure if possible
-
- be_typedef *be_node_as_typedef (void);
- // return the node as typedef if possible
-
- be_union *be_node_as_union (void);
- // return the node as union if possible
-
- be_union_branch *be_node_as_union_branch (void);
- // return the node as union_branch if possible
-
- // for scope
-
- be_enum *be_scope_as_enum (void);
- // return the scope as enum if possible
-
- be_exception *be_scope_as_exception (void);
- // return the scope as exception if possible
-
- be_interface *be_scope_as_interface (void);
- // return the scope as interface if possible
-
- be_module *be_scope_as_module (void);
- // return the scope as module if possible
-
- be_operation *be_scope_as_operation (void);
- // return the scope as operation if possible
-
- be_root *be_scope_as_root (void);
- // return the scope as root if possible
-
- be_structure *be_scope_as_structure (void);
- // return the scope as structure if possible
-
- be_union *be_scope_as_union (void);
- // return the scope as union if possible
-
-private:
- TAO_CodeGen::CG_STATE state_;
- // code generation state
-
- TAO_OutStream *os_;
- // current output stream
-
- be_decl *scope_;
- // current scope in which code is generated
-
- be_decl *node_;
- // current node
-
- be_typedef *alias_;
- // aliased node used as a scoped name to define IDL types.
-
- be_typedef *tdef_;
- // typedef node
-
- be_attribute *attr_;
- // attribute node stored here while generating its code
-
- idl_bool exception_;
- // is it the special ctor for exceptions?
-
- idl_bool comma_;
- // whether scope should generate a comma after every element
-
- be_interface* interface_;
- // See the method declaration above.
-};
-
-
-#endif /* BE_VISITOR_CONTEXT_H */