Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
106f3eb9
Commit
106f3eb9
authored
Aug 26, 2015
by
Paul Yang
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #750 from TeBoring/beta-1
Fix bugs for objectivec
parents
e94e062b
aca5a608
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
457 additions
and
29 deletions
+457
-29
compile_testing_protos.sh
objectivec/DevTools/compile_testing_protos.sh
+4
-0
GPBUnittestProtos.m
objectivec/Tests/GPBUnittestProtos.m
+4
-0
GPBWireFormatTests.m
objectivec/Tests/GPBWireFormatTests.m
+1
-0
Any.pbobjc.h
objectivec/google/protobuf/Any.pbobjc.h
+2
-9
Api.pbobjc.h
objectivec/google/protobuf/Api.pbobjc.h
+117
-2
Api.pbobjc.m
objectivec/google/protobuf/Api.pbobjc.m
+127
-0
Descriptor.pbobjc.h
objectivec/google/protobuf/Descriptor.pbobjc.h
+10
-2
Descriptor.pbobjc.m
objectivec/google/protobuf/Descriptor.pbobjc.m
+13
-0
Empty.pbobjc.h
objectivec/google/protobuf/Empty.pbobjc.h
+2
-0
FieldMask.pbobjc.h
objectivec/google/protobuf/FieldMask.pbobjc.h
+4
-0
Struct.pbobjc.h
objectivec/google/protobuf/Struct.pbobjc.h
+11
-2
Timestamp.pbobjc.h
objectivec/google/protobuf/Timestamp.pbobjc.h
+5
-4
Type.pbobjc.h
objectivec/google/protobuf/Type.pbobjc.h
+37
-1
Type.pbobjc.m
objectivec/google/protobuf/Type.pbobjc.m
+92
-0
Wrappers.pbobjc.h
objectivec/google/protobuf/Wrappers.pbobjc.h
+27
-9
unittest_no_arena.proto
src/google/protobuf/unittest_no_arena.proto
+1
-0
No files found.
objectivec/DevTools/compile_testing_protos.sh
View file @
106f3eb9
...
@@ -68,6 +68,7 @@ fi
...
@@ -68,6 +68,7 @@ fi
mkdir
-p
"
${
OUTPUT_DIR
}
/google/protobuf"
mkdir
-p
"
${
OUTPUT_DIR
}
/google/protobuf"
CORE_PROTO_FILES
=(
\
CORE_PROTO_FILES
=(
\
src/google/protobuf/unittest_arena.proto
\
src/google/protobuf/unittest_custom_options.proto
\
src/google/protobuf/unittest_custom_options.proto
\
src/google/protobuf/unittest_enormous_descriptor.proto
\
src/google/protobuf/unittest_enormous_descriptor.proto
\
src/google/protobuf/unittest_embed_optimize_for.proto
\
src/google/protobuf/unittest_embed_optimize_for.proto
\
...
@@ -76,6 +77,9 @@ CORE_PROTO_FILES=( \
...
@@ -76,6 +77,9 @@ CORE_PROTO_FILES=( \
src/google/protobuf/unittest_import_lite.proto
\
src/google/protobuf/unittest_import_lite.proto
\
src/google/protobuf/unittest_lite.proto
\
src/google/protobuf/unittest_lite.proto
\
src/google/protobuf/unittest_mset.proto
\
src/google/protobuf/unittest_mset.proto
\
src/google/protobuf/unittest_mset_wire_format.proto
\
src/google/protobuf/unittest_no_arena.proto
\
src/google/protobuf/unittest_no_arena_import.proto
\
src/google/protobuf/unittest_no_generic_services.proto
\
src/google/protobuf/unittest_no_generic_services.proto
\
src/google/protobuf/unittest_optimize_for.proto
\
src/google/protobuf/unittest_optimize_for.proto
\
src/google/protobuf/unittest.proto
\
src/google/protobuf/unittest.proto
\
...
...
objectivec/Tests/GPBUnittestProtos.m
View file @
106f3eb9
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
#
import
"
google
/
protobuf
/
MapProto2Unittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
MapProto2Unittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
MapUnittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
MapUnittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
Unittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
Unittest
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestArena
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestCustomOptions
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestCustomOptions
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestCycle
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestCycle
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestDropUnknownFields
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestDropUnknownFields
.
pbobjc
.
m
"
...
@@ -46,6 +47,9 @@
...
@@ -46,6 +47,9 @@
#
import
"
google
/
protobuf
/
UnittestImportPublicLite
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestImportPublicLite
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestLite
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestLite
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestMset
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestMset
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestMsetWireFormat
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestNoArena
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestNoArenaImport
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestNoGenericServices
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestNoGenericServices
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestObjc
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestObjc
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestObjcStartup
.
pbobjc
.
m
"
#
import
"
google
/
protobuf
/
UnittestObjcStartup
.
pbobjc
.
m
"
...
...
objectivec/Tests/GPBWireFormatTests.m
View file @
106f3eb9
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#import "GPBUnknownField_PackagePrivate.h"
#import "GPBUnknownField_PackagePrivate.h"
#import "google/protobuf/Unittest.pbobjc.h"
#import "google/protobuf/Unittest.pbobjc.h"
#import "google/protobuf/UnittestMset.pbobjc.h"
#import "google/protobuf/UnittestMset.pbobjc.h"
#import "google/protobuf/UnittestMsetWireFormat.pbobjc.h"
@interface
WireFormatTests
:
GPBTestCase
@interface
WireFormatTests
:
GPBTestCase
@end
@end
...
...
objectivec/google/protobuf/Any.pbobjc.h
View file @
106f3eb9
...
@@ -34,10 +34,8 @@ typedef GPB_ENUM(GPBAny_FieldNumber) {
...
@@ -34,10 +34,8 @@ typedef GPB_ENUM(GPBAny_FieldNumber) {
// `Any` contains an arbitrary serialized message along with a URL
// `Any` contains an arbitrary serialized message along with a URL
// that describes the type of the serialized message.
// that describes the type of the serialized message.
//
//
// The proto runtimes and/or compiler will eventually
// JSON
// provide utilities to pack/unpack Any values (projected Q1/15).
// ====
//
// # JSON
// The JSON representation of an `Any` value uses the regular
// The JSON representation of an `Any` value uses the regular
// representation of the deserialized, embedded message, with an
// representation of the deserialized, embedded message, with an
// additional field `@type` which contains the type URL. Example:
// additional field `@type` which contains the type URL. Example:
...
@@ -84,11 +82,6 @@ typedef GPB_ENUM(GPBAny_FieldNumber) {
...
@@ -84,11 +82,6 @@ typedef GPB_ENUM(GPBAny_FieldNumber) {
//
//
// Schemas other than `http`, `https` (or the empty schema) might be
// Schemas other than `http`, `https` (or the empty schema) might be
// used with implementation specific semantics.
// used with implementation specific semantics.
//
// Types originating from the `google.*` package
// namespace should use `type.googleapis.com/full.type.name` (without
// schema and path). A type service will eventually become available which
// serves those URLs (projected Q2/15).
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
typeURL
;
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
typeURL
;
// Must be valid serialized data of the above specified type.
// Must be valid serialized data of the above specified type.
...
...
objectivec/google/protobuf/Api.pbobjc.h
View file @
106f3eb9
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
CF_EXTERN_C_BEGIN
CF_EXTERN_C_BEGIN
@class
GPBSourceContext
;
@class
GPBSourceContext
;
GPB_ENUM_FWD_DECLARE
(
GPBSyntax
);
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_BEGIN
...
@@ -34,6 +35,8 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
...
@@ -34,6 +35,8 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
GPBApi_FieldNumber_OptionsArray
=
3
,
GPBApi_FieldNumber_OptionsArray
=
3
,
GPBApi_FieldNumber_Version
=
4
,
GPBApi_FieldNumber_Version
=
4
,
GPBApi_FieldNumber_SourceContext
=
5
,
GPBApi_FieldNumber_SourceContext
=
5
,
GPBApi_FieldNumber_MixinsArray
=
6
,
GPBApi_FieldNumber_Syntax
=
7
,
};
};
// Api is a light-weight descriptor for a protocol buffer service.
// Api is a light-weight descriptor for a protocol buffer service.
...
@@ -73,8 +76,6 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
...
@@ -73,8 +76,6 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
// `google.feature.v1`. For major versions 0 and 1, the suffix can
// `google.feature.v1`. For major versions 0 and 1, the suffix can
// be omitted. Zero major versions must only be used for
// be omitted. Zero major versions must only be used for
// experimental, none-GA apis.
// experimental, none-GA apis.
//
// See also: [design doc](http://go/api-versioning).
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
version
;
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
version
;
// Source context for the protocol buffer service represented by this
// Source context for the protocol buffer service represented by this
...
@@ -82,8 +83,19 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
...
@@ -82,8 +83,19 @@ typedef GPB_ENUM(GPBApi_FieldNumber) {
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
// Included APIs. See [Mixin][].
// |mixinsArray| contains |GPBMixin|
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
mixinsArray
;
@property
(
nonatomic
,
readonly
)
NSUInteger
mixinsArray_Count
;
// The source syntax of the service.
@property
(
nonatomic
,
readwrite
)
enum
GPBSyntax
syntax
;
@end
@end
int32_t
GPBApi_Syntax_RawValue
(
GPBApi
*
message
);
void
SetGPBApi_Syntax_RawValue
(
GPBApi
*
message
,
int32_t
value
);
#pragma mark - GPBMethod
#pragma mark - GPBMethod
typedef
GPB_ENUM
(
GPBMethod_FieldNumber
)
{
typedef
GPB_ENUM
(
GPBMethod_FieldNumber
)
{
...
@@ -93,6 +105,7 @@ typedef GPB_ENUM(GPBMethod_FieldNumber) {
...
@@ -93,6 +105,7 @@ typedef GPB_ENUM(GPBMethod_FieldNumber) {
GPBMethod_FieldNumber_ResponseTypeURL
=
4
,
GPBMethod_FieldNumber_ResponseTypeURL
=
4
,
GPBMethod_FieldNumber_ResponseStreaming
=
5
,
GPBMethod_FieldNumber_ResponseStreaming
=
5
,
GPBMethod_FieldNumber_OptionsArray
=
6
,
GPBMethod_FieldNumber_OptionsArray
=
6
,
GPBMethod_FieldNumber_Syntax
=
7
,
};
};
// Method represents a method of an api.
// Method represents a method of an api.
...
@@ -118,6 +131,108 @@ typedef GPB_ENUM(GPBMethod_FieldNumber) {
...
@@ -118,6 +131,108 @@ typedef GPB_ENUM(GPBMethod_FieldNumber) {
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
optionsArray
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
optionsArray
;
@property
(
nonatomic
,
readonly
)
NSUInteger
optionsArray_Count
;
@property
(
nonatomic
,
readonly
)
NSUInteger
optionsArray_Count
;
// The source syntax of this method.
@property
(
nonatomic
,
readwrite
)
enum
GPBSyntax
syntax
;
@end
int32_t
GPBMethod_Syntax_RawValue
(
GPBMethod
*
message
);
void
SetGPBMethod_Syntax_RawValue
(
GPBMethod
*
message
,
int32_t
value
);
#pragma mark - GPBMixin
typedef
GPB_ENUM
(
GPBMixin_FieldNumber
)
{
GPBMixin_FieldNumber_Name
=
1
,
GPBMixin_FieldNumber_Root
=
2
,
};
// Declares an API to be included in this API. The including API must
// redeclare all the methods from the included API, but documentation
// and options are inherited as follows:
//
// - If after comment and whitespace stripping, the documentation
// string of the redeclared method is empty, it will be inherited
// from the original method.
//
// - Each annotation belonging to the service config (http,
// visibility) which is not set in the redeclared method will be
// inherited.
//
// - If an http annotation is inherited, the path pattern will be
// modified as follows. Any version prefix will be replaced by the
// version of the including API plus the [root][] path if specified.
//
// Example of a simple mixin:
//
// package google.acl.v1;
// service AccessControl {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v1/{resource=**}:getAcl";
// }
// }
//
// package google.storage.v2;
// service Storage {
// // (-- see AccessControl.GetAcl --)
// rpc GetAcl(GetAclRequest) returns (Acl);
//
// // Get a data record.
// rpc GetData(GetDataRequest) returns (Data) {
// option (google.api.http).get = "/v2/{resource=**}";
// }
// }
//
// Example of a mixin configuration:
//
// apis:
// - name: google.storage.v2.Storage
// mixins:
// - name: google.acl.v1.AccessControl
//
// The mixin construct implies that all methods in `AccessControl` are
// also declared with same name and request/response types in
// `Storage`. A documentation generator or annotation processor will
// see the effective `Storage.GetAcl` method after inherting
// documentation and annotations as follows:
//
// service Storage {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v2/{resource=**}:getAcl";
// }
// ...
// }
//
// Note how the version in the path pattern changed from `v1` to `v2`.
//
// If the `root` field in the mixin is specified, it should be a
// relative path under which inherited HTTP paths are placed. Example:
//
// apis:
// - name: google.storage.v2.Storage
// mixins:
// - name: google.acl.v1.AccessControl
// root: acls
//
// This implies the following inherited HTTP annotation:
//
// service Storage {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
// }
// ...
// }
@interface
GPBMixin
:
GPBMessage
// The fully qualified name of the API which is included.
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
name
;
// If non-empty specifies a path under which inherited HTTP paths
// are rooted.
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
root
;
@end
@end
NS_ASSUME_NONNULL_END
NS_ASSUME_NONNULL_END
...
...
objectivec/google/protobuf/Api.pbobjc.m
View file @
106f3eb9
...
@@ -49,14 +49,18 @@ static GPBFileDescriptor *GPBApiRoot_FileDescriptor(void) {
...
@@ -49,14 +49,18 @@ static GPBFileDescriptor *GPBApiRoot_FileDescriptor(void) {
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
version
;
@dynamic
version
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
mixinsArray
,
mixinsArray_Count
;
@dynamic
syntax
;
typedef
struct
GPBApi__storage_
{
typedef
struct
GPBApi__storage_
{
uint32_t
_has_storage_
[
1
];
uint32_t
_has_storage_
[
1
];
GPBSyntax
syntax
;
NSString
*
name
;
NSString
*
name
;
NSMutableArray
*
methodsArray
;
NSMutableArray
*
methodsArray
;
NSMutableArray
*
optionsArray
;
NSMutableArray
*
optionsArray
;
NSString
*
version
;
NSString
*
version
;
GPBSourceContext
*
sourceContext
;
GPBSourceContext
*
sourceContext
;
NSMutableArray
*
mixinsArray
;
}
GPBApi__storage_
;
}
GPBApi__storage_
;
// This method is threadsafe because it is initially called
// This method is threadsafe because it is initially called
...
@@ -120,6 +124,28 @@ typedef struct GPBApi__storage_ {
...
@@ -120,6 +124,28 @@ typedef struct GPBApi__storage_ {
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"mixinsArray"
,
.
number
=
GPBApi_FieldNumber_MixinsArray
,
.
hasIndex
=
GPBNoHasBit
,
.
flags
=
GPBFieldRepeated
,
.
dataType
=
GPBDataTypeMessage
,
.
offset
=
offsetof
(
GPBApi__storage_
,
mixinsArray
),
.
defaultValue
.
valueMessage
=
nil
,
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBMixin
),
.
fieldOptions
=
NULL
,
},
{
.
name
=
"syntax"
,
.
number
=
GPBApi_FieldNumber_Syntax
,
.
hasIndex
=
6
,
.
flags
=
GPBFieldOptional
|
GPBFieldHasEnumDescriptor
,
.
dataType
=
GPBDataTypeEnum
,
.
offset
=
offsetof
(
GPBApi__storage_
,
syntax
),
.
defaultValue
.
valueEnum
=
GPBSyntax_SyntaxProto2
,
.
dataTypeSpecific
.
enumDescFunc
=
GPBSyntax_EnumDescriptor
,
.
fieldOptions
=
NULL
,
},
};
};
GPBDescriptor
*
localDescriptor
=
GPBDescriptor
*
localDescriptor
=
[
GPBDescriptor
allocDescriptorForClass
:[
GPBApi
class
]
[
GPBDescriptor
allocDescriptorForClass
:[
GPBApi
class
]
...
@@ -143,6 +169,18 @@ typedef struct GPBApi__storage_ {
...
@@ -143,6 +169,18 @@ typedef struct GPBApi__storage_ {
@end
@end
int32_t
GPBApi_Syntax_RawValue
(
GPBApi
*
message
)
{
GPBDescriptor
*
descriptor
=
[
GPBApi
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBApi_FieldNumber_Syntax
];
return
GPBGetMessageInt32Field
(
message
,
field
);
}
void
SetGPBApi_Syntax_RawValue
(
GPBApi
*
message
,
int32_t
value
)
{
GPBDescriptor
*
descriptor
=
[
GPBApi
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBApi_FieldNumber_Syntax
];
GPBSetInt32IvarWithFieldInternal
(
message
,
field
,
value
,
descriptor
.
file
.
syntax
);
}
#pragma mark - GPBMethod
#pragma mark - GPBMethod
@implementation
GPBMethod
@implementation
GPBMethod
...
@@ -153,11 +191,13 @@ typedef struct GPBApi__storage_ {
...
@@ -153,11 +191,13 @@ typedef struct GPBApi__storage_ {
@dynamic
responseTypeURL
;
@dynamic
responseTypeURL
;
@dynamic
responseStreaming
;
@dynamic
responseStreaming
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
syntax
;
typedef
struct
GPBMethod__storage_
{
typedef
struct
GPBMethod__storage_
{
uint32_t
_has_storage_
[
1
];
uint32_t
_has_storage_
[
1
];
BOOL
requestStreaming
;
BOOL
requestStreaming
;
BOOL
responseStreaming
;
BOOL
responseStreaming
;
GPBSyntax
syntax
;
NSString
*
name
;
NSString
*
name
;
NSString
*
requestTypeURL
;
NSString
*
requestTypeURL
;
NSString
*
responseTypeURL
;
NSString
*
responseTypeURL
;
...
@@ -236,6 +276,17 @@ typedef struct GPBMethod__storage_ {
...
@@ -236,6 +276,17 @@ typedef struct GPBMethod__storage_ {
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBOption
),
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBOption
),
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"syntax"
,
.
number
=
GPBMethod_FieldNumber_Syntax
,
.
hasIndex
=
6
,
.
flags
=
GPBFieldOptional
|
GPBFieldHasEnumDescriptor
,
.
dataType
=
GPBDataTypeEnum
,
.
offset
=
offsetof
(
GPBMethod__storage_
,
syntax
),
.
defaultValue
.
valueEnum
=
GPBSyntax_SyntaxProto2
,
.
dataTypeSpecific
.
enumDescFunc
=
GPBSyntax_EnumDescriptor
,
.
fieldOptions
=
NULL
,
},
};
};
#if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
#if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
const
char
*
extraTextFormatInfo
=
NULL
;
const
char
*
extraTextFormatInfo
=
NULL
;
...
@@ -265,5 +316,81 @@ typedef struct GPBMethod__storage_ {
...
@@ -265,5 +316,81 @@ typedef struct GPBMethod__storage_ {
@end
@end
int32_t
GPBMethod_Syntax_RawValue
(
GPBMethod
*
message
)
{
GPBDescriptor
*
descriptor
=
[
GPBMethod
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBMethod_FieldNumber_Syntax
];
return
GPBGetMessageInt32Field
(
message
,
field
);
}
void
SetGPBMethod_Syntax_RawValue
(
GPBMethod
*
message
,
int32_t
value
)
{
GPBDescriptor
*
descriptor
=
[
GPBMethod
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBMethod_FieldNumber_Syntax
];
GPBSetInt32IvarWithFieldInternal
(
message
,
field
,
value
,
descriptor
.
file
.
syntax
);
}
#pragma mark - GPBMixin
@implementation
GPBMixin
@dynamic
name
;
@dynamic
root
;
typedef
struct
GPBMixin__storage_
{
uint32_t
_has_storage_
[
1
];
NSString
*
name
;
NSString
*
root
;
}
GPBMixin__storage_
;
// This method is threadsafe because it is initially called
// in +initialize for each subclass.
+
(
GPBDescriptor
*
)
descriptor
{
static
GPBDescriptor
*
descriptor
=
nil
;
if
(
!
descriptor
)
{
static
GPBMessageFieldDescription
fields
[]
=
{
{
.
name
=
"name"
,
.
number
=
GPBMixin_FieldNumber_Name
,
.
hasIndex
=
0
,
.
flags
=
GPBFieldOptional
,
.
dataType
=
GPBDataTypeString
,
.
offset
=
offsetof
(
GPBMixin__storage_
,
name
),
.
defaultValue
.
valueString
=
nil
,
.
dataTypeSpecific
.
className
=
NULL
,
.
fieldOptions
=
NULL
,
},
{
.
name
=
"root"
,
.
number
=
GPBMixin_FieldNumber_Root
,
.
hasIndex
=
1
,
.
flags
=
GPBFieldOptional
,
.
dataType
=
GPBDataTypeString
,
.
offset
=
offsetof
(
GPBMixin__storage_
,
root
),
.
defaultValue
.
valueString
=
nil
,
.
dataTypeSpecific
.
className
=
NULL
,
.
fieldOptions
=
NULL
,
},
};
GPBDescriptor
*
localDescriptor
=
[
GPBDescriptor
allocDescriptorForClass
:[
GPBMixin
class
]
rootClass
:[
GPBApiRoot
class
]
file
:
GPBApiRoot_FileDescriptor
()
fields
:
fields
fieldCount
:
sizeof
(
fields
)
/
sizeof
(
GPBMessageFieldDescription
)
oneofs
:
NULL
oneofCount
:
0
enums
:
NULL
enumCount
:
0
ranges
:
NULL
rangeCount
:
0
storageSize
:
sizeof
(
GPBMixin__storage_
)
wireFormat
:
NO
];
NSAssert
(
descriptor
==
nil
,
@"Startup recursed!"
);
descriptor
=
localDescriptor
;
}
return
descriptor
;
}
@end
// @@protoc_insertion_point(global_scope)
// @@protoc_insertion_point(global_scope)
objectivec/google/protobuf/Descriptor.pbobjc.h
View file @
106f3eb9
...
@@ -531,6 +531,7 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
...
@@ -531,6 +531,7 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
GPBFileOptions_FieldNumber_CcEnableArenas
=
31
,
GPBFileOptions_FieldNumber_CcEnableArenas
=
31
,
GPBFileOptions_FieldNumber_ObjcClassPrefix
=
36
,
GPBFileOptions_FieldNumber_ObjcClassPrefix
=
36
,
GPBFileOptions_FieldNumber_CsharpNamespace
=
37
,
GPBFileOptions_FieldNumber_CsharpNamespace
=
37
,
GPBFileOptions_FieldNumber_JavananoUseDeprecatedPackage
=
38
,
GPBFileOptions_FieldNumber_UninterpretedOptionArray
=
999
,
GPBFileOptions_FieldNumber_UninterpretedOptionArray
=
999
,
};
};
...
@@ -562,10 +563,12 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
...
@@ -562,10 +563,12 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
// If set true, then the Java code generator will generate equals() and
// If set true, then the Java code generator will generate equals() and
// hashCode() methods for all messages defined in the .proto file.
// hashCode() methods for all messages defined in the .proto file.
// - In the full runtime, this is purely a speed optimization, as the
// This increases generated code size, potentially substantially for large
// protos, which may harm a memory-constrained application.
// - In the full runtime this is a speed optimization, as the
// AbstractMessage base class includes reflection-based implementations of
// AbstractMessage base class includes reflection-based implementations of
// these methods.
// these methods.
//- In the lite runtime, setting this option changes the semantics of
//
- In the lite runtime, setting this option changes the semantics of
// equals() and hashCode() to more closely match those of the full runtime;
// equals() and hashCode() to more closely match those of the full runtime;
// the generated methods compute their results based on field values rather
// the generated methods compute their results based on field values rather
// than object identity. (Implementations should not assume that hashcodes
// than object identity. (Implementations should not assume that hashcodes
...
@@ -633,6 +636,11 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
...
@@ -633,6 +636,11 @@ typedef GPB_ENUM(GPBFileOptions_FieldNumber) {
@property
(
nonatomic
,
readwrite
)
BOOL
hasCsharpNamespace
;
@property
(
nonatomic
,
readwrite
)
BOOL
hasCsharpNamespace
;
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
csharpNamespace
;
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
csharpNamespace
;
// Whether the nano proto compiler should generate in the deprecated non-nano
// suffixed package.
@property
(
nonatomic
,
readwrite
)
BOOL
hasJavananoUseDeprecatedPackage
;
@property
(
nonatomic
,
readwrite
)
BOOL
javananoUseDeprecatedPackage
;
// The parser stores options it doesn't recognize here. See above.
// The parser stores options it doesn't recognize here. See above.
// |uninterpretedOptionArray| contains |GPBUninterpretedOption|
// |uninterpretedOptionArray| contains |GPBUninterpretedOption|
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
uninterpretedOptionArray
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
uninterpretedOptionArray
;
...
...
objectivec/google/protobuf/Descriptor.pbobjc.m
View file @
106f3eb9
...
@@ -1229,6 +1229,7 @@ typedef struct GPBMethodDescriptorProto__storage_ {
...
@@ -1229,6 +1229,7 @@ typedef struct GPBMethodDescriptorProto__storage_ {
@dynamic
hasCcEnableArenas
,
ccEnableArenas
;
@dynamic
hasCcEnableArenas
,
ccEnableArenas
;
@dynamic
hasObjcClassPrefix
,
objcClassPrefix
;
@dynamic
hasObjcClassPrefix
,
objcClassPrefix
;
@dynamic
hasCsharpNamespace
,
csharpNamespace
;
@dynamic
hasCsharpNamespace
,
csharpNamespace
;
@dynamic
hasJavananoUseDeprecatedPackage
,
javananoUseDeprecatedPackage
;
@dynamic
uninterpretedOptionArray
,
uninterpretedOptionArray_Count
;
@dynamic
uninterpretedOptionArray
,
uninterpretedOptionArray_Count
;
typedef
struct
GPBFileOptions__storage_
{
typedef
struct
GPBFileOptions__storage_
{
...
@@ -1241,6 +1242,7 @@ typedef struct GPBFileOptions__storage_ {
...
@@ -1241,6 +1242,7 @@ typedef struct GPBFileOptions__storage_ {
BOOL
deprecated
;
BOOL
deprecated
;
BOOL
javaStringCheckUtf8
;
BOOL
javaStringCheckUtf8
;
BOOL
ccEnableArenas
;
BOOL
ccEnableArenas
;
BOOL
javananoUseDeprecatedPackage
;
GPBFileOptions_OptimizeMode
optimizeFor
;
GPBFileOptions_OptimizeMode
optimizeFor
;
NSString
*
javaPackage
;
NSString
*
javaPackage
;
NSString
*
javaOuterClassname
;
NSString
*
javaOuterClassname
;
...
@@ -1410,6 +1412,17 @@ typedef struct GPBFileOptions__storage_ {
...
@@ -1410,6 +1412,17 @@ typedef struct GPBFileOptions__storage_ {
.
dataTypeSpecific
.
className
=
NULL
,
.
dataTypeSpecific
.
className
=
NULL
,
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"javananoUseDeprecatedPackage"
,
.
number
=
GPBFileOptions_FieldNumber_JavananoUseDeprecatedPackage
,
.
hasIndex
=
14
,
.
flags
=
GPBFieldOptional
,
.
dataType
=
GPBDataTypeBool
,
.
offset
=
offsetof
(
GPBFileOptions__storage_
,
javananoUseDeprecatedPackage
),
.
defaultValue
.
valueBool
=
NO
,
.
dataTypeSpecific
.
className
=
NULL
,
.
fieldOptions
=
NULL
,
},
{
{
.
name
=
"uninterpretedOptionArray"
,
.
name
=
"uninterpretedOptionArray"
,
.
number
=
GPBFileOptions_FieldNumber_UninterpretedOptionArray
,
.
number
=
GPBFileOptions_FieldNumber_UninterpretedOptionArray
,
...
...
objectivec/google/protobuf/Empty.pbobjc.h
View file @
106f3eb9
...
@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
// service Foo {
// service Foo {
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// }
// }
//
// The JSON representation for `Empty` is empty JSON object `{}`.
@interface
GPBEmpty
:
GPBMessage
@interface
GPBEmpty
:
GPBMessage
@end
@end
...
...
objectivec/google/protobuf/FieldMask.pbobjc.h
View file @
106f3eb9
...
@@ -44,6 +44,7 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
...
@@ -44,6 +44,7 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
// Field masks also have a custom JSON encoding (see below).
// Field masks also have a custom JSON encoding (see below).
//
//
// # Field Masks in Projections
// # Field Masks in Projections
//
// When used in the context of a projection, a response message or
// When used in the context of a projection, a response message or
// sub-message is filtered by the API to only contain those fields as
// sub-message is filtered by the API to only contain those fields as
// specified in the mask. For example, if the mask in the previous
// specified in the mask. For example, if the mask in the previous
...
@@ -89,6 +90,7 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
...
@@ -89,6 +90,7 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
// behavior for APIs.
// behavior for APIs.
//
//
// # Field Masks in Update Operations
// # Field Masks in Update Operations
//
// A field mask in update operations specifies which fields of the
// A field mask in update operations specifies which fields of the
// targeted resource are going to be updated. The API is required
// targeted resource are going to be updated. The API is required
// to only change the values of the fields as specified in the mask
// to only change the values of the fields as specified in the mask
...
@@ -116,11 +118,13 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
...
@@ -116,11 +118,13 @@ typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
// required to be honored by the API.
// required to be honored by the API.
//
//
// ## Considerations for HTTP REST
// ## Considerations for HTTP REST
//
// The HTTP kind of an update operation which uses a field mask must
// The HTTP kind of an update operation which uses a field mask must
// be set to PATCH instead of PUT in order to satisfy HTTP semantics
// be set to PATCH instead of PUT in order to satisfy HTTP semantics
// (PUT must only be used for full updates).
// (PUT must only be used for full updates).
//
//
// # JSON Encoding of Field Masks
// # JSON Encoding of Field Masks
//
// In JSON, a field mask is encoded as a single string where paths are
// In JSON, a field mask is encoded as a single string where paths are
// separated by a comma. Fields name in each path are converted
// separated by a comma. Fields name in each path are converted
// to/from lower-camel naming conventions.
// to/from lower-camel naming conventions.
...
...
objectivec/google/protobuf/Struct.pbobjc.h
View file @
106f3eb9
...
@@ -18,8 +18,10 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -18,8 +18,10 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark - Enum GPBNullValue
#pragma mark - Enum GPBNullValue
// `NullValue` is a singleton enumeration to represent the null
// `NullValue` is a singleton enumeration to represent the null value for the
// value for the `Value` type union.
// `Value` type union.
//
// The JSON representation for `NullValue` is JSON `null`.
typedef
GPB_ENUM
(
GPBNullValue
)
{
typedef
GPB_ENUM
(
GPBNullValue
)
{
GPBNullValue_GPBUnrecognizedEnumeratorValue
=
kGPBUnrecognizedEnumeratorValue
,
GPBNullValue_GPBUnrecognizedEnumeratorValue
=
kGPBUnrecognizedEnumeratorValue
,
// Null value.
// Null value.
...
@@ -53,6 +55,8 @@ typedef GPB_ENUM(GPBStruct_FieldNumber) {
...
@@ -53,6 +55,8 @@ typedef GPB_ENUM(GPBStruct_FieldNumber) {
// scripting languages like JS a struct is represented as an
// scripting languages like JS a struct is represented as an
// object. The details of that representation are described together
// object. The details of that representation are described together
// with the proto support for the language.
// with the proto support for the language.
//
// The JSON representation for `Struct` is JSON object.
@interface
GPBStruct
:
GPBMessage
@interface
GPBStruct
:
GPBMessage
// Map of dynamically typed values.
// Map of dynamically typed values.
...
@@ -87,8 +91,11 @@ typedef GPB_ENUM(GPBValue_Kind_OneOfCase) {
...
@@ -87,8 +91,11 @@ typedef GPB_ENUM(GPBValue_Kind_OneOfCase) {
// null, a number, a string, a boolean, a recursive struct value, or a
// null, a number, a string, a boolean, a recursive struct value, or a
// list of values. A producer of value is expected to set one of that
// list of values. A producer of value is expected to set one of that
// variants, absence of any variant indicates an error.
// variants, absence of any variant indicates an error.
//
// The JSON representation for `Value` is JSON value.
@interface
GPBValue
:
GPBMessage
@interface
GPBValue
:
GPBMessage
// The kind of value.
@property
(
nonatomic
,
readonly
)
GPBValue_Kind_OneOfCase
kindOneOfCase
;
@property
(
nonatomic
,
readonly
)
GPBValue_Kind_OneOfCase
kindOneOfCase
;
// Represents a null value.
// Represents a null value.
...
@@ -123,6 +130,8 @@ typedef GPB_ENUM(GPBListValue_FieldNumber) {
...
@@ -123,6 +130,8 @@ typedef GPB_ENUM(GPBListValue_FieldNumber) {
};
};
// `ListValue` is a wrapper around a repeated field of values.
// `ListValue` is a wrapper around a repeated field of values.
//
// The JSON representation for `ListValue` is JSON array.
@interface
GPBListValue
:
GPBMessage
@interface
GPBListValue
:
GPBMessage
// Repeated field of dynamically typed values.
// Repeated field of dynamically typed values.
...
...
objectivec/google/protobuf/Timestamp.pbobjc.h
View file @
106f3eb9
...
@@ -77,11 +77,12 @@ typedef GPB_ENUM(GPBTimestamp_FieldNumber) {
...
@@ -77,11 +77,12 @@ typedef GPB_ENUM(GPBTimestamp_FieldNumber) {
// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
// .setNanos((int) ((millis % 1000) * 1000000)).build();
// .setNanos((int) ((millis % 1000) * 1000000)).build();
//
//
// Example 5: Compute Timestamp from Python `datetime.datetime`.
//
//
// now = datetime.datetime.utcnow()
// Example 5: Compute Timestamp from current time in Python.
// seconds = int(time.mktime(now.timetuple()))
//
// nanos = now.microsecond * 1000
// now = time.time()
// seconds = int(now)
// nanos = int((now - seconds) * 10**9)
// timestamp = Timestamp(seconds=seconds, nanos=nanos)
// timestamp = Timestamp(seconds=seconds, nanos=nanos)
@interface
GPBTimestamp
:
GPBMessage
@interface
GPBTimestamp
:
GPBMessage
...
...
objectivec/google/protobuf/Type.pbobjc.h
View file @
106f3eb9
...
@@ -16,6 +16,22 @@ CF_EXTERN_C_BEGIN
...
@@ -16,6 +16,22 @@ CF_EXTERN_C_BEGIN
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Enum GPBSyntax
// Syntax specifies the syntax in which a service element was defined.
typedef
GPB_ENUM
(
GPBSyntax
)
{
GPBSyntax_GPBUnrecognizedEnumeratorValue
=
kGPBUnrecognizedEnumeratorValue
,
// Syntax "proto2"
GPBSyntax_SyntaxProto2
=
0
,
// Syntax "proto3"
GPBSyntax_SyntaxProto3
=
1
,
};
GPBEnumDescriptor
*
GPBSyntax_EnumDescriptor
(
void
);
BOOL
GPBSyntax_IsValidValue
(
int32_t
value
);
#pragma mark - Enum GPBField_Kind
#pragma mark - Enum GPBField_Kind
// Kind represents a basic field type.
// Kind represents a basic field type.
...
@@ -51,6 +67,9 @@ typedef GPB_ENUM(GPBField_Kind) {
...
@@ -51,6 +67,9 @@ typedef GPB_ENUM(GPBField_Kind) {
// Field type string.
// Field type string.
GPBField_Kind_TypeString
=
9
,
GPBField_Kind_TypeString
=
9
,
// Field type group (deprecated proto2 type)
GPBField_Kind_TypeGroup
=
10
,
// Field type message.
// Field type message.
GPBField_Kind_TypeMessage
=
11
,
GPBField_Kind_TypeMessage
=
11
,
...
@@ -122,6 +141,7 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
...
@@ -122,6 +141,7 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
GPBType_FieldNumber_OneofsArray
=
3
,
GPBType_FieldNumber_OneofsArray
=
3
,
GPBType_FieldNumber_OptionsArray
=
4
,
GPBType_FieldNumber_OptionsArray
=
4
,
GPBType_FieldNumber_SourceContext
=
5
,
GPBType_FieldNumber_SourceContext
=
5
,
GPBType_FieldNumber_Syntax
=
6
,
};
};
// A light-weight descriptor for a proto message type.
// A light-weight descriptor for a proto message type.
...
@@ -136,7 +156,6 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
...
@@ -136,7 +156,6 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
@property
(
nonatomic
,
readonly
)
NSUInteger
fieldsArray_Count
;
@property
(
nonatomic
,
readonly
)
NSUInteger
fieldsArray_Count
;
// The list of oneof definitions.
// The list of oneof definitions.
// The list of oneofs declared in this Type
// |oneofsArray| contains |NSString|
// |oneofsArray| contains |NSString|
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
oneofsArray
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
oneofsArray
;
@property
(
nonatomic
,
readonly
)
NSUInteger
oneofsArray_Count
;
@property
(
nonatomic
,
readonly
)
NSUInteger
oneofsArray_Count
;
...
@@ -150,8 +169,14 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
...
@@ -150,8 +169,14 @@ typedef GPB_ENUM(GPBType_FieldNumber) {
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
// The source syntax.
@property
(
nonatomic
,
readwrite
)
GPBSyntax
syntax
;
@end
@end
int32_t
GPBType_Syntax_RawValue
(
GPBType
*
message
);
void
SetGPBType_Syntax_RawValue
(
GPBType
*
message
,
int32_t
value
);
#pragma mark - GPBField
#pragma mark - GPBField
typedef
GPB_ENUM
(
GPBField_FieldNumber
)
{
typedef
GPB_ENUM
(
GPBField_FieldNumber
)
{
...
@@ -163,6 +188,7 @@ typedef GPB_ENUM(GPBField_FieldNumber) {
...
@@ -163,6 +188,7 @@ typedef GPB_ENUM(GPBField_FieldNumber) {
GPBField_FieldNumber_OneofIndex
=
7
,
GPBField_FieldNumber_OneofIndex
=
7
,
GPBField_FieldNumber_Packed
=
8
,
GPBField_FieldNumber_Packed
=
8
,
GPBField_FieldNumber_OptionsArray
=
9
,
GPBField_FieldNumber_OptionsArray
=
9
,
GPBField_FieldNumber_JsonName
=
10
,
};
};
// Field represents a single field of a message type.
// Field represents a single field of a message type.
...
@@ -195,6 +221,9 @@ typedef GPB_ENUM(GPBField_FieldNumber) {
...
@@ -195,6 +221,9 @@ typedef GPB_ENUM(GPBField_FieldNumber) {
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
optionsArray
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
NSMutableArray
*
optionsArray
;
@property
(
nonatomic
,
readonly
)
NSUInteger
optionsArray_Count
;
@property
(
nonatomic
,
readonly
)
NSUInteger
optionsArray_Count
;
// The JSON name for this field.
@property
(
nonatomic
,
readwrite
,
copy
,
null_resettable
)
NSString
*
jsonName
;
@end
@end
int32_t
GPBField_Kind_RawValue
(
GPBField
*
message
);
int32_t
GPBField_Kind_RawValue
(
GPBField
*
message
);
...
@@ -210,6 +239,7 @@ typedef GPB_ENUM(GPBEnum_FieldNumber) {
...
@@ -210,6 +239,7 @@ typedef GPB_ENUM(GPBEnum_FieldNumber) {
GPBEnum_FieldNumber_EnumvalueArray
=
2
,
GPBEnum_FieldNumber_EnumvalueArray
=
2
,
GPBEnum_FieldNumber_OptionsArray
=
3
,
GPBEnum_FieldNumber_OptionsArray
=
3
,
GPBEnum_FieldNumber_SourceContext
=
4
,
GPBEnum_FieldNumber_SourceContext
=
4
,
GPBEnum_FieldNumber_Syntax
=
5
,
};
};
// Enum type definition.
// Enum type definition.
...
@@ -232,8 +262,14 @@ typedef GPB_ENUM(GPBEnum_FieldNumber) {
...
@@ -232,8 +262,14 @@ typedef GPB_ENUM(GPBEnum_FieldNumber) {
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
)
BOOL
hasSourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
@property
(
nonatomic
,
readwrite
,
strong
,
null_resettable
)
GPBSourceContext
*
sourceContext
;
// The source syntax.
@property
(
nonatomic
,
readwrite
)
GPBSyntax
syntax
;
@end
@end
int32_t
GPBEnum_Syntax_RawValue
(
GPBEnum
*
message
);
void
SetGPBEnum_Syntax_RawValue
(
GPBEnum
*
message
,
int32_t
value
);
#pragma mark - GPBEnumValue
#pragma mark - GPBEnumValue
typedef
GPB_ENUM
(
GPBEnumValue_FieldNumber
)
{
typedef
GPB_ENUM
(
GPBEnumValue_FieldNumber
)
{
...
...
objectivec/google/protobuf/Type.pbobjc.m
View file @
106f3eb9
...
@@ -40,6 +40,33 @@ static GPBFileDescriptor *GPBTypeRoot_FileDescriptor(void) {
...
@@ -40,6 +40,33 @@ static GPBFileDescriptor *GPBTypeRoot_FileDescriptor(void) {
return
descriptor
;
return
descriptor
;
}
}
#pragma mark - Enum GPBSyntax
GPBEnumDescriptor
*
GPBSyntax_EnumDescriptor
(
void
)
{
static
GPBEnumDescriptor
*
descriptor
=
NULL
;
if
(
!
descriptor
)
{
static
GPBMessageEnumValueDescription
values
[]
=
{
{
.
name
=
"SyntaxProto2"
,
.
number
=
GPBSyntax_SyntaxProto2
},
{
.
name
=
"SyntaxProto3"
,
.
number
=
GPBSyntax_SyntaxProto3
},
};
descriptor
=
[
GPBEnumDescriptor
allocDescriptorForName
:
GPBNSStringifySymbol
(
GPBSyntax
)
values
:
values
valueCount
:
sizeof
(
values
)
/
sizeof
(
GPBMessageEnumValueDescription
)
enumVerifier
:
GPBSyntax_IsValidValue
];
}
return
descriptor
;
}
BOOL
GPBSyntax_IsValidValue
(
int32_t
value__
)
{
switch
(
value__
)
{
case
GPBSyntax_SyntaxProto2
:
case
GPBSyntax_SyntaxProto3
:
return
YES
;
default
:
return
NO
;
}
}
#pragma mark - GPBType
#pragma mark - GPBType
@implementation
GPBType
@implementation
GPBType
...
@@ -49,9 +76,11 @@ static GPBFileDescriptor *GPBTypeRoot_FileDescriptor(void) {
...
@@ -49,9 +76,11 @@ static GPBFileDescriptor *GPBTypeRoot_FileDescriptor(void) {
@dynamic
oneofsArray
,
oneofsArray_Count
;
@dynamic
oneofsArray
,
oneofsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
syntax
;
typedef
struct
GPBType__storage_
{
typedef
struct
GPBType__storage_
{
uint32_t
_has_storage_
[
1
];
uint32_t
_has_storage_
[
1
];
GPBSyntax
syntax
;
NSString
*
name
;
NSString
*
name
;
NSMutableArray
*
fieldsArray
;
NSMutableArray
*
fieldsArray
;
NSMutableArray
*
oneofsArray
;
NSMutableArray
*
oneofsArray
;
...
@@ -120,6 +149,17 @@ typedef struct GPBType__storage_ {
...
@@ -120,6 +149,17 @@ typedef struct GPBType__storage_ {
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"syntax"
,
.
number
=
GPBType_FieldNumber_Syntax
,
.
hasIndex
=
5
,
.
flags
=
GPBFieldOptional
|
GPBFieldHasEnumDescriptor
,
.
dataType
=
GPBDataTypeEnum
,
.
offset
=
offsetof
(
GPBType__storage_
,
syntax
),
.
defaultValue
.
valueEnum
=
GPBSyntax_SyntaxProto2
,
.
dataTypeSpecific
.
enumDescFunc
=
GPBSyntax_EnumDescriptor
,
.
fieldOptions
=
NULL
,
},
};
};
GPBDescriptor
*
localDescriptor
=
GPBDescriptor
*
localDescriptor
=
[
GPBDescriptor
allocDescriptorForClass
:[
GPBType
class
]
[
GPBDescriptor
allocDescriptorForClass
:[
GPBType
class
]
...
@@ -143,6 +183,18 @@ typedef struct GPBType__storage_ {
...
@@ -143,6 +183,18 @@ typedef struct GPBType__storage_ {
@end
@end
int32_t
GPBType_Syntax_RawValue
(
GPBType
*
message
)
{
GPBDescriptor
*
descriptor
=
[
GPBType
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBType_FieldNumber_Syntax
];
return
GPBGetMessageInt32Field
(
message
,
field
);
}
void
SetGPBType_Syntax_RawValue
(
GPBType
*
message
,
int32_t
value
)
{
GPBDescriptor
*
descriptor
=
[
GPBType
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBType_FieldNumber_Syntax
];
GPBSetInt32IvarWithFieldInternal
(
message
,
field
,
value
,
descriptor
.
file
.
syntax
);
}
#pragma mark - GPBField
#pragma mark - GPBField
@implementation
GPBField
@implementation
GPBField
...
@@ -155,6 +207,7 @@ typedef struct GPBType__storage_ {
...
@@ -155,6 +207,7 @@ typedef struct GPBType__storage_ {
@dynamic
oneofIndex
;
@dynamic
oneofIndex
;
@dynamic
packed
;
@dynamic
packed
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
jsonName
;
typedef
struct
GPBField__storage_
{
typedef
struct
GPBField__storage_
{
uint32_t
_has_storage_
[
1
];
uint32_t
_has_storage_
[
1
];
...
@@ -166,6 +219,7 @@ typedef struct GPBField__storage_ {
...
@@ -166,6 +219,7 @@ typedef struct GPBField__storage_ {
NSString
*
name
;
NSString
*
name
;
NSString
*
typeURL
;
NSString
*
typeURL
;
NSMutableArray
*
optionsArray
;
NSMutableArray
*
optionsArray
;
NSString
*
jsonName
;
}
GPBField__storage_
;
}
GPBField__storage_
;
// This method is threadsafe because it is initially called
// This method is threadsafe because it is initially called
...
@@ -262,6 +316,17 @@ typedef struct GPBField__storage_ {
...
@@ -262,6 +316,17 @@ typedef struct GPBField__storage_ {
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBOption
),
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBOption
),
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"jsonName"
,
.
number
=
GPBField_FieldNumber_JsonName
,
.
hasIndex
=
8
,
.
flags
=
GPBFieldOptional
,
.
dataType
=
GPBDataTypeString
,
.
offset
=
offsetof
(
GPBField__storage_
,
jsonName
),
.
defaultValue
.
valueString
=
nil
,
.
dataTypeSpecific
.
className
=
NULL
,
.
fieldOptions
=
NULL
,
},
};
};
static
GPBMessageEnumDescription
enums
[]
=
{
static
GPBMessageEnumDescription
enums
[]
=
{
{
.
enumDescriptorFunc
=
GPBField_Kind_EnumDescriptor
},
{
.
enumDescriptorFunc
=
GPBField_Kind_EnumDescriptor
},
...
@@ -335,6 +400,7 @@ GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void) {
...
@@ -335,6 +400,7 @@ GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void) {
{
.
name
=
"TypeFixed32"
,
.
number
=
GPBField_Kind_TypeFixed32
},
{
.
name
=
"TypeFixed32"
,
.
number
=
GPBField_Kind_TypeFixed32
},
{
.
name
=
"TypeBool"
,
.
number
=
GPBField_Kind_TypeBool
},
{
.
name
=
"TypeBool"
,
.
number
=
GPBField_Kind_TypeBool
},
{
.
name
=
"TypeString"
,
.
number
=
GPBField_Kind_TypeString
},
{
.
name
=
"TypeString"
,
.
number
=
GPBField_Kind_TypeString
},
{
.
name
=
"TypeGroup"
,
.
number
=
GPBField_Kind_TypeGroup
},
{
.
name
=
"TypeMessage"
,
.
number
=
GPBField_Kind_TypeMessage
},
{
.
name
=
"TypeMessage"
,
.
number
=
GPBField_Kind_TypeMessage
},
{
.
name
=
"TypeBytes"
,
.
number
=
GPBField_Kind_TypeBytes
},
{
.
name
=
"TypeBytes"
,
.
number
=
GPBField_Kind_TypeBytes
},
{
.
name
=
"TypeUint32"
,
.
number
=
GPBField_Kind_TypeUint32
},
{
.
name
=
"TypeUint32"
,
.
number
=
GPBField_Kind_TypeUint32
},
...
@@ -364,6 +430,7 @@ BOOL GPBField_Kind_IsValidValue(int32_t value__) {
...
@@ -364,6 +430,7 @@ BOOL GPBField_Kind_IsValidValue(int32_t value__) {
case
GPBField_Kind_TypeFixed32
:
case
GPBField_Kind_TypeFixed32
:
case
GPBField_Kind_TypeBool
:
case
GPBField_Kind_TypeBool
:
case
GPBField_Kind_TypeString
:
case
GPBField_Kind_TypeString
:
case
GPBField_Kind_TypeGroup
:
case
GPBField_Kind_TypeMessage
:
case
GPBField_Kind_TypeMessage
:
case
GPBField_Kind_TypeBytes
:
case
GPBField_Kind_TypeBytes
:
case
GPBField_Kind_TypeUint32
:
case
GPBField_Kind_TypeUint32
:
...
@@ -417,9 +484,11 @@ BOOL GPBField_Cardinality_IsValidValue(int32_t value__) {
...
@@ -417,9 +484,11 @@ BOOL GPBField_Cardinality_IsValidValue(int32_t value__) {
@dynamic
enumvalueArray
,
enumvalueArray_Count
;
@dynamic
enumvalueArray
,
enumvalueArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
optionsArray
,
optionsArray_Count
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
hasSourceContext
,
sourceContext
;
@dynamic
syntax
;
typedef
struct
GPBEnum__storage_
{
typedef
struct
GPBEnum__storage_
{
uint32_t
_has_storage_
[
1
];
uint32_t
_has_storage_
[
1
];
GPBSyntax
syntax
;
NSString
*
name
;
NSString
*
name
;
NSMutableArray
*
enumvalueArray
;
NSMutableArray
*
enumvalueArray
;
NSMutableArray
*
optionsArray
;
NSMutableArray
*
optionsArray
;
...
@@ -476,6 +545,17 @@ typedef struct GPBEnum__storage_ {
...
@@ -476,6 +545,17 @@ typedef struct GPBEnum__storage_ {
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
dataTypeSpecific
.
className
=
GPBStringifySymbol
(
GPBSourceContext
),
.
fieldOptions
=
NULL
,
.
fieldOptions
=
NULL
,
},
},
{
.
name
=
"syntax"
,
.
number
=
GPBEnum_FieldNumber_Syntax
,
.
hasIndex
=
4
,
.
flags
=
GPBFieldOptional
|
GPBFieldHasEnumDescriptor
,
.
dataType
=
GPBDataTypeEnum
,
.
offset
=
offsetof
(
GPBEnum__storage_
,
syntax
),
.
defaultValue
.
valueEnum
=
GPBSyntax_SyntaxProto2
,
.
dataTypeSpecific
.
enumDescFunc
=
GPBSyntax_EnumDescriptor
,
.
fieldOptions
=
NULL
,
},
};
};
GPBDescriptor
*
localDescriptor
=
GPBDescriptor
*
localDescriptor
=
[
GPBDescriptor
allocDescriptorForClass
:[
GPBEnum
class
]
[
GPBDescriptor
allocDescriptorForClass
:[
GPBEnum
class
]
...
@@ -499,6 +579,18 @@ typedef struct GPBEnum__storage_ {
...
@@ -499,6 +579,18 @@ typedef struct GPBEnum__storage_ {
@end
@end
int32_t
GPBEnum_Syntax_RawValue
(
GPBEnum
*
message
)
{
GPBDescriptor
*
descriptor
=
[
GPBEnum
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBEnum_FieldNumber_Syntax
];
return
GPBGetMessageInt32Field
(
message
,
field
);
}
void
SetGPBEnum_Syntax_RawValue
(
GPBEnum
*
message
,
int32_t
value
)
{
GPBDescriptor
*
descriptor
=
[
GPBEnum
descriptor
];
GPBFieldDescriptor
*
field
=
[
descriptor
fieldWithNumber
:
GPBEnum_FieldNumber_Syntax
];
GPBSetInt32IvarWithFieldInternal
(
message
,
field
,
value
,
descriptor
.
file
.
syntax
);
}
#pragma mark - GPBEnumValue
#pragma mark - GPBEnumValue
@implementation
GPBEnumValue
@implementation
GPBEnumValue
...
...
objectivec/google/protobuf/Wrappers.pbobjc.h
View file @
106f3eb9
...
@@ -30,7 +30,9 @@ typedef GPB_ENUM(GPBDoubleValue_FieldNumber) {
...
@@ -30,7 +30,9 @@ typedef GPB_ENUM(GPBDoubleValue_FieldNumber) {
GPBDoubleValue_FieldNumber_Value
=
1
,
GPBDoubleValue_FieldNumber_Value
=
1
,
};
};
// Wrapper message for double.
// Wrapper message for `double`.
//
// The JSON representation for `DoubleValue` is JSON number.
@interface
GPBDoubleValue
:
GPBMessage
@interface
GPBDoubleValue
:
GPBMessage
// The double value.
// The double value.
...
@@ -44,7 +46,9 @@ typedef GPB_ENUM(GPBFloatValue_FieldNumber) {
...
@@ -44,7 +46,9 @@ typedef GPB_ENUM(GPBFloatValue_FieldNumber) {
GPBFloatValue_FieldNumber_Value
=
1
,
GPBFloatValue_FieldNumber_Value
=
1
,
};
};
// Wrapper message for float.
// Wrapper message for `float`.
//
// The JSON representation for `FloatValue` is JSON number.
@interface
GPBFloatValue
:
GPBMessage
@interface
GPBFloatValue
:
GPBMessage
// The float value.
// The float value.
...
@@ -58,7 +62,9 @@ typedef GPB_ENUM(GPBInt64Value_FieldNumber) {
...
@@ -58,7 +62,9 @@ typedef GPB_ENUM(GPBInt64Value_FieldNumber) {
GPBInt64Value_FieldNumber_Value
=
1
,
GPBInt64Value_FieldNumber_Value
=
1
,
};
};
// Wrapper message for int64.
// Wrapper message for `int64`.
//
// The JSON representation for `Int64Value` is JSON string.
@interface
GPBInt64Value
:
GPBMessage
@interface
GPBInt64Value
:
GPBMessage
// The int64 value.
// The int64 value.
...
@@ -72,7 +78,9 @@ typedef GPB_ENUM(GPBUInt64Value_FieldNumber) {
...
@@ -72,7 +78,9 @@ typedef GPB_ENUM(GPBUInt64Value_FieldNumber) {
GPBUInt64Value_FieldNumber_Value
=
1
,
GPBUInt64Value_FieldNumber_Value
=
1
,
};
};
// Wrapper message for uint64.
// Wrapper message for `uint64`.
//
// The JSON representation for `UInt64Value` is JSON string.
@interface
GPBUInt64Value
:
GPBMessage
@interface
GPBUInt64Value
:
GPBMessage
// The uint64 value.
// The uint64 value.
...
@@ -86,7 +94,9 @@ typedef GPB_ENUM(GPBInt32Value_FieldNumber) {
...
@@ -86,7 +94,9 @@ typedef GPB_ENUM(GPBInt32Value_FieldNumber) {
GPBInt32Value_FieldNumber_Value
=
1
,
GPBInt32Value_FieldNumber_Value
=
1
,
};
};
// Wrapper message for int32.
// Wrapper message for `int32`.
//
// The JSON representation for `Int32Value` is JSON number.
@interface
GPBInt32Value
:
GPBMessage
@interface
GPBInt32Value
:
GPBMessage
// The int32 value.
// The int32 value.
...
@@ -100,7 +110,9 @@ typedef GPB_ENUM(GPBUInt32Value_FieldNumber) {
...
@@ -100,7 +110,9 @@ typedef GPB_ENUM(GPBUInt32Value_FieldNumber) {
GPBUInt32Value_FieldNumber_Value
=
1
,
GPBUInt32Value_FieldNumber_Value
=
1
,
};
};
// Wrapper message for uint32.
// Wrapper message for `uint32`.
//
// The JSON representation for `UInt32Value` is JSON number.
@interface
GPBUInt32Value
:
GPBMessage
@interface
GPBUInt32Value
:
GPBMessage
// The uint32 value.
// The uint32 value.
...
@@ -114,7 +126,9 @@ typedef GPB_ENUM(GPBBoolValue_FieldNumber) {
...
@@ -114,7 +126,9 @@ typedef GPB_ENUM(GPBBoolValue_FieldNumber) {
GPBBoolValue_FieldNumber_Value
=
1
,
GPBBoolValue_FieldNumber_Value
=
1
,
};
};
// Wrapper message for bool.
// Wrapper message for `bool`.
//
// The JSON representation for `BoolValue` is JSON `true` and `false`.
@interface
GPBBoolValue
:
GPBMessage
@interface
GPBBoolValue
:
GPBMessage
// The bool value.
// The bool value.
...
@@ -128,7 +142,9 @@ typedef GPB_ENUM(GPBStringValue_FieldNumber) {
...
@@ -128,7 +142,9 @@ typedef GPB_ENUM(GPBStringValue_FieldNumber) {
GPBStringValue_FieldNumber_Value
=
1
,
GPBStringValue_FieldNumber_Value
=
1
,
};
};
// Wrapper message for string.
// Wrapper message for `string`.
//
// The JSON representation for `StringValue` is JSON string.
@interface
GPBStringValue
:
GPBMessage
@interface
GPBStringValue
:
GPBMessage
// The string value.
// The string value.
...
@@ -142,7 +158,9 @@ typedef GPB_ENUM(GPBBytesValue_FieldNumber) {
...
@@ -142,7 +158,9 @@ typedef GPB_ENUM(GPBBytesValue_FieldNumber) {
GPBBytesValue_FieldNumber_Value
=
1
,
GPBBytesValue_FieldNumber_Value
=
1
,
};
};
// Wrapper message for bytes.
// Wrapper message for `bytes`.
//
// The JSON representation for `BytesValue` is JSON string.
@interface
GPBBytesValue
:
GPBMessage
@interface
GPBBytesValue
:
GPBMessage
// The bytes value.
// The bytes value.
...
...
src/google/protobuf/unittest_no_arena.proto
View file @
106f3eb9
...
@@ -44,6 +44,7 @@ option cc_generic_services = true; // auto-added
...
@@ -44,6 +44,7 @@ option cc_generic_services = true; // auto-added
option
java_generic_services
=
true
;
// auto-added
option
java_generic_services
=
true
;
// auto-added
option
py_generic_services
=
true
;
// auto-added
option
py_generic_services
=
true
;
// auto-added
option
cc_enable_arenas
=
false
;
option
cc_enable_arenas
=
false
;
option
objc_class_prefix
=
"NOARN"
;
import
"google/protobuf/unittest_import.proto"
;
import
"google/protobuf/unittest_import.proto"
;
import
"google/protobuf/unittest_arena.proto"
;
import
"google/protobuf/unittest_arena.proto"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment