TAO_IFR  2.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ifr_adding_visitor_union Class Reference

ifr_adding_visitor_exception. More...

#include <ifr_adding_visitor_union.h>

Inheritance diagram for ifr_adding_visitor_union:
Inheritance graph
[legend]
Collaboration diagram for ifr_adding_visitor_union:
Collaboration graph
[legend]

Public Member Functions

 ifr_adding_visitor_union (AST_Decl *scope)
 
virtual ~ifr_adding_visitor_union (void)
 
virtual int visit_scope (UTL_Scope *node)
 
virtual int visit_structure (AST_Structure *node)
 
virtual int visit_enum (AST_Enum *node)
 
virtual int visit_union (AST_Union *node)
 
virtual CORBA::IDLType_ptr ir_current (void) const
 Lets the visitor one level above acess this value. More...
 
- Public Member Functions inherited from ifr_adding_visitor
 ifr_adding_visitor (AST_Decl *scope, CORBA::Boolean in_reopened=0, bool allow_duplicate_typedefs=false)
 
virtual ~ifr_adding_visitor (void)
 
virtual int visit_predefined_type (AST_PredefinedType *node)
 
virtual int visit_module (AST_Module *node)
 
virtual int visit_interface (AST_Interface *node)
 
virtual int visit_interface_fwd (AST_InterfaceFwd *node)
 
virtual int visit_valuebox (AST_ValueBox *node)
 
virtual int visit_valuetype (AST_ValueType *node)
 
virtual int visit_valuetype_fwd (AST_ValueTypeFwd *node)
 
virtual int visit_component (AST_Component *node)
 
virtual int visit_component_fwd (AST_ComponentFwd *node)
 
virtual int visit_provides (AST_Provides *node)
 
virtual int visit_uses (AST_Uses *node)
 
virtual int visit_publishes (AST_Publishes *node)
 
virtual int visit_emits (AST_Emits *node)
 
virtual int visit_consumes (AST_Consumes *node)
 
virtual int visit_eventtype (AST_EventType *node)
 
virtual int visit_eventtype_fwd (AST_EventTypeFwd *node)
 
virtual int visit_home (AST_Home *node)
 
virtual int visit_structure_fwd (AST_StructureFwd *node)
 
virtual int visit_exception (AST_Exception *node)
 
virtual int visit_operation (AST_Operation *node)
 
virtual int visit_field (AST_Field *node)
 
virtual int visit_attribute (AST_Attribute *node)
 
virtual int visit_union_fwd (AST_UnionFwd *node)
 
virtual int visit_constant (AST_Constant *node)
 
virtual int visit_array (AST_Array *node)
 
virtual int visit_sequence (AST_Sequence *node)
 
virtual int visit_string (AST_String *node)
 
virtual int visit_typedef (AST_Typedef *node)
 
virtual int visit_root (AST_Root *node)
 
virtual int visit_native (AST_Native *node)
 
- Public Member Functions inherited from ifr_visitor
virtual ~ifr_visitor (void)
 
virtual int visit_decl (AST_Decl *d)
 
virtual int visit_type (AST_Type *node)
 
virtual int visit_template_module (AST_Template_Module *node)
 
virtual int visit_template_module_inst (AST_Template_Module_Inst *node)
 
virtual int visit_template_module_ref (AST_Template_Module_Ref *node)
 
virtual int visit_porttype (AST_PortType *node)
 
virtual int visit_extended_port (AST_Extended_Port *node)
 
virtual int visit_mirror_port (AST_Mirror_Port *node)
 
virtual int visit_connector (AST_Connector *node)
 
virtual int visit_factory (AST_Factory *node)
 
virtual int visit_finder (AST_Finder *node)
 
virtual int visit_expression (AST_Expression *node)
 
virtual int visit_argument (AST_Argument *node)
 
virtual int visit_union_branch (AST_UnionBranch *node)
 
virtual int visit_union_label (AST_UnionLabel *node)
 
virtual int visit_enum_val (AST_EnumVal *node)
 
virtual int visit_param_holder (AST_Param_Holder *node)
 
ACE_Locklock (void) const
 Accessor for our lock. More...
 

Private Member Functions

int add_members (AST_Union *node, CORBA::UnionDef_ptr union_def)
 

Private Attributes

CORBA::UnionMemberSeq members_
 
CORBA::TypeCode_var disc_tc_
 

Additional Inherited Members

- Protected Member Functions inherited from ifr_adding_visitor
CORBA::PrimitiveKind expr_type_to_pkind (AST_Expression::ExprType et)
 Conversion functions. More...
 
CORBA::PrimitiveKind predefined_type_to_pkind (AST_PredefinedType *node)
 
void load_any (AST_Expression::AST_ExprValue *ev, CORBA::Any &any)
 Determine the primitive type and insert into the Any. More...
 
