Typedefs | |
typedef size_t | Classification |
Functions | |
AST_Type * | resolveActualType (AST_Type *element) |
Classification | classify (AST_Type *type) |
Variables | |
const Classification | CL_UNKNOWN = 0 |
const Classification | CL_SCALAR = 1 |
const Classification | CL_PRIMITIVE = 2 |
const Classification | CL_STRUCTURE = 4 |
const Classification | CL_STRING = 8 |
const Classification | CL_ENUM = 16 |
const Classification | CL_UNION = 32 |
const Classification | CL_ARRAY = 64 |
const Classification | CL_SEQUENCE = 128 |
const Classification | CL_WIDE = 256 |
const Classification | CL_BOUNDED = 512 |
const Classification | CL_INTERFACE = 1024 |
const Classification | CL_FIXED = 2048 |
typedef size_t AstTypeClassification::Classification |
Definition at line 279 of file dds_generator.h.
AST_Type* AstTypeClassification::resolveActualType | ( | AST_Type * | element | ) | [inline] |
Definition at line 229 of file dds_generator.h.
Referenced by array_dims(), assign_field(), classify(), findSizeCommon(), gen_array(), gen_copyto(), gen_field_getValue(), gen_field_getValueFromSerialized(), gen_sequence(), marshal_generator::gen_struct(), SafetyProfileGenerator::gen_struct(), FaceGenerator::gen_struct(), metaclass_generator::gen_typedef(), langmap_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), generateCaseBody(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), generateSwitchForUnion(), getV8Type(), is_bounded_type(), map_type(), max_marshaled_size(), NestedForLoops::NestedForLoops(), GeneratorBase::GenerateGettersAndSetters::operator()(), streamCommon(), and to_cxx_type().
00230 { 00231 if (element->node_type() == AST_Decl::NT_typedef) { 00232 AST_Typedef* td = AST_Typedef::narrow_from_decl(element); 00233 return td->primitive_base_type(); 00234 } 00235 00236 switch(element->node_type()) { 00237 case AST_Decl::NT_interface_fwd: 00238 { 00239 AST_InterfaceFwd* td = AST_InterfaceFwd::narrow_from_decl(element); 00240 return td->full_definition(); 00241 break; 00242 } 00243 case AST_Decl::NT_valuetype_fwd: 00244 { 00245 AST_ValueTypeFwd* td = AST_ValueTypeFwd::narrow_from_decl(element); 00246 return td->full_definition(); 00247 break; 00248 } 00249 case AST_Decl::NT_union_fwd: 00250 { 00251 AST_UnionFwd* td = AST_UnionFwd::narrow_from_decl(element); 00252 return td->full_definition(); 00253 break; 00254 } 00255 case AST_Decl::NT_struct_fwd: 00256 { 00257 AST_StructureFwd* td = AST_StructureFwd::narrow_from_decl(element); 00258 return td->full_definition(); 00259 break; 00260 } 00261 case AST_Decl::NT_component_fwd: 00262 { 00263 AST_ComponentFwd* td = AST_ComponentFwd::narrow_from_decl(element); 00264 return td->full_definition(); 00265 break; 00266 } 00267 case AST_Decl::NT_eventtype_fwd: 00268 { 00269 AST_EventTypeFwd* td = AST_EventTypeFwd::narrow_from_decl(element); 00270 return td->full_definition(); 00271 break; 00272 } 00273 default : 00274 return element; 00275 break; 00276 } 00277 }
Classification AstTypeClassification::classify | ( | AST_Type * | type | ) | [inline] |
Definition at line 285 of file dds_generator.h.
References CL_ARRAY, CL_BOUNDED, CL_ENUM, CL_FIXED, CL_INTERFACE, CL_PRIMITIVE, CL_SCALAR, CL_SEQUENCE, CL_STRING, CL_STRUCTURE, CL_UNION, CL_UNKNOWN, CL_WIDE, and resolveActualType().
Referenced by assign_field(), compare_field(), findSizeCommon(), func(), gen_array(), gen_copyto(), gen_field_createQC(), gen_field_getValue(), gen_field_getValueFromSerialized(), gen_sequence(), SafetyProfileGenerator::gen_sequence(), FaceGenerator::gen_sequence(), SafetyProfileGenerator::gen_struct(), FaceGenerator::gen_struct(), metaclass_generator::gen_typedef(), langmap_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), generateCaseBody(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), operator<<(), streamCommon(), and to_cxx_type().
00286 { 00287 type = AstTypeClassification::resolveActualType(type); 00288 switch (type->node_type()) { 00289 case AST_Decl::NT_pre_defined: { 00290 AST_PredefinedType* p = AST_PredefinedType::narrow_from_decl(type); 00291 switch (p->pt()) { 00292 case AST_PredefinedType::PT_any: 00293 case AST_PredefinedType::PT_object: 00294 return CL_UNKNOWN; 00295 case AST_PredefinedType::PT_wchar: 00296 return CL_SCALAR | CL_PRIMITIVE | CL_WIDE; 00297 default: 00298 return CL_SCALAR | CL_PRIMITIVE; 00299 } 00300 } 00301 case AST_Decl::NT_array: 00302 return CL_ARRAY; 00303 case AST_Decl::NT_union: 00304 return CL_UNION; 00305 case AST_Decl::NT_string: 00306 case AST_Decl::NT_wstring: 00307 return CL_SCALAR | CL_STRING | 00308 ((AST_String::narrow_from_decl(type)->max_size()->ev()->u.ulval == 0) 00309 ? 0 : CL_BOUNDED) | 00310 ((type->node_type() == AST_Decl::NT_wstring) ? CL_WIDE : 0); 00311 case AST_Decl::NT_sequence: 00312 return CL_SEQUENCE | 00313 ((AST_Sequence::narrow_from_decl(type)->unbounded()) ? 0 : CL_BOUNDED); 00314 case AST_Decl::NT_struct: 00315 return CL_STRUCTURE; 00316 case AST_Decl::NT_enum: 00317 return CL_SCALAR | CL_ENUM; 00318 case AST_Decl::NT_interface: 00319 return CL_INTERFACE; 00320 #ifdef ACE_HAS_CDR_FIXED 00321 case AST_Decl::NT_fixed: 00322 return CL_FIXED; 00323 #endif 00324 default: 00325 return CL_UNKNOWN; 00326 } 00327 }
Definition at line 280 of file dds_generator.h.
Referenced by classify(), findSizeCommon(), gen_sequence(), and streamCommon().
Definition at line 280 of file dds_generator.h.
Referenced by assign_field(), classify(), compare_field(), func(), gen_copyto(), gen_field_createQC(), gen_field_getValue(), and gen_field_getValueFromSerialized().
Definition at line 280 of file dds_generator.h.
Referenced by classify(), findSizeCommon(), gen_array(), gen_sequence(), metaclass_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), operator<<(), streamCommon(), and to_cxx_type().
Definition at line 281 of file dds_generator.h.
Referenced by assign_field(), classify(), gen_field_createQC(), gen_field_getValue(), gen_field_getValueFromSerialized(), metaclass_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), and GeneratorBase::GenerateGettersAndSetters::operator()().
Definition at line 281 of file dds_generator.h.
Referenced by assign_field(), classify(), compare_field(), findSizeCommon(), func(), gen_array(), gen_copyto(), gen_field_getValue(), gen_field_getValueFromSerialized(), gen_sequence(), SafetyProfileGenerator::gen_sequence(), FaceGenerator::gen_sequence(), SafetyProfileGenerator::gen_struct(), FaceGenerator::gen_struct(), metaclass_generator::gen_typedef(), langmap_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), generateCaseBody(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), operator<<(), streamCommon(), and to_cxx_type().
const Classification AstTypeClassification::CL_ENUM = 16 |
Definition at line 281 of file dds_generator.h.
Referenced by classify(), findSizeCommon(), gen_array(), gen_copyto(), gen_field_getValue(), gen_sequence(), metaclass_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), and to_cxx_type().
const Classification AstTypeClassification::CL_UNION = 32 |
Definition at line 281 of file dds_generator.h.
Referenced by assign_field(), classify(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), and GeneratorBase::GenerateGettersAndSetters::operator()().
const Classification AstTypeClassification::CL_ARRAY = 64 |
Definition at line 281 of file dds_generator.h.
Referenced by assign_field(), classify(), findSizeCommon(), func(), gen_array(), gen_field_getValueFromSerialized(), gen_sequence(), SafetyProfileGenerator::gen_sequence(), FaceGenerator::gen_sequence(), SafetyProfileGenerator::gen_struct(), FaceGenerator::gen_struct(), metaclass_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), generateCaseBody(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), and streamCommon().
const Classification AstTypeClassification::CL_SEQUENCE = 128 |
Definition at line 282 of file dds_generator.h.
Referenced by assign_field(), classify(), gen_copyto(), metaclass_generator::gen_typedef(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), getV8Type(), is_bounded_type(), map_type(), and GeneratorBase::GenerateGettersAndSetters::operator()().
const Classification AstTypeClassification::CL_WIDE = 256 |
Definition at line 282 of file dds_generator.h.
Referenced by assign_field(), classify(), findSizeCommon(), func(), gen_array(), gen_copyto(), gen_field_getValueFromSerialized(), gen_sequence(), SafetyProfileGenerator::gen_sequence(), FaceGenerator::gen_sequence(), SafetyProfileGenerator::gen_struct(), FaceGenerator::gen_struct(), metaclass_generator::gen_typedef(), langmap_generator::gen_typedef(), GeneratorBase::generate_union_field(), generateCaseBody(), map_type(), GeneratorBase::GenerateGettersAndSetters::operator()(), operator<<(), and to_cxx_type().
const Classification AstTypeClassification::CL_BOUNDED = 512 |
Definition at line 282 of file dds_generator.h.
Referenced by classify(), gen_sequence(), and is_bounded_type().
const Classification AstTypeClassification::CL_INTERFACE = 1024 |
Definition at line 282 of file dds_generator.h.
Referenced by classify(), gen_sequence(), and map_type().
const Classification AstTypeClassification::CL_FIXED = 2048 |
Definition at line 283 of file dds_generator.h.
Referenced by classify(), GeneratorBase::generate_union_field(), GeneratorBase::generateAssign(), GeneratorBase::generateCopyCtor(), GeneratorBase::generateEqual(), GeneratorBase::generateReset(), map_type(), and GeneratorBase::GenerateGettersAndSetters::operator()().