| 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 |