| 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 library package; | 5 library package; |
| 6 | 6 |
| 7 import 'io.dart'; | 7 import 'io.dart'; |
| 8 import 'pubspec.dart'; | 8 import 'pubspec.dart'; |
| 9 import 'source.dart'; | 9 import 'source.dart'; |
| 10 import 'source_registry.dart'; | 10 import 'source_registry.dart'; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 /** | 111 /** |
| 112 * The metadata used by the package's [source] to identify and locate it. It | 112 * The metadata used by the package's [source] to identify and locate it. It |
| 113 * contains whatever [Source]-specific data it needs to be able to install | 113 * contains whatever [Source]-specific data it needs to be able to install |
| 114 * the package. For example, the description of a git sourced package might | 114 * the package. For example, the description of a git sourced package might |
| 115 * by the URL "git://github.com/dart/uilib.git". | 115 * by the URL "git://github.com/dart/uilib.git". |
| 116 */ | 116 */ |
| 117 final description; | 117 final description; |
| 118 | 118 |
| 119 PackageId(this.name, this.source, this.version, this.description); | 119 PackageId(this.name, this.source, this.version, this.description); |
| 120 | 120 |
| 121 int hashCode() => name.hashCode() ^ | 121 int get hashCode => name.hashCode ^ |
| 122 source.name.hashCode() ^ | 122 source.name.hashCode ^ |
| 123 version.hashCode(); | 123 version.hashCode; |
| 124 | 124 |
| 125 bool operator ==(other) { | 125 bool operator ==(other) { |
| 126 if (other is! PackageId) return false; | 126 if (other is! PackageId) return false; |
| 127 // TODO(rnystrom): We're assuming here the name/version/source tuple is | 127 // TODO(rnystrom): We're assuming here the name/version/source tuple is |
| 128 // enough to uniquely identify the package and that we don't need to delve | 128 // enough to uniquely identify the package and that we don't need to delve |
| 129 // into the description. | 129 // into the description. |
| 130 return other.name == name && | 130 return other.name == name && |
| 131 other.source.name == source.name && | 131 other.source.name == source.name && |
| 132 other.version == version; | 132 other.version == version; |
| 133 } | 133 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 | 213 |
| 214 class PubspecNameMismatchException implements Exception { | 214 class PubspecNameMismatchException implements Exception { |
| 215 final String expectedName; | 215 final String expectedName; |
| 216 final String actualName; | 216 final String actualName; |
| 217 | 217 |
| 218 PubspecNameMismatchException(this.expectedName, this.actualName); | 218 PubspecNameMismatchException(this.expectedName, this.actualName); |
| 219 | 219 |
| 220 String toString() => 'The name you specified for your dependency, ' | 220 String toString() => 'The name you specified for your dependency, ' |
| 221 '"$expectedName", doesn\'t match the name "$actualName" in its pubspec.'; | 221 '"$expectedName", doesn\'t match the name "$actualName" in its pubspec.'; |
| 222 } | 222 } |
| OLD | NEW |