Index: third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h b/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h |
index c99262a1ba190a5eb966dfa7de15c3b5e395f5c8..3f56d94b31717adfce157942b7a627853e694ce7 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h |
+++ b/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h |
@@ -28,8 +28,6 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// Helper functions for generating ObjectiveC code. |
- |
#ifndef GOOGLE_PROTOBUF_COMPILER_OBJECTIVEC_HELPERS_H__ |
#define GOOGLE_PROTOBUF_COMPILER_OBJECTIVEC_HELPERS_H__ |
@@ -48,71 +46,63 @@ namespace objectivec { |
struct Options { |
Options(); |
string expected_prefixes_path; |
- string generate_for_named_framework; |
- string named_framework_to_proto_path_mappings_path; |
}; |
// Escape C++ trigraphs by escaping question marks to "\?". |
-string LIBPROTOC_EXPORT EscapeTrigraphs(const string& to_escape); |
+string EscapeTrigraphs(const string& to_escape); |
// Strips ".proto" or ".protodevel" from the end of a filename. |
-string LIBPROTOC_EXPORT StripProto(const string& filename); |
- |
-// Remove white space from either end of a StringPiece. |
-void LIBPROTOC_EXPORT StringPieceTrimWhitespace(StringPiece* input); |
+string StripProto(const string& filename); |
// Returns true if the name requires a ns_returns_not_retained attribute applied |
// to it. |
-bool LIBPROTOC_EXPORT IsRetainedName(const string& name); |
+bool IsRetainedName(const string& name); |
// Returns true if the name starts with "init" and will need to have special |
// handling under ARC. |
-bool LIBPROTOC_EXPORT IsInitName(const string& name); |
+bool IsInitName(const string& name); |
-// Gets the objc_class_prefix. |
-string LIBPROTOC_EXPORT FileClassPrefix(const FileDescriptor* file); |
+// Gets the name of the file we're going to generate (sans the .pb.h |
+// extension). This does not include the path to that file. |
+string FileName(const FileDescriptor* file); |
// Gets the path of the file we're going to generate (sans the .pb.h |
// extension). The path will be dependent on the objectivec package |
// declared in the proto package. |
-string LIBPROTOC_EXPORT FilePath(const FileDescriptor* file); |
- |
-// Just like FilePath(), but without the directory part. |
-string LIBPROTOC_EXPORT FilePathBasename(const FileDescriptor* file); |
+string FilePath(const FileDescriptor* file); |
// Gets the name of the root class we'll generate in the file. This class |
// is not meant for external consumption, but instead contains helpers that |
// the rest of the classes need |
-string LIBPROTOC_EXPORT FileClassName(const FileDescriptor* file); |
+string FileClassName(const FileDescriptor* file); |
// These return the fully-qualified class name corresponding to the given |
// descriptor. |
-string LIBPROTOC_EXPORT ClassName(const Descriptor* descriptor); |
-string LIBPROTOC_EXPORT ClassName(const Descriptor* descriptor, string* out_suffix_added); |
-string LIBPROTOC_EXPORT EnumName(const EnumDescriptor* descriptor); |
+string ClassName(const Descriptor* descriptor); |
+string EnumName(const EnumDescriptor* descriptor); |
// Returns the fully-qualified name of the enum value corresponding to the |
// the descriptor. |
-string LIBPROTOC_EXPORT EnumValueName(const EnumValueDescriptor* descriptor); |
+string EnumValueName(const EnumValueDescriptor* descriptor); |
// Returns the name of the enum value corresponding to the descriptor. |
-string LIBPROTOC_EXPORT EnumValueShortName(const EnumValueDescriptor* descriptor); |
+string EnumValueShortName(const EnumValueDescriptor* descriptor); |
// Reverse what an enum does. |
-string LIBPROTOC_EXPORT UnCamelCaseEnumShortName(const string& name); |
+string UnCamelCaseEnumShortName(const string& name); |
// Returns the name to use for the extension (used as the method off the file's |
// Root class). |
-string LIBPROTOC_EXPORT ExtensionMethodName(const FieldDescriptor* descriptor); |
+string ExtensionMethodName(const FieldDescriptor* descriptor); |
// Returns the transformed field name. |
-string LIBPROTOC_EXPORT FieldName(const FieldDescriptor* field); |
-string LIBPROTOC_EXPORT FieldNameCapitalized(const FieldDescriptor* field); |
+string FieldName(const FieldDescriptor* field); |
+string FieldNameCapitalized(const FieldDescriptor* field); |
// Returns the transformed oneof name. |
-string LIBPROTOC_EXPORT OneofEnumName(const OneofDescriptor* descriptor); |
-string LIBPROTOC_EXPORT OneofName(const OneofDescriptor* descriptor); |
-string LIBPROTOC_EXPORT OneofNameCapitalized(const OneofDescriptor* descriptor); |
+string OneofEnumName(const OneofDescriptor* descriptor); |
+string OneofName(const OneofDescriptor* descriptor); |
+string OneofNameCapitalized(const OneofDescriptor* descriptor); |
inline bool HasFieldPresence(const FileDescriptor* file) { |
return file->syntax() != FileDescriptor::SYNTAX_PROTO3; |
@@ -127,7 +117,7 @@ inline bool IsMapEntryMessage(const Descriptor* descriptor) { |
} |
// Reverse of the above. |
-string LIBPROTOC_EXPORT UnCamelCaseFieldName(const string& name, const FieldDescriptor* field); |
+string UnCamelCaseFieldName(const string& name, const FieldDescriptor* field); |
enum ObjectiveCType { |
OBJECTIVECTYPE_INT32, |
@@ -143,25 +133,9 @@ enum ObjectiveCType { |
OBJECTIVECTYPE_MESSAGE |
}; |
-enum FlagType { |
- FLAGTYPE_DESCRIPTOR_INITIALIZATION, |
- FLAGTYPE_EXTENSION, |
- FLAGTYPE_FIELD |
-}; |
- |
template<class TDescriptor> |
-string GetOptionalDeprecatedAttribute( |
- const TDescriptor* descriptor, |
- const FileDescriptor* file = NULL, |
- bool preSpace = true, bool postNewline = false) { |
- bool isDeprecated = descriptor->options().deprecated(); |
- // The file is only passed when checking Messages & Enums, so those types |
- // get tagged. At the moment, it doesn't seem to make sense to tag every |
- // field or enum value with when the file is deprecated. |
- if (!isDeprecated && file) { |
- isDeprecated = file->options().deprecated(); |
- } |
- if (isDeprecated) { |
+string GetOptionalDeprecatedAttribute(const TDescriptor* descriptor, bool preSpace = true, bool postNewline = false) { |
+ if (descriptor->options().deprecated()) { |
string result = "DEPRECATED_ATTRIBUTE"; |
if (preSpace) { |
result.insert(0, " "); |
@@ -175,51 +149,38 @@ string GetOptionalDeprecatedAttribute( |
} |
} |
-string LIBPROTOC_EXPORT GetCapitalizedType(const FieldDescriptor* field); |
+string GetCapitalizedType(const FieldDescriptor* field); |
-ObjectiveCType LIBPROTOC_EXPORT GetObjectiveCType(FieldDescriptor::Type field_type); |
+ObjectiveCType GetObjectiveCType(FieldDescriptor::Type field_type); |
inline ObjectiveCType GetObjectiveCType(const FieldDescriptor* field) { |
return GetObjectiveCType(field->type()); |
} |
-bool LIBPROTOC_EXPORT IsPrimitiveType(const FieldDescriptor* field); |
-bool LIBPROTOC_EXPORT IsReferenceType(const FieldDescriptor* field); |
+bool IsPrimitiveType(const FieldDescriptor* field); |
+bool IsReferenceType(const FieldDescriptor* field); |
-string LIBPROTOC_EXPORT GPBGenericValueFieldName(const FieldDescriptor* field); |
-string LIBPROTOC_EXPORT DefaultValue(const FieldDescriptor* field); |
-bool LIBPROTOC_EXPORT HasNonZeroDefaultValue(const FieldDescriptor* field); |
+string GPBGenericValueFieldName(const FieldDescriptor* field); |
+string DefaultValue(const FieldDescriptor* field); |
+bool HasNonZeroDefaultValue(const FieldDescriptor* field); |
-string LIBPROTOC_EXPORT BuildFlagsString(const FlagType type, const vector<string>& strings); |
+string BuildFlagsString(const vector<string>& strings); |
-// Builds HeaderDoc/appledoc style comments out of the comments in the .proto |
-// file. |
-string LIBPROTOC_EXPORT BuildCommentsString(const SourceLocation& location, |
- bool prefer_single_line); |
+// Builds a HeaderDoc style comment out of the comments in the .proto file. |
+string BuildCommentsString(const SourceLocation& location); |
-// The name the commonly used by the library when built as a framework. |
-// This lines up to the name used in the CocoaPod. |
-extern LIBPROTOC_EXPORT const char* const ProtobufLibraryFrameworkName; |
-// Returns the CPP symbol name to use as the gate for framework style imports |
-// for the given framework name to use. |
-string LIBPROTOC_EXPORT ProtobufFrameworkImportSymbol(const string& framework_name); |
- |
-// Checks if the file is one of the proto's bundled with the library. |
-bool LIBPROTOC_EXPORT IsProtobufLibraryBundledProtoFile(const FileDescriptor* file); |
- |
-// Checks the prefix for the given files and outputs any warnings as needed. If |
-// there are flat out errors, then out_error is filled in with the first error |
-// and the result is false. |
-bool LIBPROTOC_EXPORT ValidateObjCClassPrefixes(const vector<const FileDescriptor*>& files, |
- const Options& generation_options, |
- string* out_error); |
+// Checks the prefix for a given file and outputs any warnings needed, if |
+// there are flat out errors, then out_error is filled in and the result is |
+// false. |
+bool ValidateObjCClassPrefix(const FileDescriptor* file, |
+ const Options& generation_options, |
+ string* out_error); |
// Generate decode data needed for ObjC's GPBDecodeTextFormatName() to transform |
// the input into the expected output. |
class LIBPROTOC_EXPORT TextFormatDecodeData { |
public: |
- TextFormatDecodeData(); |
- ~TextFormatDecodeData(); |
+ TextFormatDecodeData() {} |
void AddString(int32 key, const string& input_for_decode, |
const string& desired_output); |
@@ -236,54 +197,6 @@ class LIBPROTOC_EXPORT TextFormatDecodeData { |
vector<DataEntry> entries_; |
}; |
-// Helper for parsing simple files. |
-class LIBPROTOC_EXPORT LineConsumer { |
- public: |
- LineConsumer(); |
- virtual ~LineConsumer(); |
- virtual bool ConsumeLine(const StringPiece& line, string* out_error) = 0; |
-}; |
- |
-bool LIBPROTOC_EXPORT ParseSimpleFile( |
- const string& path, LineConsumer* line_consumer, string* out_error); |
- |
- |
-// Helper class for parsing framework import mappings and generating |
-// import statements. |
-class LIBPROTOC_EXPORT ImportWriter { |
- public: |
- ImportWriter(const string& generate_for_named_framework, |
- const string& named_framework_to_proto_path_mappings_path); |
- ~ImportWriter(); |
- |
- void AddFile(const FileDescriptor* file, const string& header_extension); |
- void Print(io::Printer *printer) const; |
- |
- private: |
- class ProtoFrameworkCollector : public LineConsumer { |
- public: |
- ProtoFrameworkCollector(map<string, string>* inout_proto_file_to_framework_name) |
- : map_(inout_proto_file_to_framework_name) {} |
- |
- virtual bool ConsumeLine(const StringPiece& line, string* out_error); |
- |
- private: |
- map<string, string>* map_; |
- }; |
- |
- void ParseFrameworkMappings(); |
- |
- const string generate_for_named_framework_; |
- const string named_framework_to_proto_path_mappings_path_; |
- map<string, string> proto_file_to_framework_name_; |
- bool need_to_parse_mapping_file_; |
- |
- vector<string> protobuf_framework_imports_; |
- vector<string> protobuf_non_framework_imports_; |
- vector<string> other_framework_imports_; |
- vector<string> other_imports_; |
-}; |
- |
} // namespace objectivec |
} // namespace compiler |
} // namespace protobuf |