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 /** | 5 /** |
6 * An abstract string representation. | 6 * An abstract string representation. |
7 */ | 7 */ |
8 abstract class ByteString extends Iterable<int> implements SourceString { | 8 abstract class ByteString extends Iterable<int> implements SourceString { |
9 final List<int> bytes; | 9 final List<int> bytes; |
10 final int offset; | 10 final int offset; |
(...skipping 25 matching lines...) Expand all Loading... |
36 int computeHashCode() { | 36 int computeHashCode() { |
37 int code = 1; | 37 int code = 1; |
38 int end = offset + length; | 38 int end = offset + length; |
39 for (int i = offset; i < end; i++) { | 39 for (int i = offset; i < end; i++) { |
40 code += 19 * code + bytes[i]; | 40 code += 19 * code + bytes[i]; |
41 } | 41 } |
42 return code; | 42 return code; |
43 } | 43 } |
44 | 44 |
45 printOn(StringBuffer sb) { | 45 printOn(StringBuffer sb) { |
46 sb.add(slowToString()); | 46 sb.write(slowToString()); |
47 } | 47 } |
48 | 48 |
49 bool get isEmpty => length == 0; | 49 bool get isEmpty => length == 0; |
50 bool isPrivate() => !isEmpty && identical(bytes[offset], $_); | 50 bool isPrivate() => !isEmpty && identical(bytes[offset], $_); |
51 | 51 |
52 String get stringValue => null; | 52 String get stringValue => null; |
53 } | 53 } |
54 | 54 |
55 /** | 55 /** |
56 * A string that consists purely of 7bit ASCII characters. | 56 * A string that consists purely of 7bit ASCII characters. |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 * A ByteString-valued token. | 145 * A ByteString-valued token. |
146 */ | 146 */ |
147 class ByteStringToken extends Token { | 147 class ByteStringToken extends Token { |
148 final ByteString value; | 148 final ByteString value; |
149 | 149 |
150 ByteStringToken(PrecedenceInfo info, ByteString this.value, int charOffset) | 150 ByteStringToken(PrecedenceInfo info, ByteString this.value, int charOffset) |
151 : super(info, charOffset); | 151 : super(info, charOffset); |
152 | 152 |
153 String toString() => value.toString(); | 153 String toString() => value.toString(); |
154 } | 154 } |
OLD | NEW |