void element_type (AST_Type *base_type, bool owned=false)
 
int create_interface_def (AST_Interface *node)
 Code encapsulated out of visit_interface(). More...
 
int create_value_def (AST_ValueType *node)
 Code encapsulated out of visit_valuetype(). More...
 
int create_component_def (AST_Component *node)
 Code encapsulated out of visit_component(). More...
 
int create_home_def (AST_Home *node)
 Code encapsulated out of visit_home(). More...
 
int create_event_def (AST_EventType *node)
 Code encapsulated out of visit_eventtype(). More...
 
int create_value_member (AST_Field *node)
 Conditional call from visit_field(). More...
 
void get_referenced_type (AST_Type *node)
 
void fill_base_value (CORBA::ValueDef_ptr &result, AST_ValueType *node)
 
void fill_base_component (CORBA::ComponentIR::ComponentDef_ptr &result, AST_Component *node)
 
void fill_base_home (CORBA::ComponentIR::HomeDef_ptr &result, AST_Home *node)
 
void fill_managed_component (CORBA::ComponentIR::ComponentDef_ptr &result, AST_Home *node)
 
void fill_primary_key (CORBA::ValueDef_ptr &result, AST_Home *node)
 
void fill_abstract_base_values (CORBA::ValueDefSeq &result, AST_ValueType *node)
 
void fill_inherited_interfaces (CORBA::InterfaceDefSeq &result, AST_Interface *node)
 
void fill_supported_interfaces (CORBA::InterfaceDefSeq &result, AST_Interface *node)
 
void fill_interfaces (CORBA::InterfaceDefSeq &result, AST_Type **list, CORBA::Long length)
 
void fill_initializers (CORBA::ExtInitializerSeq &result, AST_ValueType *node)
 
void fill_get_exceptions (CORBA::ExceptionDefSeq &result, AST_Attribute *node)
 
void fill_set_exceptions (CORBA::ExceptionDefSeq &result, AST_Attribute *node)
 
void fill_exceptions (CORBA::ExceptionDefSeq &result, AST_Decl *node)
 
void fill_exceptions (CORBA::ExceptionDefSeq &result, UTL_ExceptList *list)
 
void fill_params (CORBA::ParDescriptionSeq &result, UTL_Scope *node)
 
void visit_all_factories (AST_Home *node, CORBA::ComponentIR::HomeDef_ptr h)
 
void visit_all_finders (AST_Home *node, CORBA::ComponentIR::HomeDef_ptr h)
 
void expand_id (ACE_CString &str, const char *local_name)
 
- Protected Member Functions inherited from ifr_visitor
 ifr_visitor (void)
 
- Protected Attributes inherited from ifr_adding_visitor
CORBA::IDLType_var ir_current_
 
AST_Decl * scope_
 Store the node whose scope (if any) we will be visiting. More...
 
bool in_reopened_
 Are we traversing the scope of a reopened module? More...
 
bool allow_duplicate_typedefs_
 Do we allow duplicate typedefs? More...
 

Detailed Description

ifr_adding_visitor_exception.

This visitor overrides a few of the visit methods for the case when a union node is seen in the AST.

Constructor & Destructor Documentation

ifr_adding_visitor_union::ifr_adding_visitor_union ( AST_Decl *  scope)
ifr_adding_visitor_union::~ifr_adding_visitor_union ( void  )
virtual

Member Function Documentation

int ifr_adding_visitor_union::add_members ( AST_Union *  node,
CORBA::UnionDef_ptr  union_def 
)
private

Common code called whether we are creating a new union or filling out a forward declaration.

CORBA::IDLType_ptr ifr_adding_visitor_union::ir_current ( void  ) const
virtual

Lets the visitor one level above acess this value.

int ifr_adding_visitor_union::visit_enum ( AST_Enum *  node)
virtual

Reimplemented from ifr_adding_visitor.

int ifr_adding_visitor_union::visit_scope ( UTL_Scope *  node)
virtual

Reimplemented from ifr_adding_visitor.

int ifr_adding_visitor_union::visit_structure ( AST_Structure *  node)
virtual

Reimplemented from ifr_adding_visitor.

int ifr_adding_visitor_union::visit_union ( AST_Union *  node)
virtual

Reimplemented from ifr_adding_visitor.

Member Data Documentation

CORBA::TypeCode_var ifr_adding_visitor_union::disc_tc_
private

Holds the typecode of the discriminator (used only if the discriminator is an enum type, so we can insert the label values into Anys for UnionMemberSeq[i].label).

CORBA::UnionMemberSeq ifr_adding_visitor_union::members_
private

Holder for the member list passed to create_struct() or create_exception().


The documentation for this class was generated from the following files: