OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <metaclass_generator.h>
Public Member Functions | |
metaclass_generator () | |
bool | gen_enum (AST_Enum *node, UTL_ScopedName *name, const std::vector< AST_EnumVal *> &contents, const char *repoid) |
bool | gen_struct (AST_Structure *node, UTL_ScopedName *name, const std::vector< AST_Field *> &fields, AST_Type::SIZE_TYPE size, const char *repoid) |
bool | gen_typedef (AST_Typedef *node, UTL_ScopedName *name, AST_Type *type, const char *repoid) |
bool | gen_union (AST_Union *node, UTL_ScopedName *name, const std::vector< AST_UnionBranch *> &branches, AST_Type *type, const char *repoid) |
![]() | |
virtual | ~dds_generator ()=0 |
virtual bool | do_included_files () const |
virtual void | gen_prologue () |
virtual void | gen_epilogue () |
virtual bool | gen_const (UTL_ScopedName *, bool, AST_Constant *) |
virtual bool | gen_struct_fwd (UTL_ScopedName *, AST_Type::SIZE_TYPE) |
virtual bool | gen_interf (AST_Interface *, UTL_ScopedName *, bool, const std::vector< AST_Interface *> &, const std::vector< AST_Interface *> &, const std::vector< AST_Attribute *> &, const std::vector< AST_Operation *> &, const char *) |
virtual bool | gen_interf_fwd (UTL_ScopedName *) |
virtual bool | gen_native (AST_Native *, UTL_ScopedName *, const char *) |
virtual bool | gen_union_fwd (AST_UnionFwd *, UTL_ScopedName *, AST_Type::SIZE_TYPE) |
Private Attributes | |
bool | first_struct_ |
Additional Inherited Members | |
![]() | |
static std::string | get_tag_name (const std::string &base_name, bool nested_key_only=false) |
static std::string | get_xtag_name (UTL_ScopedName *name) |
static bool | cxx_escaped (const std::string &s) |
static std::string | valid_var_name (const std::string &str) |
static std::string | to_string (Identifier *id, EscapeContext ec=EscapeContext_Normal) |
static std::string | scoped_helper (UTL_ScopedName *sn, const char *sep, EscapeContext cxt=EscapeContext_Normal) |
static std::string | module_scope_helper (UTL_ScopedName *sn, const char *sep, EscapeContext cxt=EscapeContext_Normal) |
Definition at line 13 of file metaclass_generator.h.
|
inline |
Definition at line 15 of file metaclass_generator.h.
References gen_enum(), gen_struct(), gen_typedef(), gen_union(), and name.
|
virtual |
Reimplemented from dds_generator.
Definition at line 46 of file metaclass_generator.cpp.
References be_global, ACE_String_Base< char >::c_str(), canonical_name(), AstTypeClassification::CL_ARRAY, AstTypeClassification::CL_ENUM, AstTypeClassification::CL_SCALAR, AstTypeClassification::CL_SEQUENCE, AstTypeClassification::CL_STRING, AstTypeClassification::CL_STRUCTURE, AstTypeClassification::CL_UNION, AstTypeClassification::classify(), TopicKeys::count(), extensibilitykind_mutable, marshal_generator::gen_field_getValueFromSerialized(), NestedForLoops::index_, OpenDDS::XTypes::key_count(), name, AstTypeClassification::resolveActualType(), scoped(), dds_generator::scoped_helper(), and string_type().
Referenced by metaclass_generator().
|
virtual |
Implements dds_generator.
Definition at line 468 of file metaclass_generator.cpp.
References Function::addArg(), FieldInfo::arr_, array_element_count(), FieldInfo::as_act_, be_global, AstTypeClassification::CL_ARRAY, AstTypeClassification::CL_ENUM, AstTypeClassification::CL_PRIMITIVE, AstTypeClassification::CL_SEQUENCE, AstTypeClassification::CL_STRING, AstTypeClassification::CL_STRUCTURE, AstTypeClassification::classify(), Function::endArgs(), marshal_generator::generate_dheader_code(), dds_generator::get_tag_name(), FieldInfo::is_new(), FieldInfo::length_, FieldInfo::ptr_, AstTypeClassification::resolveActualType(), scoped(), dds_generator::scoped_helper(), FieldInfo::seq_, and to_cxx_type().
Referenced by metaclass_generator().
|
virtual |
Implements dds_generator.
Definition at line 573 of file metaclass_generator.cpp.
References Function::addArg(), array_element_count(), be_global, AstTypeClassification::CL_ARRAY, AstTypeClassification::CL_ENUM, AstTypeClassification::CL_PRIMITIVE, AstTypeClassification::CL_SEQUENCE, AstTypeClassification::CL_STRING, AstTypeClassification::CL_STRUCTURE, AstTypeClassification::classify(), Function::endArgs(), marshal_generator::generate_dheader_code(), dds_generator::get_tag_name(), AstTypeClassification::resolveActualType(), scoped(), and to_cxx_type().
Referenced by metaclass_generator().
|
virtual |
Implements dds_generator.
Definition at line 706 of file metaclass_generator.cpp.
References Function::addArg(), be_global, Function::endArgs(), extensibilitykind_final, extensibilitykind_mutable, func(), marshal_generator::generate_dheader_code(), generateSwitchForUnion(), getWrapper(), scoped(), and WD_INPUT.
Referenced by metaclass_generator().
|
private |
Definition at line 33 of file metaclass_generator.h.