| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // BSD-style license that can be found in the LICENSE file. |  | 
| 4 |  | 
| 5 /** |  | 
| 6  * A single token in the Dart language. |  | 
| 7  */ |  | 
| 8 class Token { |  | 
| 9   /** A member of [TokenKind] specifying what kind of token this is. */ |  | 
| 10   final int kind; |  | 
| 11 |  | 
| 12   /** The [SourceFile] this token came from. */ |  | 
| 13   final SourceFile source; |  | 
| 14 |  | 
| 15   /** The start and end indexes into the [SourceFile] of this [Token]. */ |  | 
| 16   final int start, end; |  | 
| 17 |  | 
| 18   Token(this.kind, this.source, this.start, this.end) {} |  | 
| 19 |  | 
| 20   Token.fake(this.kind, span) |  | 
| 21     : this.source = span.file, this.start = span.start, this.end = span.end; |  | 
| 22 |  | 
| 23   /** Returns the source text corresponding to this [Token]. */ |  | 
| 24   String get text() { |  | 
| 25     return source.text.substring(start, end); |  | 
| 26   } |  | 
| 27 |  | 
| 28   /** Returns a pretty representation of this token for error messages. **/ |  | 
| 29   String toString() { |  | 
| 30     var kindText = TokenKind.kindToString(kind); |  | 
| 31     var actualText = text; |  | 
| 32     if (kindText != actualText) { |  | 
| 33       if (actualText.length > 10) { |  | 
| 34         actualText = actualText.substring(0, 8) + '...'; |  | 
| 35       } |  | 
| 36       return '$kindText($actualText)'; |  | 
| 37     } else { |  | 
| 38       return kindText; |  | 
| 39     } |  | 
| 40   } |  | 
| 41 |  | 
| 42   /** Returns a [SourceSpan] representing the source location. */ |  | 
| 43   SourceSpan get span() { |  | 
| 44     return new SourceSpan(source, start, end); |  | 
| 45   } |  | 
| 46 } |  | 
| 47 |  | 
| 48 /** A token containing a parsed literal value. */ |  | 
| 49 class LiteralToken extends Token { |  | 
| 50   var value; |  | 
| 51   LiteralToken(kind, source, start, end, this.value) |  | 
| 52       : super(kind, source, start, end); |  | 
| 53 } |  | 
| 54 |  | 
| 55 /** A token containing error information. */ |  | 
| 56 class ErrorToken extends Token { |  | 
| 57   String message; |  | 
| 58   ErrorToken(kind, source, start, end, this.message) |  | 
| 59       : super(kind, source, start, end); |  | 
| 60 } |  | 
| OLD | NEW | 
|---|