Commit d78ca9c7 authored by kenton@google.com's avatar kenton@google.com

Fixed DLL compile under MSVC.

parent c619a3da
...@@ -47,7 +47,7 @@ class CodeGenerator; // code_generator.h ...@@ -47,7 +47,7 @@ class CodeGenerator; // code_generator.h
// MyCodeGenerator generator; // MyCodeGenerator generator;
// return PluginMain(argc, argv, &generator); // return PluginMain(argc, argv, &generator);
// } // }
int PluginMain(int argc, char* argv[], const CodeGenerator* generator); LIBPROTOC_EXPORT int PluginMain(int argc, char* argv[], const CodeGenerator* generator);
} // namespace compiler } // namespace compiler
} // namespace protobuf } // namespace protobuf
......
...@@ -136,24 +136,8 @@ class LIBPROTOBUF_EXPORT GeneratedExtensionFinder : public ExtensionFinder { ...@@ -136,24 +136,8 @@ class LIBPROTOBUF_EXPORT GeneratedExtensionFinder : public ExtensionFinder {
const MessageLite* containing_type_; const MessageLite* containing_type_;
}; };
// Implementation of ExtensionFinder which finds extensions in a given // Note: extension_set_heavy.cc defines DescriptorPoolExtensionFinder for
// DescriptorPool, using the given MessageFactory to construct sub-objects. // finding extensions from a DescriptorPool.
// This class is implemented in extension_set_heavy.cc.
class LIBPROTOBUF_EXPORT DescriptorPoolExtensionFinder : public ExtensionFinder {
public:
DescriptorPoolExtensionFinder(const DescriptorPool* pool,
MessageFactory* factory,
const Descriptor* containing_type)
: pool_(pool), factory_(factory), containing_type_(containing_type) {}
virtual ~DescriptorPoolExtensionFinder() {}
virtual bool Find(int number, ExtensionInfo* output);
private:
const DescriptorPool* pool_;
MessageFactory* factory_;
const Descriptor* containing_type_;
};
// This is an internal helper class intended for use within the protocol buffer // This is an internal helper class intended for use within the protocol buffer
// library and generated classes. Clients should not use it directly. Instead, // library and generated classes. Clients should not use it directly. Instead,
......
...@@ -46,6 +46,25 @@ namespace google { ...@@ -46,6 +46,25 @@ namespace google {
namespace protobuf { namespace protobuf {
namespace internal { namespace internal {
// Implementation of ExtensionFinder which finds extensions in a given
// DescriptorPool, using the given MessageFactory to construct sub-objects.
// This class is implemented in extension_set_heavy.cc.
class DescriptorPoolExtensionFinder : public ExtensionFinder {
public:
DescriptorPoolExtensionFinder(const DescriptorPool* pool,
MessageFactory* factory,
const Descriptor* containing_type)
: pool_(pool), factory_(factory), containing_type_(containing_type) {}
virtual ~DescriptorPoolExtensionFinder() {}
virtual bool Find(int number, ExtensionInfo* output);
private:
const DescriptorPool* pool_;
MessageFactory* factory_;
const Descriptor* containing_type_;
};
void ExtensionSet::AppendToList(const Descriptor* containing_type, void ExtensionSet::AppendToList(const Descriptor* containing_type,
const DescriptorPool* pool, const DescriptorPool* pool,
vector<const FieldDescriptor*>* output) const { vector<const FieldDescriptor*>* output) const {
......
...@@ -66,8 +66,8 @@ namespace internal { ...@@ -66,8 +66,8 @@ namespace internal {
// Constants for special floating point values. // Constants for special floating point values.
double Infinity(); LIBPROTOBUF_EXPORT double Infinity();
double NaN(); LIBPROTOBUF_EXPORT double NaN();
} // namespace internal } // namespace internal
......
...@@ -300,7 +300,7 @@ class LIBPROTOBUF_EXPORT StringTypeHandlerBase { ...@@ -300,7 +300,7 @@ class LIBPROTOBUF_EXPORT StringTypeHandlerBase {
static void Merge(const string& from, string* to) { *to = from; } static void Merge(const string& from, string* to) { *to = from; }
}; };
class LIBPROTOBUF_EXPORT StringTypeHandler : public StringTypeHandlerBase { class StringTypeHandler : public StringTypeHandlerBase {
public: public:
static int SpaceUsed(const string& value) { static int SpaceUsed(const string& value) {
return sizeof(value) + StringSpaceUsedExcludingSelf(value); return sizeof(value) + StringSpaceUsedExcludingSelf(value);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment