TAO_IFR
2.2.5
|
#include <ifr_adding_visitor.h>
Public Member Functions | |
ifr_adding_visitor (AST_Decl *scope, CORBA::Boolean in_reopened=0, bool allow_duplicate_typedefs=false) | |
virtual | ~ifr_adding_visitor (void) |
virtual int | visit_scope (UTL_Scope *node) |
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 (AST_Structure *node) |
virtual int | visit_structure_fwd (AST_StructureFwd *node) |
virtual int | visit_exception (AST_Exception *node) |
virtual int | visit_enum (AST_Enum *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 (AST_Union *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_Lock & | lock (void) const |
Accessor for our lock. More... | |
Protected Member Functions | |
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 | |
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... | |
This visitor adds items found in the IDL file being processed to the Interface Repository.
ifr_adding_visitor::ifr_adding_visitor | ( | AST_Decl * | scope, |
CORBA::Boolean | in_reopened = 0 , |
||
bool | allow_duplicate_typedefs = false |
||
) |
|
virtual |
|
protected |
Code encapsulated out of visit_component().
|
protected |
Code encapsulated out of visit_eventtype().
|
protected |
Code encapsulated out of visit_home().
|
protected |
Code encapsulated out of visit_interface().
|
protected |
Code encapsulated out of visit_valuetype().
|
protected |
Conditional call from visit_field().
This will put the repo entry into ir_current_.
|
protected |
Creates or looks up the element type of an array or sequence, and stores the result in ir_current_.
|
protected |
|
protected |
Conversion functions.
|
protected |
|
protected |
|
protected |
Maybe the base home is in an included IDL file - put it in the repository and go again.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
This will put the field type in ir_current_, and also add it to the repository if it's not already there.
|
protected |
|
protected |
Maybe the managed component is in an included IDL file - put it in the repository and go again.
|
protected |
|
protected |
Maybe the primary key is in an included IDL file - put it in the repository and go again.
|
protected |
|
protected |
|
protected |
Utility method to update ir_current_ for struct members, union members, operation parameters and operation return types.
|
protected |
Determine the primitive type and insert into the Any.
|
protected |
|
protected |
|
protected |
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
@@ (JP 2007-12-12) I've removed code to check for constants of typedefs. The CORBA document formal/2004-03-12 (CORBA 3.0.3) says in section 10.5.8.1 that the type of a constant in the IFR must be 'one of the primitive types allowed in constant declarations'. So for constants of typedefs we store the underlying type in the IFR.
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_operation.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
virtual |
Reimplemented from ifr_visitor.
|
protected |
Do we allow duplicate typedefs?
|
protected |
Are we traversing the scope of a reopened module?
|
protected |
Holder for the IR object most recently created or looked up by the visitor. This makes it accessible by visitor methods that need the result of a call to another visitor method that creates an IR object.
|
protected |
Store the node whose scope (if any) we will be visiting.