OpenDDS
Snapshot(2023/04/28-20:55)
|
#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, const std::string &qualifier="") |
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 31 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 495 of file metaclass_generator.cpp.
References Function::addArg(), be_global, Function::endArgs(), generate_anon_fields(), and scoped().
Referenced by metaclass_generator().
|
virtual |
Implements dds_generator.
Definition at line 525 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(), deepest_named_type(), Function::endArgs(), marshal_generator::generate_dheader_code(), dds_generator::get_tag_name(), name, AstTypeClassification::resolveActualType(), scoped(), and to_cxx_type().
Referenced by metaclass_generator().
|
virtual |
Implements dds_generator.
Definition at line 654 of file metaclass_generator.cpp.
References Function::addArg(), be_global, Function::endArgs(), extensibilitykind_final, extensibilitykind_mutable, gen_union_branch(), generate_anon_fields(), 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.