#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_factory (AST_Factory *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) |
Protected Member Functions | |
CORBA::PrimitiveKind | expr_type_to_pkind (AST_Expression::ExprType et) |
CORBA::PrimitiveKind | predefined_type_to_pkind (AST_PredefinedType *node) |
void | load_any (AST_Expression::AST_ExprValue *ev, CORBA::Any &any) |
void | element_type (AST_Type *base_type, bool owned=false) |
int | create_interface_def (AST_Interface *node) |
int | create_value_def (AST_ValueType *node) |
int | create_component_def (AST_Component *node) |
int | create_home_def (AST_Home *node) |
int | create_event_def (AST_EventType *node) |
int | create_value_member (AST_Field *node) |
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, AST_Operation *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 Attributes | |
CORBA::IDLType_var | ir_current_ |
AST_Decl * | scope_ |
bool | in_reopened_ |
bool | allow_duplicate_typedefs_ |
ifr_adding_visitor::ifr_adding_visitor | ( | AST_Decl * | scope, | |
CORBA::Boolean | in_reopened = 0 , |
|||
bool | allow_duplicate_typedefs = false | |||
) |
ifr_adding_visitor::~ifr_adding_visitor | ( | void | ) | [virtual] |
int ifr_adding_visitor::create_component_def | ( | AST_Component * | node | ) | [protected] |
int ifr_adding_visitor::create_event_def | ( | AST_EventType * | node | ) | [protected] |
int ifr_adding_visitor::create_home_def | ( | AST_Home * | node | ) | [protected] |
int ifr_adding_visitor::create_interface_def | ( | AST_Interface * | node | ) | [protected] |
int ifr_adding_visitor::create_value_def | ( | AST_ValueType * | node | ) | [protected] |
int ifr_adding_visitor::create_value_member | ( | AST_Field * | node | ) | [protected] |
This will put the repo entry into ir_current_.
void ifr_adding_visitor::element_type | ( | AST_Type * | base_type, | |
bool | owned = false | |||
) | [protected] |
void ifr_adding_visitor::expand_id | ( | ACE_CString & | str, | |
const char * | local_name | |||
) | [protected] |
CORBA::PrimitiveKind ifr_adding_visitor::expr_type_to_pkind | ( | AST_Expression::ExprType | et | ) | [protected] |
void ifr_adding_visitor::fill_abstract_base_values | ( | CORBA::ValueDefSeq & | result, | |
AST_ValueType * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_base_component | ( | CORBA::ComponentIR::ComponentDef_ptr & | result, | |
AST_Component * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_base_home | ( | CORBA::ComponentIR::HomeDef_ptr & | result, | |
AST_Home * | node | |||
) | [protected] |
Maybe the base home is in an included IDL file - put it in the repository and go again.
void ifr_adding_visitor::fill_base_value | ( | CORBA::ValueDef_ptr & | result, | |
AST_ValueType * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_exceptions | ( | CORBA::ExceptionDefSeq & | result, | |
UTL_ExceptList * | list | |||
) | [protected] |
void ifr_adding_visitor::fill_exceptions | ( | CORBA::ExceptionDefSeq & | result, | |
AST_Decl * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_get_exceptions | ( | CORBA::ExceptionDefSeq & | result, | |
AST_Attribute * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_inherited_interfaces | ( | CORBA::InterfaceDefSeq & | result, | |
AST_Interface * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_initializers | ( | CORBA::ExtInitializerSeq & | result, | |
AST_ValueType * | node | |||
) | [protected] |
This will put the field type in ir_current_, and also add it to the repository if it's not already there.
void ifr_adding_visitor::fill_interfaces | ( | CORBA::InterfaceDefSeq & | result, | |
AST_Type ** | list, | |||
CORBA::Long | length | |||
) | [protected] |
void ifr_adding_visitor::fill_managed_component | ( | CORBA::ComponentIR::ComponentDef_ptr & | result, | |
AST_Home * | node | |||
) | [protected] |
Maybe the managed component is in an included IDL file - put it in the repository and go again.
void ifr_adding_visitor::fill_params | ( | CORBA::ParDescriptionSeq & | result, | |
AST_Operation * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_primary_key | ( | CORBA::ValueDef_ptr & | result, | |
AST_Home * | node | |||
) | [protected] |
Maybe the primary key is in an included IDL file - put it in the repository and go again.
void ifr_adding_visitor::fill_set_exceptions | ( | CORBA::ExceptionDefSeq & | result, | |
AST_Attribute * | node | |||
) | [protected] |
void ifr_adding_visitor::fill_supported_interfaces | ( | CORBA::InterfaceDefSeq & | result, | |
AST_Interface * | node | |||
) | [protected] |
void ifr_adding_visitor::get_referenced_type | ( | AST_Type * | node | ) | [protected] |
void ifr_adding_visitor::load_any | ( | AST_Expression::AST_ExprValue * | ev, | |
CORBA::Any & | any | |||
) | [protected] |
CORBA::PrimitiveKind ifr_adding_visitor::predefined_type_to_pkind | ( | AST_PredefinedType * | node | ) | [protected] |
void ifr_adding_visitor::visit_all_factories | ( | AST_Home * | node, | |
CORBA::ComponentIR::HomeDef_ptr | h | |||
) | [protected] |
void ifr_adding_visitor::visit_all_finders | ( | AST_Home * | node, | |
CORBA::ComponentIR::HomeDef_ptr | h | |||
) | [protected] |
int ifr_adding_visitor::visit_array | ( | AST_Array * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_attribute | ( | AST_Attribute * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_component | ( | AST_Component * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_component_fwd | ( | AST_ComponentFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_constant | ( | AST_Constant * | node | ) | [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.
int ifr_adding_visitor::visit_consumes | ( | AST_Consumes * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_emits | ( | AST_Emits * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_enum | ( | AST_Enum * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
int ifr_adding_visitor::visit_eventtype | ( | AST_EventType * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_eventtype_fwd | ( | AST_EventTypeFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_exception | ( | AST_Exception * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception.
int ifr_adding_visitor::visit_factory | ( | AST_Factory * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_field | ( | AST_Field * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_home | ( | AST_Home * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_interface | ( | AST_Interface * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_interface_fwd | ( | AST_InterfaceFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_module | ( | AST_Module * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_native | ( | AST_Native * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_operation | ( | AST_Operation * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_operation.
int ifr_adding_visitor::visit_predefined_type | ( | AST_PredefinedType * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_provides | ( | AST_Provides * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_publishes | ( | AST_Publishes * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_root | ( | AST_Root * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_scope | ( | UTL_Scope * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
int ifr_adding_visitor::visit_sequence | ( | AST_Sequence * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_string | ( | AST_String * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_structure | ( | AST_Structure * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
int ifr_adding_visitor::visit_structure_fwd | ( | AST_StructureFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_typedef | ( | AST_Typedef * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_union | ( | AST_Union * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
Reimplemented in ifr_adding_visitor_exception, ifr_adding_visitor_structure, and ifr_adding_visitor_union.
int ifr_adding_visitor::visit_union_fwd | ( | AST_UnionFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_uses | ( | AST_Uses * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_valuebox | ( | AST_ValueBox * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_valuetype | ( | AST_ValueType * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
int ifr_adding_visitor::visit_valuetype_fwd | ( | AST_ValueTypeFwd * | node | ) | [virtual] |
Reimplemented from ifr_visitor.
bool ifr_adding_visitor::allow_duplicate_typedefs_ [protected] |
bool ifr_adding_visitor::in_reopened_ [protected] |
CORBA::IDLType_var ifr_adding_visitor::ir_current_ [protected] |
AST_Decl* ifr_adding_visitor::scope_ [protected] |