OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of protobuf; | 5 part of protobuf; |
6 | 6 |
7 class UnknownFieldSet { | 7 class UnknownFieldSet { |
8 | 8 |
9 final Map<int, UnknownFieldSetField> _fields = | 9 final Map<int, UnknownFieldSetField> _fields = |
10 new Map<int, UnknownFieldSetField>(); | 10 new Map<int, UnknownFieldSetField>(); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 _checkFieldNumber(int number) { | 85 _checkFieldNumber(int number) { |
86 if (number == 0) { | 86 if (number == 0) { |
87 throw new ArgumentError('Zero is not a valid field number.'); | 87 throw new ArgumentError('Zero is not a valid field number.'); |
88 } | 88 } |
89 } | 89 } |
90 | 90 |
91 void mergeFixed32Field(int number, int value) { | 91 void mergeFixed32Field(int number, int value) { |
92 _getField(number).addFixed32(value); | 92 _getField(number).addFixed32(value); |
93 } | 93 } |
94 | 94 |
95 void mergeFixed64Field(int number, ByteData value) { | 95 void mergeFixed64Field(int number, Int64 value) { |
96 _getField(number).addFixed64(value); | 96 _getField(number).addFixed64(value); |
97 } | 97 } |
98 | 98 |
99 void mergeGroupField(int number, UnknownFieldSet value) { | 99 void mergeGroupField(int number, UnknownFieldSet value) { |
100 _getField(number).addGroup(value); | 100 _getField(number).addGroup(value); |
101 } | 101 } |
102 | 102 |
103 void mergeLengthDelimitedField(int number, List<int> value) { | 103 void mergeLengthDelimitedField(int number, List<int> value) { |
104 _getField(number).addLengthDelimited(value); | 104 _getField(number).addLengthDelimited(value); |
105 } | 105 } |
106 | 106 |
107 void mergeVarintField(int number, ByteData value) { | 107 void mergeVarintField(int number, Int64 value) { |
108 _getField(number).addVarint(value); | 108 _getField(number).addVarint(value); |
109 } | 109 } |
110 | 110 |
111 UnknownFieldSetField _getField(int number) { | 111 UnknownFieldSetField _getField(int number) { |
112 _checkFieldNumber(number); | 112 _checkFieldNumber(number); |
113 return _fields.putIfAbsent(number, () => new UnknownFieldSetField()); | 113 return _fields.putIfAbsent(number, () => new UnknownFieldSetField()); |
114 } | 114 } |
115 | 115 |
116 bool operator ==(other) { | 116 bool operator ==(other) { |
117 if (other is! UnknownFieldSet) return false; | 117 if (other is! UnknownFieldSet) return false; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 void writeToCodedBufferWriter(CodedBufferWriter output) { | 151 void writeToCodedBufferWriter(CodedBufferWriter output) { |
152 for (int key in _fields.keys) { | 152 for (int key in _fields.keys) { |
153 _fields[key].writeTo(key, output); | 153 _fields[key].writeTo(key, output); |
154 } | 154 } |
155 } | 155 } |
156 } | 156 } |
157 | 157 |
158 class UnknownFieldSetField { | 158 class UnknownFieldSetField { |
159 | 159 |
160 final List<List<int>> lengthDelimited = <List<int>>[]; | 160 final List<List<int>> lengthDelimited = <List<int>>[]; |
161 final List<ByteData> varints = <ByteData>[]; | 161 final List<Int64> varints = <Int64>[]; |
162 final List<int> fixed32s = <int>[]; | 162 final List<int> fixed32s = <int>[]; |
163 final List<ByteData> fixed64s = <ByteData>[]; | 163 final List<Int64> fixed64s = <Int64>[]; |
164 final List<UnknownFieldSet> groups = <UnknownFieldSet>[]; | 164 final List<UnknownFieldSet> groups = <UnknownFieldSet>[]; |
165 | 165 |
166 bool operator ==(other) { | 166 bool operator ==(other) { |
167 if (other is! UnknownFieldSetField) return false; | 167 if (other is! UnknownFieldSetField) return false; |
168 | 168 |
169 UnknownFieldSetField o = other; | 169 UnknownFieldSetField o = other; |
170 if (lengthDelimited.length != o.lengthDelimited.length) return false; | 170 if (lengthDelimited.length != o.lengthDelimited.length) return false; |
171 for (int i = 0; i < lengthDelimited.length; i++) { | 171 for (int i = 0; i < lengthDelimited.length; i++) { |
172 if (!_areListsEqual(o.lengthDelimited[i], lengthDelimited[i])) { | 172 if (!_areListsEqual(o.lengthDelimited[i], lengthDelimited[i])) { |
173 return false; | 173 return false; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 } | 207 } |
208 | 208 |
209 void addLengthDelimited(List<int> value) { | 209 void addLengthDelimited(List<int> value) { |
210 lengthDelimited.add(value); | 210 lengthDelimited.add(value); |
211 } | 211 } |
212 | 212 |
213 void addFixed32(int value) { | 213 void addFixed32(int value) { |
214 fixed32s.add(value); | 214 fixed32s.add(value); |
215 } | 215 } |
216 | 216 |
217 void addFixed64(ByteData value) { | 217 void addFixed64(Int64 value) { |
218 fixed64s.add(value); | 218 fixed64s.add(value); |
219 } | 219 } |
220 | 220 |
221 void addVarint(ByteData value) { | 221 void addVarint(Int64 value) { |
222 varints.add(value); | 222 varints.add(value); |
223 } | 223 } |
224 | 224 |
225 bool hasRequiredFields() => false; | 225 bool hasRequiredFields() => false; |
226 | 226 |
227 bool isInitialized() => true; | 227 bool isInitialized() => true; |
228 | 228 |
229 int get length => values.length; | 229 int get length => values.length; |
230 } | 230 } |
OLD | NEW |