parent
08c77277fd
commit
19b395d6e4
|
@ -49,4 +49,4 @@ profile
|
|||
DerivedData
|
||||
.idea/
|
||||
|
||||
|
||||
compile
|
||||
|
|
19
.travis.yml
19
.travis.yml
|
@ -1,12 +1,13 @@
|
|||
language: objective-c
|
||||
before_install:
|
||||
- brew update
|
||||
- brew unlink xctool
|
||||
- brew install xctool --HEAD
|
||||
- xctool -v
|
||||
- brew install protobuf
|
||||
- ./scripts/build.sh
|
||||
- ./travis/travis.sh
|
||||
- brew update
|
||||
- brew uninstall xctool
|
||||
- brew install xctool --HEAD
|
||||
- xctool -v
|
||||
- brew install protobuf
|
||||
install:
|
||||
- scripts/build.sh
|
||||
- scripts/makeTests.sh
|
||||
script:
|
||||
- xctool -project ./src/ProtocolBuffers/ProtocolBuffers.xcodeproj -sdk iphonesimulator -scheme ProtocolBuffers build test
|
||||
- xctool -project ./src/ProtocolBuffers/ProtocolBuffers.xcodeproj -scheme "ProtocolBuffers(OSX)" build test
|
||||
- xctool -project ./src/ProtocolBuffers/ProtocolBuffers.xcodeproj -sdk iphonesimulator -scheme ProtocolBuffers build test
|
||||
- xctool -project ./src/ProtocolBuffers/ProtocolBuffers.xcodeproj -scheme "ProtocolBuffers(OSX)" build test
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# This script regenerates the authconf-based configure script. The resulting
|
||||
# This script regenerates the autoconf-based configure script. The resulting
|
||||
# files aren't managed by source control but are included in the distribution.
|
||||
set -e
|
||||
|
||||
set -ex
|
||||
|
||||
mkdir -p m4
|
||||
autoreconf -f -i -Wall
|
||||
rm -rf autom4te.cache configure.ac~ config.h.in~
|
||||
exit 0
|
||||
|
|
347
compile
347
compile
|
@ -1,347 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
|
@ -1,5 +1,8 @@
|
|||
#!/bin/sh
|
||||
make clean;
|
||||
./autogen.sh && \
|
||||
./configure CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib && \
|
||||
make -j8 && make install;
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -ex
|
||||
|
||||
./autogen.sh
|
||||
./configure CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
|
||||
make clean
|
||||
make -j8
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
#!/bin/sh
|
||||
pwds=`pwd`
|
||||
cd src/compiler/ && protoc google/protobuf/swift-descriptor.proto --cpp_out="./" && cd ..;
|
||||
cd $pwds;
|
||||
./scripts/build.sh && \
|
||||
cd $pwds/src/compiler/ && protoc google/protobuf/swift-descriptor.proto --swift_out="./Descriptors";
|
||||
cd $pwds/src/compiler/ && protoc google/protobuf/descriptor.proto --swift_out="./Descriptors";
|
||||
#!/usr/bin/env sh
|
||||
|
||||
cp -f ./Descriptors/Descriptor.pb.swift ../ProtocolBuffers/runtime-pb-swift/
|
||||
cp -f ./Descriptors/SwiftDescriptor.pb.swift ../ProtocolBuffers/runtime-pb-swift/
|
||||
set -ex
|
||||
|
||||
compiler_root=src/compiler
|
||||
|
||||
PATH=$PATH:$compiler_root
|
||||
|
||||
# we need this for bootstrapping
|
||||
protoc -I$compiler_root $compiler_root/google/protobuf/swift-descriptor.proto --cpp_out=$compiler_root
|
||||
|
||||
# build the swift generator
|
||||
scripts/build.sh
|
||||
|
||||
# compile the swift descriptors into the runtime library
|
||||
protoc -I$compiler_root $compiler_root/google/protobuf/{swift-,}descriptor.proto --swift_out=src/ProtocolBuffers/runtime-pb-swift/
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#!/bin/sh
|
||||
cd src/compiler;
|
||||
rm -f ./Tests/*;
|
||||
protoc google/protobuf/unittest*.proto --swift_out="./Tests";
|
||||
# protoc google/protobuf/descriptor*.proto --swift_out="./Tests";
|
||||
cp -f ./Tests/* ../ProtocolBuffers/ProtocolBuffersTests/pbTests/;
|
||||
cd ../ProtocolBuffers/ProtocolBuffersTests
|
||||
protoc google/protobuf/Perfomance.proto --swift_out="./"
|
||||
#cp -f ./Tests/Unittest* ../runtime/Tests/;
|
||||
#cp -f ./Tests/Descriptor* ../runtime/Classes/;
|
||||
cd ../../;
|
||||
cd compiler;
|
||||
rm -f ./Tests/*;
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -ex
|
||||
|
||||
compiler_root=src/compiler
|
||||
|
||||
PATH=$PATH:$compiler_root
|
||||
|
||||
# compile the unit tests into the runtime library's fixture directory
|
||||
protoc -I$compiler_root $compiler_root/google/protobuf/unittest*.proto --swift_out=src/ProtocolBuffers/ProtocolBuffersTests/pbTests/
|
||||
|
||||
# compile the performance proto into the runtime
|
||||
protoc -I$compiler_root $compiler_root/google/protobuf/performance.proto --swift_out=src/ProtocolBuffers/ProtocolBuffersTests
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3F0201C31A2C800700EE503C /* Perfomance.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F64475D19F040DE0030E56C /* Perfomance.pb.swift */; };
|
||||
3F0201C41A2C800800EE503C /* Perfomance.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F64475D19F040DE0030E56C /* Perfomance.pb.swift */; };
|
||||
3F0201C31A2C800700EE503C /* Performance.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F64475D19F040DE0030E56C /* Performance.pb.swift */; };
|
||||
3F0201C41A2C800800EE503C /* Performance.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F64475D19F040DE0030E56C /* Performance.pb.swift */; };
|
||||
3F1422981A07FDBF0090CEE9 /* ProtocolBuffers.framework in Copy Framework */ = {isa = PBXBuildFile; fileRef = 3F85569919C71BCF003802F2 /* ProtocolBuffers.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
3F2B1CE619E2A6EC001A505E /* Unittest.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2B1CD819E2A6EC001A505E /* Unittest.pb.swift */; };
|
||||
3F2B1CEB19E2A6EC001A505E /* Unittest_import.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2B1CDD19E2A6EC001A505E /* Unittest_import.pb.swift */; };
|
||||
|
@ -140,7 +140,7 @@
|
|||
3F4106261A1A667800742090 /* UnitTesting(OSX).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UnitTesting(OSX).xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3F41062C1A1A667800742090 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3F4375BD19E44ADF007C23B1 /* TestUtilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = TestUtilities.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
|
||||
3F64475D19F040DE0030E56C /* Perfomance.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Perfomance.pb.swift; sourceTree = "<group>"; };
|
||||
3F64475D19F040DE0030E56C /* Performance.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Performance.pb.swift; sourceTree = "<group>"; };
|
||||
3F813FF31A1030000008F493 /* SizeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SizeTest.swift; sourceTree = "<group>"; };
|
||||
3F813FF51A12C0E90008F493 /* WireFormatTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WireFormatTests.swift; sourceTree = "<group>"; };
|
||||
3F85569919C71BCF003802F2 /* ProtocolBuffers.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ProtocolBuffers.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -304,7 +304,7 @@
|
|||
3F8556D019C71C05003802F2 /* SmallBlockInputStream.swift */,
|
||||
3F8556A819C71BCF003802F2 /* ProtocolBuffersTests.swift */,
|
||||
3F4375BD19E44ADF007C23B1 /* TestUtilities.swift */,
|
||||
3F64475D19F040DE0030E56C /* Perfomance.pb.swift */,
|
||||
3F64475D19F040DE0030E56C /* Performance.pb.swift */,
|
||||
3F9301381A095F2B00F7A20B /* GeneratedMessageTests.swift */,
|
||||
3FEFE99E1A12612E005DEAF3 /* MessageTests.swift */,
|
||||
3F813FF31A1030000008F493 /* SizeTest.swift */,
|
||||
|
@ -570,7 +570,7 @@
|
|||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3F0201C41A2C800800EE503C /* Perfomance.pb.swift in Sources */,
|
||||
3F0201C41A2C800800EE503C /* Performance.pb.swift in Sources */,
|
||||
3F4106441A1A677A00742090 /* Unittest.pb.swift in Sources */,
|
||||
3F4106451A1A677A00742090 /* Unittest_import.pb.swift in Sources */,
|
||||
3F4106461A1A677A00742090 /* Unittest_import_public.pb.swift in Sources */,
|
||||
|
@ -612,7 +612,7 @@
|
|||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3F0201C31A2C800700EE503C /* Perfomance.pb.swift in Sources */,
|
||||
3F0201C31A2C800700EE503C /* Performance.pb.swift in Sources */,
|
||||
3FC236AE1A18E3120006EC7D /* UnknowFieldsTests.swift in Sources */,
|
||||
3F2B1CEB19E2A6EC001A505E /* Unittest_import.pb.swift in Sources */,
|
||||
3FEFE99F1A12612E005DEAF3 /* MessageTests.swift in Sources */,
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
import Foundation
|
||||
import ProtocolBuffers
|
||||
|
||||
public struct ProtoPerfomanceRoot {
|
||||
public static var sharedInstance : ProtoPerfomanceRoot {
|
||||
public struct ProtoPerformanceRoot {
|
||||
public static var sharedInstance : ProtoPerformanceRoot {
|
||||
struct Static {
|
||||
static let instance : ProtoPerfomanceRoot = ProtoPerfomanceRoot()
|
||||
static let instance : ProtoPerformanceRoot = ProtoPerformanceRoot()
|
||||
}
|
||||
return Static.instance
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ final public class ProtoPerfomanceBatch : GeneratedMessage, GeneratedMessageProt
|
|||
return serialize_size
|
||||
}
|
||||
public class func parseFromData(data:NSData) -> ProtoPerfomanceBatch {
|
||||
return ProtoPerfomanceBatch.builder().mergeFromData(data, extensionRegistry:ProtoPerfomanceRoot.sharedInstance.extensionRegistry).build()
|
||||
return ProtoPerfomanceBatch.builder().mergeFromData(data, extensionRegistry:ProtoPerformanceRoot.sharedInstance.extensionRegistry).build()
|
||||
}
|
||||
public class func parseFromData(data:NSData, extensionRegistry:ExtensionRegistry) -> ProtoPerfomanceBatch {
|
||||
return ProtoPerfomanceBatch.builder().mergeFromData(data, extensionRegistry:extensionRegistry).build()
|
||||
|
@ -335,7 +335,7 @@ final public class ProtoPerfomance : GeneratedMessage, GeneratedMessageProtocol
|
|||
return serialize_size
|
||||
}
|
||||
public class func parseFromData(data:NSData) -> ProtoPerfomance {
|
||||
return ProtoPerfomance.builder().mergeFromData(data, extensionRegistry:ProtoPerfomanceRoot.sharedInstance.extensionRegistry).build()
|
||||
return ProtoPerfomance.builder().mergeFromData(data, extensionRegistry:ProtoPerformanceRoot.sharedInstance.extensionRegistry).build()
|
||||
}
|
||||
public class func parseFromData(data:NSData, extensionRegistry:ExtensionRegistry) -> ProtoPerfomance {
|
||||
return ProtoPerfomance.builder().mergeFromData(data, extensionRegistry:extensionRegistry).build()
|
|
@ -1,620 +0,0 @@
|
|||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// http://code.google.com/p/protobuf/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// The messages in this file describe the definitions found in .proto files.
|
||||
// A valid .proto file can be translated directly to a FileDescriptorProto
|
||||
// without any other information (e.g. without reading its imports).
|
||||
|
||||
|
||||
|
||||
package google.protobuf;
|
||||
option java_package = "com.google.protobuf";
|
||||
option java_outer_classname = "DescriptorProtos";
|
||||
|
||||
// descriptor.proto must be optimized for speed because reflection-based
|
||||
// algorithms don't work during bootstrapping.
|
||||
option optimize_for = SPEED;
|
||||
|
||||
// The protocol compiler can output a FileDescriptorSet containing the .proto
|
||||
// files it parses.
|
||||
message FileDescriptorSet {
|
||||
repeated FileDescriptorProto file = 1;
|
||||
}
|
||||
|
||||
// Describes a complete .proto file.
|
||||
message FileDescriptorProto {
|
||||
optional string name = 1; // file name, relative to root of source tree
|
||||
optional string package = 2; // e.g. "foo", "foo.bar", etc.
|
||||
|
||||
// Names of files imported by this file.
|
||||
repeated string dependency = 3;
|
||||
// Indexes of the public imported files in the dependency list above.
|
||||
repeated int32 public_dependency = 10;
|
||||
// Indexes of the weak imported files in the dependency list.
|
||||
// For Google-internal migration only. Do not use.
|
||||
repeated int32 weak_dependency = 11;
|
||||
|
||||
// All top-level definitions in this file.
|
||||
repeated DescriptorProto message_type = 4;
|
||||
repeated EnumDescriptorProto enum_type = 5;
|
||||
repeated ServiceDescriptorProto service = 6;
|
||||
repeated FieldDescriptorProto extension = 7;
|
||||
|
||||
optional FileOptions options = 8;
|
||||
|
||||
// This field contains optional information about the original source code.
|
||||
// You may safely remove this entire field whithout harming runtime
|
||||
// functionality of the descriptors -- the information is needed only by
|
||||
// development tools.
|
||||
optional SourceCodeInfo source_code_info = 9;
|
||||
}
|
||||
|
||||
// Describes a message type.
|
||||
message DescriptorProto {
|
||||
optional string name = 1;
|
||||
|
||||
repeated FieldDescriptorProto field = 2;
|
||||
repeated FieldDescriptorProto extension = 6;
|
||||
|
||||
repeated DescriptorProto nested_type = 3;
|
||||
repeated EnumDescriptorProto enum_type = 4;
|
||||
|
||||
message ExtensionRange {
|
||||
optional int32 start = 1;
|
||||
optional int32 end = 2;
|
||||
}
|
||||
repeated ExtensionRange extension_range = 5;
|
||||
|
||||
optional MessageOptions options = 7;
|
||||
}
|
||||
|
||||
// Describes a field within a message.
|
||||
message FieldDescriptorProto {
|
||||
enum Type {
|
||||
// 0 is reserved for errors.
|
||||
// Order is weird for historical reasons.
|
||||
TYPE_DOUBLE = 1;
|
||||
TYPE_FLOAT = 2;
|
||||
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
|
||||
// negative values are likely.
|
||||
TYPE_INT64 = 3;
|
||||
TYPE_UINT64 = 4;
|
||||
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
|
||||
// negative values are likely.
|
||||
TYPE_INT32 = 5;
|
||||
TYPE_FIXED64 = 6;
|
||||
TYPE_FIXED32 = 7;
|
||||
TYPE_BOOL = 8;
|
||||
TYPE_STRING = 9;
|
||||
TYPE_GROUP = 10; // Tag-delimited aggregate.
|
||||
TYPE_MESSAGE = 11; // Length-delimited aggregate.
|
||||
|
||||
// New in version 2.
|
||||
TYPE_BYTES = 12;
|
||||
TYPE_UINT32 = 13;
|
||||
TYPE_ENUM = 14;
|
||||
TYPE_SFIXED32 = 15;
|
||||
TYPE_SFIXED64 = 16;
|
||||
TYPE_SINT32 = 17; // Uses ZigZag encoding.
|
||||
TYPE_SINT64 = 18; // Uses ZigZag encoding.
|
||||
};
|
||||
|
||||
enum Label {
|
||||
// 0 is reserved for errors
|
||||
LABEL_OPTIONAL = 1;
|
||||
LABEL_REQUIRED = 2;
|
||||
LABEL_REPEATED = 3;
|
||||
// TODO(sanjay): Should we add LABEL_MAP?
|
||||
};
|
||||
|
||||
optional string name = 1;
|
||||
optional int32 number = 3;
|
||||
optional Label label = 4;
|
||||
|
||||
// If type_name is set, this need not be set. If both this and type_name
|
||||
// are set, this must be either TYPE_ENUM or TYPE_MESSAGE.
|
||||
optional Type type = 5;
|
||||
|
||||
// For message and enum types, this is the name of the type. If the name
|
||||
// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
|
||||
// rules are used to find the type (i.e. first the nested types within this
|
||||
// message are searched, then within the parent, on up to the root
|
||||
// namespace).
|
||||
optional string type_name = 6;
|
||||
|
||||
// For extensions, this is the name of the type being extended. It is
|
||||
// resolved in the same manner as type_name.
|
||||
optional string extendee = 2;
|
||||
|
||||
// For numeric types, contains the original text representation of the value.
|
||||
// For booleans, "true" or "false".
|
||||
// For strings, contains the default text contents (not escaped in any way).
|
||||
// For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
// TODO(kenton): Base-64 encode?
|
||||
optional string default_value = 7;
|
||||
|
||||
optional FieldOptions options = 8;
|
||||
}
|
||||
|
||||
// Describes an enum type.
|
||||
message EnumDescriptorProto {
|
||||
optional string name = 1;
|
||||
|
||||
repeated EnumValueDescriptorProto value = 2;
|
||||
|
||||
optional EnumOptions options = 3;
|
||||
}
|
||||
|
||||
// Describes a value within an enum.
|
||||
message EnumValueDescriptorProto {
|
||||
optional string name = 1;
|
||||
optional int32 number = 2;
|
||||
|
||||
optional EnumValueOptions options = 3;
|
||||
}
|
||||
|
||||
// Describes a service.
|
||||
message ServiceDescriptorProto {
|
||||
optional string name = 1;
|
||||
repeated MethodDescriptorProto method = 2;
|
||||
|
||||
optional ServiceOptions options = 3;
|
||||
}
|
||||
|
||||
// Describes a method of a service.
|
||||
message MethodDescriptorProto {
|
||||
optional string name = 1;
|
||||
|
||||
// Input and output type names. These are resolved in the same way as
|
||||
// FieldDescriptorProto.type_name, but must refer to a message type.
|
||||
optional string input_type = 2;
|
||||
optional string output_type = 3;
|
||||
|
||||
optional MethodOptions options = 4;
|
||||
}
|
||||
|
||||
|
||||
// ===================================================================
|
||||
// Options
|
||||
|
||||
// Each of the definitions above may have "options" attached. These are
|
||||
// just annotations which may cause code to be generated slightly differently
|
||||
// or may contain hints for code that manipulates protocol messages.
|
||||
//
|
||||
// Clients may define custom options as extensions of the *Options messages.
|
||||
// These extensions may not yet be known at parsing time, so the parser cannot
|
||||
// store the values in them. Instead it stores them in a field in the *Options
|
||||
// message called uninterpreted_option. This field must have the same name
|
||||
// across all *Options messages. We then use this field to populate the
|
||||
// extensions when we build a descriptor, at which point all protos have been
|
||||
// parsed and so all extensions are known.
|
||||
//
|
||||
// Extension numbers for custom options may be chosen as follows:
|
||||
// * For options which will only be used within a single application or
|
||||
// organization, or for experimental options, use field numbers 50000
|
||||
// through 99999. It is up to you to ensure that you do not use the
|
||||
// same number for multiple options.
|
||||
// * For options which will be published and used publicly by multiple
|
||||
// independent entities, e-mail protobuf-global-extension-registry@google.com
|
||||
// to reserve extension numbers. Simply provide your project name (e.g.
|
||||
// Object-C plugin) and your porject website (if available) -- there's no need
|
||||
// to explain how you intend to use them. Usually you only need one extension
|
||||
// number. You can declare multiple options with only one extension number by
|
||||
// putting them in a sub-message. See the Custom Options section of the docs
|
||||
// for examples:
|
||||
// http://code.google.com/apis/protocolbuffers/docs/proto.html#options
|
||||
// If this turns out to be popular, a web service will be set up
|
||||
// to automatically assign option numbers.
|
||||
|
||||
|
||||
message FileOptions {
|
||||
|
||||
// Sets the Java package where classes generated from this .proto will be
|
||||
// placed. By default, the proto package is used, but this is often
|
||||
// inappropriate because proto packages do not normally start with backwards
|
||||
// domain names.
|
||||
optional string java_package = 1;
|
||||
|
||||
|
||||
// If set, all the classes from the .proto file are wrapped in a single
|
||||
// outer class with the given name. This applies to both Proto1
|
||||
// (equivalent to the old "--one_java_file" option) and Proto2 (where
|
||||
// a .proto always translates to a single class, but you may want to
|
||||
// explicitly choose the class name).
|
||||
optional string java_outer_classname = 8;
|
||||
|
||||
// If set true, then the Java code generator will generate a separate .java
|
||||
// file for each top-level message, enum, and service defined in the .proto
|
||||
// file. Thus, these types will *not* be nested inside the outer class
|
||||
// named by java_outer_classname. However, the outer class will still be
|
||||
// generated to contain the file's getDescriptor() method as well as any
|
||||
// top-level extensions defined in the file.
|
||||
optional bool java_multiple_files = 10 [default=false];
|
||||
|
||||
// If set true, then the Java code generator will generate equals() and
|
||||
// hashCode() methods for all messages defined in the .proto file. This is
|
||||
// purely a speed optimization, as the AbstractMessage base class includes
|
||||
// reflection-based implementations of these methods.
|
||||
optional bool java_generate_equals_and_hash = 20 [default=false];
|
||||
|
||||
// Generated classes can be optimized for speed or code size.
|
||||
enum OptimizeMode {
|
||||
SPEED = 1; // Generate complete code for parsing, serialization,
|
||||
// etc.
|
||||
CODE_SIZE = 2; // Use ReflectionOps to implement these methods.
|
||||
LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime.
|
||||
}
|
||||
optional OptimizeMode optimize_for = 9 [default=SPEED];
|
||||
|
||||
// Sets the Go package where structs generated from this .proto will be
|
||||
// placed. There is no default.
|
||||
optional string go_package = 11;
|
||||
|
||||
|
||||
|
||||
// Should generic services be generated in each language? "Generic" services
|
||||
// are not specific to any particular RPC system. They are generated by the
|
||||
// main code generators in each language (without additional plugins).
|
||||
// Generic services were the only kind of service generation supported by
|
||||
// early versions of proto2.
|
||||
//
|
||||
// Generic services are now considered deprecated in favor of using plugins
|
||||
// that generate code specific to your particular RPC system. Therefore,
|
||||
// these default to false. Old code which depends on generic services should
|
||||
// explicitly set them to true.
|
||||
optional bool cc_generic_services = 16 [default=false];
|
||||
optional bool java_generic_services = 17 [default=false];
|
||||
optional bool py_generic_services = 18 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message MessageOptions {
|
||||
// Set true to use the old proto1 MessageSet wire format for extensions.
|
||||
// This is provided for backwards-compatibility with the MessageSet wire
|
||||
// format. You should not use this for any other reason: It's less
|
||||
// efficient, has fewer features, and is more complicated.
|
||||
//
|
||||
// The message must be defined exactly as follows:
|
||||
// message Foo {
|
||||
// option message_set_wire_format = true;
|
||||
// extensions 4 to max;
|
||||
// }
|
||||
// Note that the message cannot have any defined fields; MessageSets only
|
||||
// have extensions.
|
||||
//
|
||||
// All extensions of your type must be singular messages; e.g. they cannot
|
||||
// be int32s, enums, or repeated messages.
|
||||
//
|
||||
// Because this is an option, the above two restrictions are not enforced by
|
||||
// the protocol compiler.
|
||||
optional bool message_set_wire_format = 1 [default=false];
|
||||
|
||||
// Disables the generation of the standard "descriptor()" accessor, which can
|
||||
// conflict with a field of the same name. This is meant to make migration
|
||||
// from proto1 easier; new code should avoid fields named "descriptor".
|
||||
optional bool no_standard_descriptor_accessor = 2 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message FieldOptions {
|
||||
// The ctype option instructs the C++ code generator to use a different
|
||||
// representation of the field than it normally would. See the specific
|
||||
// options below. This option is not yet implemented in the open source
|
||||
// release -- sorry, we'll try to include it in a future version!
|
||||
optional CType ctype = 1 [default = STRING];
|
||||
enum CType {
|
||||
// Default mode.
|
||||
STRING = 0;
|
||||
|
||||
CORD = 1;
|
||||
|
||||
STRING_PIECE = 2;
|
||||
}
|
||||
// The packed option can be enabled for repeated primitive fields to enable
|
||||
// a more efficient representation on the wire. Rather than repeatedly
|
||||
// writing the tag and type for each element, the entire array is encoded as
|
||||
// a single length-delimited blob.
|
||||
optional bool packed = 2;
|
||||
|
||||
|
||||
|
||||
// Should this field be parsed lazily? Lazy applies only to message-type
|
||||
// fields. It means that when the outer message is initially parsed, the
|
||||
// inner message's contents will not be parsed but instead stored in encoded
|
||||
// form. The inner message will actually be parsed when it is first accessed.
|
||||
//
|
||||
// This is only a hint. Implementations are free to choose whether to use
|
||||
// eager or lazy parsing regardless of the value of this option. However,
|
||||
// setting this option true suggests that the protocol author believes that
|
||||
// using lazy parsing on this field is worth the additional bookkeeping
|
||||
// overhead typically needed to implement it.
|
||||
//
|
||||
// This option does not affect the public interface of any generated code;
|
||||
// all method signatures remain the same. Furthermore, thread-safety of the
|
||||
// interface is not affected by this option; const methods remain safe to
|
||||
// call from multiple threads concurrently, while non-const methods continue
|
||||
// to require exclusive access.
|
||||
//
|
||||
//
|
||||
// Note that implementations may choose not to check required fields within
|
||||
// a lazy sub-message. That is, calling IsInitialized() on the outher message
|
||||
// may return true even if the inner message has missing required fields.
|
||||
// This is necessary because otherwise the inner message would have to be
|
||||
// parsed in order to perform the check, defeating the purpose of lazy
|
||||
// parsing. An implementation which chooses not to check required fields
|
||||
// must be consistent about it. That is, for any particular sub-message, the
|
||||
// implementation must either *always* check its required fields, or *never*
|
||||
// check its required fields, regardless of whether or not the message has
|
||||
// been parsed.
|
||||
optional bool lazy = 5 [default=false];
|
||||
|
||||
// Is this field deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for accessors, or it will be completely ignored; in the very least, this
|
||||
// is a formalization for deprecating fields.
|
||||
optional bool deprecated = 3 [default=false];
|
||||
|
||||
// EXPERIMENTAL. DO NOT USE.
|
||||
// For "map" fields, the name of the field in the enclosed type that
|
||||
// is the key for this map. For example, suppose we have:
|
||||
// message Item {
|
||||
// required string name = 1;
|
||||
// required string value = 2;
|
||||
// }
|
||||
// message Config {
|
||||
// repeated Item items = 1 [experimental_map_key="name"];
|
||||
// }
|
||||
// In this situation, the map key for Item will be set to "name".
|
||||
// TODO: Fully-implement this, then remove the "experimental_" prefix.
|
||||
optional string experimental_map_key = 9;
|
||||
|
||||
// For Google-internal migration only. Do not use.
|
||||
optional bool weak = 10 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message EnumOptions {
|
||||
|
||||
// Set this option to false to disallow mapping different tag names to a same
|
||||
// value.
|
||||
optional bool allow_alias = 2 [default=true];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message EnumValueOptions {
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message ServiceOptions {
|
||||
|
||||
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC
|
||||
// framework. We apologize for hoarding these numbers to ourselves, but
|
||||
// we were already using them long before we decided to release Protocol
|
||||
// Buffers.
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
message MethodOptions {
|
||||
|
||||
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC
|
||||
// framework. We apologize for hoarding these numbers to ourselves, but
|
||||
// we were already using them long before we decided to release Protocol
|
||||
// Buffers.
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above.
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
|
||||
// A message representing a option the parser does not recognize. This only
|
||||
// appears in options protos created by the compiler::Parser class.
|
||||
// DescriptorPool resolves these when building Descriptor objects. Therefore,
|
||||
// options protos in descriptor objects (e.g. returned by Descriptor::options(),
|
||||
// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
|
||||
// in them.
|
||||
message UninterpretedOption {
|
||||
// The name of the uninterpreted option. Each string represents a segment in
|
||||
// a dot-separated name. is_extension is true iff a segment represents an
|
||||
// extension (denoted with parentheses in options specs in .proto files).
|
||||
// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
|
||||
// "foo.(bar.baz).qux".
|
||||
message NamePart {
|
||||
required string name_part = 1;
|
||||
required bool is_extension = 2;
|
||||
}
|
||||
repeated NamePart name = 2;
|
||||
|
||||
// The value of the uninterpreted option, in whatever type the tokenizer
|
||||
// identified it as during parsing. Exactly one of these should be set.
|
||||
optional string identifier_value = 3;
|
||||
optional uint64 positive_int_value = 4;
|
||||
optional int64 negative_int_value = 5;
|
||||
optional double double_value = 6;
|
||||
optional bytes string_value = 7;
|
||||
optional string aggregate_value = 8;
|
||||
}
|
||||
|
||||
// ===================================================================
|
||||
// Optional source code info
|
||||
|
||||
// Encapsulates information about the original source file from which a
|
||||
// FileDescriptorProto was generated.
|
||||
message SourceCodeInfo {
|
||||
// A Location identifies a piece of source code in a .proto file which
|
||||
// corresponds to a particular definition. This information is intended
|
||||
// to be useful to IDEs, code indexers, documentation generators, and similar
|
||||
// tools.
|
||||
//
|
||||
// For example, say we have a file like:
|
||||
// message Foo {
|
||||
// optional string foo = 1;
|
||||
// }
|
||||
// Let's look at just the field definition:
|
||||
// optional string foo = 1;
|
||||
// ^ ^^ ^^ ^ ^^^
|
||||
// a bc de f ghi
|
||||
// We have the following locations:
|
||||
// span path represents
|
||||
// [a,i) [ 4, 0, 2, 0 ] The whole field definition.
|
||||
// [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
|
||||
// [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
|
||||
// [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
|
||||
// [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
|
||||
//
|
||||
// Notes:
|
||||
// - A location may refer to a repeated field itself (i.e. not to any
|
||||
// particular index within it). This is used whenever a set of elements are
|
||||
// logically enclosed in a single code segment. For example, an entire
|
||||
// extend block (possibly containing multiple extension definitions) will
|
||||
// have an outer location whose path refers to the "extensions" repeated
|
||||
// field without an index.
|
||||
// - Multiple locations may have the same path. This happens when a single
|
||||
// logical declaration is spread out across multiple places. The most
|
||||
// obvious example is the "extend" block again -- there may be multiple
|
||||
// extend blocks in the same scope, each of which will have the same path.
|
||||
// - A location's span is not always a subset of its parent's span. For
|
||||
// example, the "extendee" of an extension declaration appears at the
|
||||
// beginning of the "extend" block and is shared by all extensions within
|
||||
// the block.
|
||||
// - Just because a location's span is a subset of some other location's span
|
||||
// does not mean that it is a descendent. For example, a "group" defines
|
||||
// both a type and a field in a single declaration. Thus, the locations
|
||||
// corresponding to the type and field and their components will overlap.
|
||||
// - Code which tries to interpret locations should probably be designed to
|
||||
// ignore those that it doesn't understand, as more types of locations could
|
||||
// be recorded in the future.
|
||||
repeated Location location = 1;
|
||||
message Location {
|
||||
// Identifies which part of the FileDescriptorProto was defined at this
|
||||
// location.
|
||||
//
|
||||
// Each element is a field number or an index. They form a path from
|
||||
// the root FileDescriptorProto to the place where the definition. For
|
||||
// example, this path:
|
||||
// [ 4, 3, 2, 7, 1 ]
|
||||
// refers to:
|
||||
// file.message_type(3) // 4, 3
|
||||
// .field(7) // 2, 7
|
||||
// .name() // 1
|
||||
// This is because FileDescriptorProto.message_type has field number 4:
|
||||
// repeated DescriptorProto message_type = 4;
|
||||
// and DescriptorProto.field has field number 2:
|
||||
// repeated FieldDescriptorProto field = 2;
|
||||
// and FieldDescriptorProto.name has field number 1:
|
||||
// optional string name = 1;
|
||||
//
|
||||
// Thus, the above path gives the location of a field name. If we removed
|
||||
// the last element:
|
||||
// [ 4, 3, 2, 7 ]
|
||||
// this path refers to the whole field declaration (from the beginning
|
||||
// of the label to the terminating semicolon).
|
||||
repeated int32 path = 1 [packed=true];
|
||||
|
||||
// Always has exactly three or four elements: start line, start column,
|
||||
// end line (optional, otherwise assumed same as start line), end column.
|
||||
// These are packed into a single field for efficiency. Note that line
|
||||
// and column numbers are zero-based -- typically you will want to add
|
||||
// 1 to each before displaying to a user.
|
||||
repeated int32 span = 2 [packed=true];
|
||||
|
||||
// If this SourceCodeInfo represents a complete declaration, these are any
|
||||
// comments appearing before and after the declaration which appear to be
|
||||
// attached to the declaration.
|
||||
//
|
||||
// A series of line comments appearing on consecutive lines, with no other
|
||||
// tokens appearing on those lines, will be treated as a single comment.
|
||||
//
|
||||
// Only the comment content is provided; comment markers (e.g. //) are
|
||||
// stripped out. For block comments, leading whitespace and an asterisk
|
||||
// will be stripped from the beginning of each line other than the first.
|
||||
// Newlines are included in the output.
|
||||
//
|
||||
// Examples:
|
||||
//
|
||||
// optional int32 foo = 1; // Comment attached to foo.
|
||||
// // Comment attached to bar.
|
||||
// optional int32 bar = 2;
|
||||
//
|
||||
// optional string baz = 3;
|
||||
// // Comment attached to baz.
|
||||
// // Another line attached to baz.
|
||||
//
|
||||
// // Comment attached to qux.
|
||||
// //
|
||||
// // Another line attached to qux.
|
||||
// optional double qux = 4;
|
||||
//
|
||||
// optional string corge = 5;
|
||||
// /* Block comment attached
|
||||
// * to corge. Leading asterisks
|
||||
// * will be removed. */
|
||||
// /* Block comment attached to
|
||||
// * grault. */
|
||||
// optional int32 grault = 6;
|
||||
optional string leading_comments = 3;
|
||||
optional string trailing_comments = 4;
|
||||
}
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
// Protocol Buffers for Swift
|
||||
//
|
||||
// Copyright 2014 AlexeyXo.
|
||||
// Copyright 2008 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
package google.protobuf;
|
||||
|
||||
enum AccessControl {
|
||||
InternalEntities = 0;
|
||||
PublicEntities = 1;
|
||||
}
|
||||
message SwiftFileOptions {
|
||||
|
||||
optional string class_prefix = 1;
|
||||
optional AccessControl entities_access_control = 2 [default = InternalEntities];
|
||||
optional bool compile_for_framework = 3 [default = true];
|
||||
}
|
||||
|
||||
extend google.protobuf.FileOptions {
|
||||
optional SwiftFileOptions swift_file_options = 5092014;
|
||||
}
|
||||
|
||||
option (.google.protobuf.swift_file_options).compile_for_framework = false;
|
||||
option (.google.protobuf.swift_file_options).entities_access_control = PublicEntities;
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,343 +0,0 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
|
||||
import Foundation
|
||||
public var SwiftDescriptorRootswiftFileOptions:ConcreateExtensionField {
|
||||
get {
|
||||
return SwiftDescriptorRoot.sharedInstance.SwiftDescriptorRootswiftFileOptionsStatic
|
||||
}
|
||||
}
|
||||
public struct SwiftDescriptorRoot {
|
||||
public static var sharedInstance : SwiftDescriptorRoot {
|
||||
struct Static {
|
||||
static let instance : SwiftDescriptorRoot = SwiftDescriptorRoot()
|
||||
}
|
||||
return Static.instance
|
||||
}
|
||||
var SwiftDescriptorRootswiftFileOptionsStatic:ConcreateExtensionField
|
||||
public var extensionRegistry:ExtensionRegistry
|
||||
|
||||
init() {
|
||||
SwiftDescriptorRootswiftFileOptionsStatic = ConcreateExtensionField(type:ExtensionType.ExtensionTypeMessage, extendedClass:PBFileOptions.self, fieldNumber: 5092014, defaultValue:SwiftFileOptions(), messageOrGroupClass:SwiftFileOptions.self, isRepeated:false, isPacked:false, isMessageSetWireFormat:false)
|
||||
extensionRegistry = ExtensionRegistry()
|
||||
registerAllExtensions(extensionRegistry)
|
||||
PBDescriptorRoot.sharedInstance.registerAllExtensions(extensionRegistry)
|
||||
}
|
||||
public func registerAllExtensions(registry:ExtensionRegistry) {
|
||||
registry.addExtension(SwiftDescriptorRootswiftFileOptionsStatic)
|
||||
}
|
||||
public static func swiftFileOptions() -> ConcreateExtensionField {
|
||||
return SwiftDescriptorRoot.sharedInstance.SwiftDescriptorRootswiftFileOptionsStatic
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Enum type declaration start
|
||||
|
||||
public enum AccessControl:Int32 {
|
||||
case InternalEntities = 0
|
||||
case PublicEntities = 1
|
||||
|
||||
public static func IsValidValue(value:Int32) ->Bool {
|
||||
if let check = AccessControl(rawValue:value) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Enum type declaration end
|
||||
|
||||
public func == (lhs: SwiftFileOptions, rhs: SwiftFileOptions) -> Bool {
|
||||
if (lhs === rhs) {
|
||||
return true
|
||||
}
|
||||
var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
|
||||
fieldCheck = fieldCheck && (lhs.hasClassPrefix == rhs.hasClassPrefix) && (!lhs.hasClassPrefix || lhs.classPrefix == rhs.classPrefix)
|
||||
fieldCheck = fieldCheck && (lhs.hasEntitiesAccessControl == rhs.hasEntitiesAccessControl) && (!lhs.hasEntitiesAccessControl || lhs.entitiesAccessControl == rhs.entitiesAccessControl)
|
||||
fieldCheck = fieldCheck && (lhs.hasCompileForFramework == rhs.hasCompileForFramework) && (!lhs.hasCompileForFramework || lhs.compileForFramework == rhs.compileForFramework)
|
||||
return (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
|
||||
}
|
||||
|
||||
final public class SwiftFileOptions : GeneratedMessage, GeneratedMessageProtocol {
|
||||
public private(set) var hasClassPrefix:Bool = false
|
||||
public private(set) var classPrefix:String = ""
|
||||
|
||||
public private(set) var entitiesAccessControl:AccessControl = AccessControl.InternalEntities
|
||||
public private(set) var hasEntitiesAccessControl:Bool = false
|
||||
public private(set) var hasCompileForFramework:Bool = false
|
||||
public private(set) var compileForFramework:Bool = true
|
||||
|
||||
required public init() {
|
||||
super.init()
|
||||
}
|
||||
override public func isInitialized() -> Bool {
|
||||
return true
|
||||
}
|
||||
override public func writeToCodedOutputStream(output:CodedOutputStream) {
|
||||
if hasClassPrefix {
|
||||
output.writeString(1, value:classPrefix)
|
||||
}
|
||||
if hasEntitiesAccessControl {
|
||||
output.writeEnum(2, value:entitiesAccessControl.rawValue)
|
||||
}
|
||||
if hasCompileForFramework {
|
||||
output.writeBool(3, value:compileForFramework)
|
||||
}
|
||||
unknownFields.writeToCodedOutputStream(output)
|
||||
}
|
||||
override public func serializedSize() -> Int32 {
|
||||
var serialize_size:Int32 = memoizedSerializedSize
|
||||
if serialize_size != -1 {
|
||||
return serialize_size
|
||||
}
|
||||
|
||||
serialize_size = 0
|
||||
if hasClassPrefix {
|
||||
serialize_size += classPrefix.computeStringSize(1)
|
||||
}
|
||||
if (hasEntitiesAccessControl) {
|
||||
serialize_size += entitiesAccessControl.rawValue.computeEnumSize(2)
|
||||
}
|
||||
if hasCompileForFramework {
|
||||
serialize_size += compileForFramework.computeBoolSize(3)
|
||||
}
|
||||
serialize_size += unknownFields.serializedSize()
|
||||
memoizedSerializedSize = serialize_size
|
||||
return serialize_size
|
||||
}
|
||||
public class func parseFromData(data:NSData) -> SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromData(data, extensionRegistry:SwiftDescriptorRoot.sharedInstance.extensionRegistry).build()
|
||||
}
|
||||
public class func parseFromData(data:NSData, extensionRegistry:ExtensionRegistry) -> SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromData(data, extensionRegistry:extensionRegistry).build()
|
||||
}
|
||||
public class func parseFromInputStream(input:NSInputStream) -> SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromInputStream(input).build()
|
||||
}
|
||||
public class func parseFromInputStream(input:NSInputStream, extensionRegistry:ExtensionRegistry) ->SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromInputStream(input, extensionRegistry:extensionRegistry).build()
|
||||
}
|
||||
public class func parseFromCodedInputStream(input:CodedInputStream) -> SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromCodedInputStream(input).build()
|
||||
}
|
||||
public class func parseFromCodedInputStream(input:CodedInputStream, extensionRegistry:ExtensionRegistry) -> SwiftFileOptions {
|
||||
return SwiftFileOptions.builder().mergeFromCodedInputStream(input, extensionRegistry:extensionRegistry).build()
|
||||
}
|
||||
public class func builder() -> SwiftFileOptionsBuilder {
|
||||
return SwiftFileOptions.classBuilder() as SwiftFileOptionsBuilder
|
||||
}
|
||||
public func builder() -> SwiftFileOptionsBuilder {
|
||||
return classBuilder() as SwiftFileOptionsBuilder
|
||||
}
|
||||
public override class func classBuilder() -> MessageBuilder {
|
||||
return SwiftFileOptionsBuilder()
|
||||
}
|
||||
public override func classBuilder() -> MessageBuilder {
|
||||
return SwiftFileOptions.builder()
|
||||
}
|
||||
public func toBuilder() -> SwiftFileOptionsBuilder {
|
||||
return SwiftFileOptions.builderWithPrototype(self)
|
||||
}
|
||||
public class func builderWithPrototype(prototype:SwiftFileOptions) -> SwiftFileOptionsBuilder {
|
||||
return SwiftFileOptions.builder().mergeFrom(prototype)
|
||||
}
|
||||
override public func writeDescriptionTo(inout output:String, indent:String) {
|
||||
if hasClassPrefix {
|
||||
output += "\(indent) classPrefix: \(classPrefix) \n"
|
||||
}
|
||||
if (hasEntitiesAccessControl) {
|
||||
output += "\(indent) entitiesAccessControl: \(entitiesAccessControl.rawValue)\n"
|
||||
}
|
||||
if hasCompileForFramework {
|
||||
output += "\(indent) compileForFramework: \(compileForFramework) \n"
|
||||
}
|
||||
unknownFields.writeDescriptionTo(&output, indent:indent)
|
||||
}
|
||||
override public var hashValue:Int {
|
||||
get {
|
||||
var hashCode:Int = 7
|
||||
if hasClassPrefix {
|
||||
hashCode = (hashCode &* 31) &+ classPrefix.hashValue
|
||||
}
|
||||
if hasEntitiesAccessControl {
|
||||
hashCode = (hashCode &* 31) &+ Int(entitiesAccessControl.rawValue)
|
||||
}
|
||||
if hasCompileForFramework {
|
||||
hashCode = (hashCode &* 31) &+ compileForFramework.hashValue
|
||||
}
|
||||
hashCode = (hashCode &* 31) &+ unknownFields.hashValue
|
||||
return hashCode
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Meta information declaration start
|
||||
|
||||
override public class func className() -> String {
|
||||
return "SwiftFileOptions"
|
||||
}
|
||||
override public func className() -> String {
|
||||
return "SwiftFileOptions"
|
||||
}
|
||||
override public func classMetaType() -> GeneratedMessage.Type {
|
||||
return SwiftFileOptions.self
|
||||
}
|
||||
|
||||
|
||||
//Meta information declaration end
|
||||
|
||||
}
|
||||
|
||||
final public class SwiftFileOptionsBuilder : GeneratedMessageBuilder {
|
||||
private var builderResult:SwiftFileOptions
|
||||
|
||||
required override public init () {
|
||||
builderResult = SwiftFileOptions()
|
||||
super.init()
|
||||
}
|
||||
public var hasClassPrefix:Bool {
|
||||
get {
|
||||
return builderResult.hasClassPrefix
|
||||
}
|
||||
}
|
||||
public var classPrefix:String {
|
||||
get {
|
||||
return builderResult.classPrefix
|
||||
}
|
||||
set (value) {
|
||||
builderResult.hasClassPrefix = true
|
||||
builderResult.classPrefix = value
|
||||
}
|
||||
}
|
||||
func setClassPrefix(value:String)-> SwiftFileOptionsBuilder {
|
||||
self.classPrefix = value
|
||||
return self
|
||||
}
|
||||
public func clearClassPrefix() -> SwiftFileOptionsBuilder{
|
||||
builderResult.hasClassPrefix = false
|
||||
builderResult.classPrefix = ""
|
||||
return self
|
||||
}
|
||||
public var hasEntitiesAccessControl:Bool{
|
||||
get {
|
||||
return builderResult.hasEntitiesAccessControl
|
||||
}
|
||||
}
|
||||
public var entitiesAccessControl:AccessControl {
|
||||
get {
|
||||
return builderResult.entitiesAccessControl
|
||||
}
|
||||
set (value) {
|
||||
builderResult.hasEntitiesAccessControl = true
|
||||
builderResult.entitiesAccessControl = value
|
||||
}
|
||||
}
|
||||
func setEntitiesAccessControl(value:AccessControl)-> SwiftFileOptionsBuilder {
|
||||
self.entitiesAccessControl = value
|
||||
return self
|
||||
}
|
||||
public func clearEntitiesAccessControl() -> SwiftFileOptionsBuilder {
|
||||
builderResult.hasEntitiesAccessControl = false
|
||||
builderResult.entitiesAccessControl = .InternalEntities
|
||||
return self
|
||||
}
|
||||
public var hasCompileForFramework:Bool {
|
||||
get {
|
||||
return builderResult.hasCompileForFramework
|
||||
}
|
||||
}
|
||||
public var compileForFramework:Bool {
|
||||
get {
|
||||
return builderResult.compileForFramework
|
||||
}
|
||||
set (value) {
|
||||
builderResult.hasCompileForFramework = true
|
||||
builderResult.compileForFramework = value
|
||||
}
|
||||
}
|
||||
func setCompileForFramework(value:Bool)-> SwiftFileOptionsBuilder {
|
||||
self.compileForFramework = value
|
||||
return self
|
||||
}
|
||||
public func clearCompileForFramework() -> SwiftFileOptionsBuilder{
|
||||
builderResult.hasCompileForFramework = false
|
||||
builderResult.compileForFramework = true
|
||||
return self
|
||||
}
|
||||
override public var internalGetResult:GeneratedMessage {
|
||||
get {
|
||||
return builderResult
|
||||
}
|
||||
}
|
||||
public override func clear() -> SwiftFileOptionsBuilder {
|
||||
builderResult = SwiftFileOptions()
|
||||
return self
|
||||
}
|
||||
public override func clone() -> SwiftFileOptionsBuilder {
|
||||
return SwiftFileOptions.builderWithPrototype(builderResult)
|
||||
}
|
||||
public override func build() -> SwiftFileOptions {
|
||||
checkInitialized()
|
||||
return buildPartial()
|
||||
}
|
||||
public func buildPartial() -> SwiftFileOptions {
|
||||
var returnMe:SwiftFileOptions = builderResult
|
||||
return returnMe
|
||||
}
|
||||
public func mergeFrom(other:SwiftFileOptions) -> SwiftFileOptionsBuilder {
|
||||
if (other == SwiftFileOptions()) {
|
||||
return self
|
||||
}
|
||||
if other.hasClassPrefix {
|
||||
classPrefix = other.classPrefix
|
||||
}
|
||||
if other.hasEntitiesAccessControl {
|
||||
entitiesAccessControl = other.entitiesAccessControl
|
||||
}
|
||||
if other.hasCompileForFramework {
|
||||
compileForFramework = other.compileForFramework
|
||||
}
|
||||
mergeUnknownFields(other.unknownFields)
|
||||
return self
|
||||
}
|
||||
public override func mergeFromCodedInputStream(input:CodedInputStream) ->SwiftFileOptionsBuilder {
|
||||
return mergeFromCodedInputStream(input, extensionRegistry:ExtensionRegistry())
|
||||
}
|
||||
public override func mergeFromCodedInputStream(input:CodedInputStream, extensionRegistry:ExtensionRegistry) -> SwiftFileOptionsBuilder {
|
||||
var unknownFieldsBuilder:UnknownFieldSetBuilder = UnknownFieldSet.builderWithUnknownFields(self.unknownFields)
|
||||
while (true) {
|
||||
var tag = input.readTag()
|
||||
switch tag {
|
||||
case 0:
|
||||
self.unknownFields = unknownFieldsBuilder.build()
|
||||
return self
|
||||
|
||||
case 10 :
|
||||
classPrefix = input.readString()
|
||||
|
||||
case 16 :
|
||||
let valueIntentitiesAccessControl = input.readEnum()
|
||||
if let enumsentitiesAccessControl = AccessControl(rawValue:valueIntentitiesAccessControl){
|
||||
entitiesAccessControl = enumsentitiesAccessControl
|
||||
} else {
|
||||
unknownFieldsBuilder.mergeVarintField(2, value:Int64(valueIntentitiesAccessControl))
|
||||
}
|
||||
|
||||
case 24 :
|
||||
compileForFramework = input.readBool()
|
||||
|
||||
default:
|
||||
if (!parseUnknownField(input,unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:tag)) {
|
||||
unknownFields = unknownFieldsBuilder.build()
|
||||
return self
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// http://code.google.com/p/protobuf/
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
|
@ -96,6 +96,8 @@ message DescriptorProto {
|
|||
}
|
||||
repeated ExtensionRange extension_range = 5;
|
||||
|
||||
repeated OneofDescriptorProto oneof_decl = 8;
|
||||
|
||||
optional MessageOptions options = 7;
|
||||
}
|
||||
|
||||
|
@ -143,7 +145,7 @@ message FieldDescriptorProto {
|
|||
optional Label label = 4;
|
||||
|
||||
// If type_name is set, this need not be set. If both this and type_name
|
||||
// are set, this must be either TYPE_ENUM or TYPE_MESSAGE.
|
||||
// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
|
||||
optional Type type = 5;
|
||||
|
||||
// For message and enum types, this is the name of the type. If the name
|
||||
|
@ -164,9 +166,20 @@ message FieldDescriptorProto {
|
|||
// TODO(kenton): Base-64 encode?
|
||||
optional string default_value = 7;
|
||||
|
||||
// If set, gives the index of a oneof in the containing type's oneof_decl
|
||||
// list. This field is a member of that oneof. Extensions of a oneof should
|
||||
// not set this since the oneof to which they belong will be inferred based
|
||||
// on the extension range containing the extension's field number.
|
||||
optional int32 oneof_index = 9;
|
||||
|
||||
optional FieldOptions options = 8;
|
||||
}
|
||||
|
||||
// Describes a oneof.
|
||||
message OneofDescriptorProto {
|
||||
optional string name = 1;
|
||||
}
|
||||
|
||||
// Describes an enum type.
|
||||
message EnumDescriptorProto {
|
||||
optional string name = 1;
|
||||
|
@ -233,7 +246,7 @@ message MethodDescriptorProto {
|
|||
// number. You can declare multiple options with only one extension number by
|
||||
// putting them in a sub-message. See the Custom Options section of the docs
|
||||
// for examples:
|
||||
// http://code.google.com/apis/protocolbuffers/docs/proto.html#options
|
||||
// https://developers.google.com/protocol-buffers/docs/proto#options
|
||||
// If this turns out to be popular, a web service will be set up
|
||||
// to automatically assign option numbers.
|
||||
|
||||
|
@ -263,11 +276,26 @@ message FileOptions {
|
|||
optional bool java_multiple_files = 10 [default=false];
|
||||
|
||||
// If set true, then the Java code generator will generate equals() and
|
||||
// hashCode() methods for all messages defined in the .proto file. This is
|
||||
// purely a speed optimization, as the AbstractMessage base class includes
|
||||
// reflection-based implementations of these methods.
|
||||
// hashCode() methods for all messages defined in the .proto file.
|
||||
// - In the full runtime, this is purely a speed optimization, as the
|
||||
// AbstractMessage base class includes reflection-based implementations of
|
||||
// these methods.
|
||||
//- In the lite runtime, setting this option changes the semantics of
|
||||
// equals() and hashCode() to more closely match those of the full runtime;
|
||||
// the generated methods compute their results based on field values rather
|
||||
// than object identity. (Implementations should not assume that hashcodes
|
||||
// will be consistent across runtimes or versions of the protocol compiler.)
|
||||
optional bool java_generate_equals_and_hash = 20 [default=false];
|
||||
|
||||
// If set true, then the Java2 code generator will generate code that
|
||||
// throws an exception whenever an attempt is made to assign a non-UTF-8
|
||||
// byte sequence to a string field.
|
||||
// Message reflection will do the same.
|
||||
// However, an extension field still accepts non-UTF-8 byte sequences.
|
||||
// This option has no effect on when used with the lite runtime.
|
||||
optional bool java_string_check_utf8 = 27 [default=false];
|
||||
|
||||
|
||||
// Generated classes can be optimized for speed or code size.
|
||||
enum OptimizeMode {
|
||||
SPEED = 1; // Generate complete code for parsing, serialization,
|
||||
|
@ -297,6 +325,13 @@ message FileOptions {
|
|||
optional bool java_generic_services = 17 [default=false];
|
||||
optional bool py_generic_services = 18 [default=false];
|
||||
|
||||
// Is this file deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for everything in the file, or it will be completely ignored; in the very
|
||||
// least, this is a formalization for deprecating files.
|
||||
optional bool deprecated = 23 [default=false];
|
||||
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
@ -330,6 +365,12 @@ message MessageOptions {
|
|||
// from proto1 easier; new code should avoid fields named "descriptor".
|
||||
optional bool no_standard_descriptor_accessor = 2 [default=false];
|
||||
|
||||
// Is this message deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for the message, or it will be completely ignored; in the very least,
|
||||
// this is a formalization for deprecating messages.
|
||||
optional bool deprecated = 3 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
@ -412,6 +453,8 @@ message FieldOptions {
|
|||
// For Google-internal migration only. Do not use.
|
||||
optional bool weak = 10 [default=false];
|
||||
|
||||
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
@ -421,9 +464,15 @@ message FieldOptions {
|
|||
|
||||
message EnumOptions {
|
||||
|
||||
// Set this option to false to disallow mapping different tag names to a same
|
||||
// Set this option to true to allow mapping different tag names to the same
|
||||
// value.
|
||||
optional bool allow_alias = 2 [default=true];
|
||||
optional bool allow_alias = 2;
|
||||
|
||||
// Is this enum deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for the enum, or it will be completely ignored; in the very least, this
|
||||
// is a formalization for deprecating enums.
|
||||
optional bool deprecated = 3 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
@ -433,6 +482,12 @@ message EnumOptions {
|
|||
}
|
||||
|
||||
message EnumValueOptions {
|
||||
// Is this enum value deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for the enum value, or it will be completely ignored; in the very least,
|
||||
// this is a formalization for deprecating enum values.
|
||||
optional bool deprecated = 1 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
@ -447,6 +502,12 @@ message ServiceOptions {
|
|||
// we were already using them long before we decided to release Protocol
|
||||
// Buffers.
|
||||
|
||||
// Is this service deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for the service, or it will be completely ignored; in the very least,
|
||||
// this is a formalization for deprecating services.
|
||||
optional bool deprecated = 33 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
@ -461,6 +522,12 @@ message MethodOptions {
|
|||
// we were already using them long before we decided to release Protocol
|
||||
// Buffers.
|
||||
|
||||
// Is this method deprecated?
|
||||
// Depending on the target platform, this can emit Deprecated annotations
|
||||
// for the method, or it will be completely ignored; in the very least,
|
||||
// this is a formalization for deprecating methods.
|
||||
optional bool deprecated = 33 [default=false];
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above.
|
||||
repeated UninterpretedOption uninterpreted_option = 999;
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
scripts/makeTests.sh && cd .. && cd ..;
|
Loading…
Reference in New Issue