| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 analyzer.string_source; | 5 library analyzer.string_source; |
| 6 | 6 |
| 7 import 'generated/source.dart'; | 7 import 'generated/source.dart'; |
| 8 | 8 |
| 9 /// An implementation of [Source] that's based on an in-memory Dart string. | 9 /// An implementation of [Source] that's based on an in-memory Dart string. |
| 10 class StringSource implements Source { | 10 class StringSource implements Source { |
| 11 final String _contents; | 11 final String _contents; |
| 12 final String fullName; | 12 final String fullName; |
| 13 final int modificationStamp; | 13 final int modificationStamp; |
| 14 | 14 |
| 15 StringSource(this._contents, this.fullName) | 15 StringSource(this._contents, this.fullName) |
| 16 : modificationStamp = new DateTime.now().millisecondsSinceEpoch; | 16 : modificationStamp = new DateTime.now().millisecondsSinceEpoch; |
| 17 | 17 |
| 18 bool operator==(Object object) => object is StringSource && | 18 bool operator==(Object object) { |
| 19 object._contents == _contents && object._name == _name; | 19 if (object is StringSource) { |
| 20 StringSource ssObject = object; |
| 21 return ssObject._contents == _contents && ssObject.fullName == fullName; |
| 22 } |
| 23 return false; |
| 24 } |
| 20 | 25 |
| 21 bool exists() => true; | 26 bool exists() => true; |
| 22 | 27 |
| 23 void getContents(Source_ContentReceiver receiver) => | 28 void getContents(Source_ContentReceiver receiver) => |
| 24 receiver.accept2(_contents, modificationStamp); | 29 receiver.accept2(_contents, modificationStamp); |
| 25 | 30 |
| 26 String get encoding => throw UnsupportedError("StringSource doesn't support " | 31 String get encoding => throw new UnsupportedError("StringSource doesn't suppor
t " |
| 27 "encoding."); | 32 "encoding."); |
| 28 | 33 |
| 29 String get shortName => fullName; | 34 String get shortName => fullName; |
| 30 | 35 |
| 31 String get uriKind => throw UnsupportedError("StringSource doesn't support " | 36 UriKind get uriKind => throw new UnsupportedError("StringSource doesn't suppor
t " |
| 32 "uriKind."); | 37 "uriKind."); |
| 33 | 38 |
| 34 int get hashCode => _contents.hashCode ^ _name.hashCode; | 39 int get hashCode => _contents.hashCode ^ fullName.hashCode; |
| 35 | 40 |
| 36 bool get isInSystemLibrary => false; | 41 bool get isInSystemLibrary => false; |
| 37 | 42 |
| 38 Source resolveRelative(Uri relativeUri) => throw UnsupportedError( | 43 Source resolveRelative(Uri relativeUri) => throw new UnsupportedError( |
| 39 "StringSource doesn't support resolveRelative."); | 44 "StringSource doesn't support resolveRelative."); |
| 40 } | 45 } |
| OLD | NEW |