| 51 | // =================================================================== |
| 52 | |
| 53 | FileGenerator::FileGenerator(const FileDescriptor* file, |
| 54 | const string& dllexport_decl) |
| 55 | : file_(file), |
| 56 | message_generators_( |
| 57 | new scoped_ptr<MessageGenerator>[file->message_type_count()]), |
| 58 | enum_generators_( |
| 59 | new scoped_ptr<EnumGenerator>[file->enum_type_count()]), |
| 60 | service_generators_( |
| 61 | new scoped_ptr<ServiceGenerator>[file->service_count()]), |
| 62 | extension_generators_( |
| 63 | new scoped_ptr<ExtensionGenerator>[file->extension_count()]), |
| 64 | dllexport_decl_(dllexport_decl) { |
| 65 | |
| 66 | for (int i = 0; i < file->message_type_count(); i++) { |
| 67 | message_generators_[i].reset( |
| 68 | new MessageGenerator(file->message_type(i), dllexport_decl)); |
| 69 | } |
| 70 | |
| 71 | for (int i = 0; i < file->enum_type_count(); i++) { |
| 72 | enum_generators_[i].reset( |
| 73 | new EnumGenerator(file->enum_type(i), dllexport_decl)); |
| 74 | } |
| 75 | |
| 76 | for (int i = 0; i < file->service_count(); i++) { |
| 77 | service_generators_[i].reset( |
| 78 | new ServiceGenerator(file->service(i), dllexport_decl)); |
| 79 | } |
| 80 | |
| 81 | for (int i = 0; i < file->extension_count(); i++) { |
| 82 | extension_generators_[i].reset( |
| 83 | new ExtensionGenerator(file->extension(i), dllexport_decl)); |
| 84 | } |
| 85 | |
| 86 | SplitStringUsing(file_->package(), ".", &package_parts_); |
| 87 | } |
| 88 | |
| 89 | FileGenerator::~FileGenerator() {} |
| 90 |
nothing calls this directly
no test coverage detected