OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 /** | 7 /** |
8 * An object representing an extension field. | 8 * An object representing an extension field. |
9 */ | 9 */ |
10 class Extension extends FieldInfo { | 10 class Extension<T> extends FieldInfo<T> { |
11 final String extendee; | 11 final String extendee; |
12 | 12 |
13 Extension(this.extendee, String name, int tagNumber, int fieldType, | 13 Extension(this.extendee, String name, int tagNumber, int fieldType, |
14 [dynamic defaultOrMaker, | 14 [dynamic defaultOrMaker, |
15 CreateBuilderFunc subBuilder, | 15 CreateBuilderFunc subBuilder, |
16 ValueOfFunc valueOf]) | 16 ValueOfFunc valueOf]) |
17 : super(name, tagNumber, null, fieldType, defaultOrMaker, subBuilder, | 17 : super(name, tagNumber, null, fieldType, defaultOrMaker, subBuilder, |
18 valueOf); | 18 valueOf); |
19 | 19 |
20 Extension.repeated( | 20 Extension.repeated( |
21 this.extendee, String name, int tagNumber, int fieldType, CheckFunc check, | 21 this.extendee, String name, int tagNumber, int fieldType, CheckFunc check, |
22 [CreateBuilderFunc subBuilder, ValueOfFunc valueOf]) | 22 [CreateBuilderFunc subBuilder, ValueOfFunc valueOf]) |
23 : super.repeated( | 23 : super.repeated( |
24 name, tagNumber, null, fieldType, check, subBuilder, valueOf); | 24 name, tagNumber, null, fieldType, check, subBuilder, valueOf); |
25 | 25 |
26 int get hashCode => extendee.hashCode * 31 + tagNumber; | 26 int get hashCode => extendee.hashCode * 31 + tagNumber; |
27 | 27 |
28 bool operator ==(other) { | 28 bool operator ==(other) { |
29 if (other is! Extension) return false; | 29 if (other is! Extension) return false; |
30 | 30 |
31 Extension o = other; | 31 Extension o = other; |
32 return extendee == o.extendee && tagNumber == o.tagNumber; | 32 return extendee == o.extendee && tagNumber == o.tagNumber; |
33 } | 33 } |
34 } | 34 } |
OLD | NEW |