Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: third_party/protobuf/php/src/Google/Protobuf/Internal/EnumBuilderContext.php

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #region Copyright notice and license 1 <?php
2
2 // Protocol Buffers - Google's data interchange format 3 // Protocol Buffers - Google's data interchange format
3 // Copyright 2008 Google Inc. All rights reserved. 4 // Copyright 2008 Google Inc. All rights reserved.
4 // https://developers.google.com/protocol-buffers/ 5 // https://developers.google.com/protocol-buffers/
5 // 6 //
6 // Redistribution and use in source and binary forms, with or without 7 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are 8 // modification, are permitted provided that the following conditions are
8 // met: 9 // met:
9 // 10 //
10 // * Redistributions of source code must retain the above copyright 11 // * Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer. 12 // notice, this list of conditions and the following disclaimer.
12 // * Redistributions in binary form must reproduce the above 13 // * Redistributions in binary form must reproduce the above
13 // copyright notice, this list of conditions and the following disclaimer 14 // copyright notice, this list of conditions and the following disclaimer
14 // in the documentation and/or other materials provided with the 15 // in the documentation and/or other materials provided with the
15 // distribution. 16 // distribution.
16 // * Neither the name of Google Inc. nor the names of its 17 // * Neither the name of Google Inc. nor the names of its
17 // contributors may be used to endorse or promote products derived from 18 // contributors may be used to endorse or promote products derived from
18 // this software without specific prior written permission. 19 // this software without specific prior written permission.
19 // 20 //
20 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #endregion
32 32
33 using System; 33 namespace Google\Protobuf\Internal;
34 using System.Text.RegularExpressions;
35 34
36 namespace Google.Protobuf 35 use Google\Protobuf\Internal\EnumDescriptor;
36 use Google\Protobuf\Internal\EnumValueDescriptor;
37
38 class EnumBuilderContext
37 { 39 {
38 /// <summary> 40
39 /// Class containing helpful workarounds for various platform compatibility 41 private $descriptor;
40 /// </summary> 42 private $pool;
41 internal static class FrameworkPortability 43
44 public function __construct($full_name, $klass, $pool)
42 { 45 {
43 // The value of RegexOptions.Compiled is 8. We can test for the presence at 46 $this->descriptor = new EnumDescriptor();
44 // execution time using Enum.IsDefined, so a single build will do the ri ght thing 47 $this->descriptor->setFullName($full_name);
45 // on each platform. (RegexOptions.Compiled isn't supported by PCLs.) 48 $this->descriptor->setClass($klass);
46 internal static readonly RegexOptions CompiledRegexWhereAvailable = 49 $this->pool = $pool;
47 Enum.IsDefined(typeof(RegexOptions), 8) ? (RegexOptions)8 : RegexOpt ions.None;
48 } 50 }
49 } 51
52 public function value($name, $number)
53 {
54 $value = new EnumValueDescriptor();
55 $this->descriptor->addValue($number, $value);
56 return $this;
57 }
58
59 public function finalizeToPool()
60 {
61 $this->pool->addEnumDescriptor($this->descriptor);
62 }
63 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698