#include <dds_generator.h>
Inheritance diagram for dds_generator:
Public Member Functions | |
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_enum (AST_Enum *, UTL_ScopedName *, const std::vector< AST_EnumVal * > &, const char *) |
virtual bool | gen_struct (AST_Structure *node, UTL_ScopedName *name, const std::vector< AST_Field * > &fields, AST_Type::SIZE_TYPE size, const char *repoid)=0 |
virtual bool | gen_struct_fwd (UTL_ScopedName *, AST_Type::SIZE_TYPE) |
virtual bool | gen_typedef (AST_Typedef *node, UTL_ScopedName *name, AST_Type *base, const char *repoid)=0 |
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 (AST_Union *node, UTL_ScopedName *name, const std::vector< AST_UnionBranch * > &branches, AST_Type *discriminator, const char *repoid)=0 |
virtual bool | gen_union_fwd (AST_UnionFwd *, UTL_ScopedName *, AST_Type::SIZE_TYPE) |
Static Public Member Functions | |
static std::string | scoped_helper (UTL_ScopedName *sn, const char *sep) |
static std::string | module_scope_helper (UTL_ScopedName *sn, const char *sep) |
Definition at line 30 of file dds_generator.h.
dds_generator::~dds_generator | ( | ) | [pure virtual] |
virtual bool dds_generator::do_included_files | ( | ) | const [inline, virtual] |
virtual bool dds_generator::gen_const | ( | UTL_ScopedName * | , | |
bool | , | |||
AST_Constant * | ||||
) | [inline, virtual] |
Reimplemented in composite_generator, and langmap_generator.
Definition at line 40 of file dds_generator.h.
virtual bool dds_generator::gen_enum | ( | AST_Enum * | , | |
UTL_ScopedName * | , | |||
const std::vector< AST_EnumVal * > & | , | |||
const char * | ||||
) | [inline, virtual] |
Reimplemented in composite_generator, itl_generator, langmap_generator, marshal_generator, metaclass_generator, v8_generator, and wireshark_generator.
Definition at line 45 of file dds_generator.h.
virtual void dds_generator::gen_epilogue | ( | ) | [inline, virtual] |
Reimplemented in composite_generator, and itl_generator.
Definition at line 38 of file dds_generator.h.
virtual bool dds_generator::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 * | ||||
) | [inline, virtual] |
virtual bool dds_generator::gen_interf_fwd | ( | UTL_ScopedName * | ) | [inline, virtual] |
Reimplemented in composite_generator, and langmap_generator.
Definition at line 70 of file dds_generator.h.
virtual bool dds_generator::gen_native | ( | AST_Native * | , | |
UTL_ScopedName * | , | |||
const char * | ||||
) | [inline, virtual] |
virtual void dds_generator::gen_prologue | ( | ) | [inline, virtual] |
Reimplemented in composite_generator, and itl_generator.
Definition at line 36 of file dds_generator.h.
virtual bool dds_generator::gen_struct | ( | AST_Structure * | node, | |
UTL_ScopedName * | name, | |||
const std::vector< AST_Field * > & | fields, | |||
AST_Type::SIZE_TYPE | size, | |||
const char * | repoid | |||
) | [pure virtual] |
Implemented in composite_generator, itl_generator, keys_generator, langmap_generator, marshal_generator, metaclass_generator, ts_generator, v8_generator, and wireshark_generator.
virtual bool dds_generator::gen_struct_fwd | ( | UTL_ScopedName * | , | |
AST_Type::SIZE_TYPE | ||||
) | [inline, virtual] |
Reimplemented in composite_generator, and langmap_generator.
Definition at line 55 of file dds_generator.h.
virtual bool dds_generator::gen_typedef | ( | AST_Typedef * | node, | |
UTL_ScopedName * | name, | |||
AST_Type * | base, | |||
const char * | repoid | |||
) | [pure virtual] |
Implemented in composite_generator, itl_generator, keys_generator, langmap_generator, marshal_generator, metaclass_generator, ts_generator, v8_generator, and wireshark_generator.
virtual bool dds_generator::gen_union | ( | AST_Union * | node, | |
UTL_ScopedName * | name, | |||
const std::vector< AST_UnionBranch * > & | branches, | |||
AST_Type * | discriminator, | |||
const char * | repoid | |||
) | [pure virtual] |
Implemented in composite_generator, itl_generator, keys_generator, langmap_generator, marshal_generator, metaclass_generator, ts_generator, v8_generator, and wireshark_generator.
virtual bool dds_generator::gen_union_fwd | ( | AST_UnionFwd * | , | |
UTL_ScopedName * | , | |||
AST_Type::SIZE_TYPE | ||||
) | [inline, virtual] |
Reimplemented in composite_generator, and langmap_generator.
Definition at line 81 of file dds_generator.h.
string dds_generator::module_scope_helper | ( | UTL_ScopedName * | sn, | |
const char * | sep | |||
) | [static] |
Definition at line 33 of file dds_generator.cpp.
Referenced by module_scope().
00034 { 00035 string sname; 00036 00037 for (; sn; sn = static_cast<UTL_ScopedName*>(sn->tail())) { 00038 if (sn->tail() != 0) { 00039 if (sn->head()->escaped()) 00040 sname += "_"; 00041 00042 sname += sn->head()->get_string(); 00043 00044 if (sname != "" && sn->tail()) 00045 sname += sep; 00046 } 00047 } 00048 00049 return sname; 00050 }
string dds_generator::scoped_helper | ( | UTL_ScopedName * | sn, | |
const char * | sep | |||
) | [static] |
Definition at line 16 of file dds_generator.cpp.
Referenced by gen_copyto(), metaclass_generator::gen_enum(), gen_field_getValue(), keys_generator::gen_struct(), face_ts_generator::generate(), scoped(), and wireshark_generator::write_common().
00017 { 00018 string sname; 00019 00020 for (; sn; sn = static_cast<UTL_ScopedName*>(sn->tail())) { 00021 if (sn->head()->escaped()) 00022 sname += "_"; 00023 00024 sname += sn->head()->get_string(); 00025 00026 if (sname != "" && sn->tail()) 00027 sname += sep; 00028 } 00029 00030 return sname; 00031 }