| OLD | NEW | 
|---|
| 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2014, 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.src.dart.ast.token; | 5 library analyzer.src.dart.ast.token; | 
| 6 | 6 | 
| 7 import 'package:analyzer/dart/ast/token.dart'; | 7 import 'package:analyzer/dart/ast/token.dart'; | 
| 8 import 'package:analyzer/src/generated/java_engine.dart'; | 8 import 'package:analyzer/src/generated/java_engine.dart'; | 
| 9 | 9 | 
| 10 /** | 10 /** | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 28         type == TokenType.STRING_INTERPOLATION_EXPRESSION); | 28         type == TokenType.STRING_INTERPOLATION_EXPRESSION); | 
| 29   } | 29   } | 
| 30 | 30 | 
| 31   @override | 31   @override | 
| 32   Token copy() => new BeginToken(type, offset); | 32   Token copy() => new BeginToken(type, offset); | 
| 33 } | 33 } | 
| 34 | 34 | 
| 35 /** | 35 /** | 
| 36  * A begin token that is preceded by comments. | 36  * A begin token that is preceded by comments. | 
| 37  */ | 37  */ | 
| 38 class BeginTokenWithComment extends BeginToken { | 38 class BeginTokenWithComment extends BeginToken implements TokenWithComment { | 
| 39   /** | 39   /** | 
| 40    * The first comment in the list of comments that precede this token. | 40    * The first comment in the list of comments that precede this token. | 
| 41    */ | 41    */ | 
| 42   CommentToken _precedingComment; | 42   CommentToken _precedingComment; | 
| 43 | 43 | 
| 44   /** | 44   /** | 
| 45    * Initialize a newly created token to have the given [type] at the given | 45    * Initialize a newly created token to have the given [type] at the given | 
| 46    * [offset] and to be preceded by the comments reachable from the given | 46    * [offset] and to be preceded by the comments reachable from the given | 
| 47    * [comment]. | 47    * [comment]. | 
| 48    */ | 48    */ | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 72   @override | 72   @override | 
| 73   Token copy() => | 73   Token copy() => | 
| 74       new BeginTokenWithComment(type, offset, copyComments(precedingComments)); | 74       new BeginTokenWithComment(type, offset, copyComments(precedingComments)); | 
| 75 } | 75 } | 
| 76 | 76 | 
| 77 /** | 77 /** | 
| 78  * A token representing a comment. | 78  * A token representing a comment. | 
| 79  */ | 79  */ | 
| 80 class CommentToken extends StringToken { | 80 class CommentToken extends StringToken { | 
| 81   /** | 81   /** | 
| 82    * The [Token] that contains this comment. | 82    * The token that contains this comment. | 
| 83    */ | 83    */ | 
| 84   Token parent; | 84   TokenWithComment parent; | 
| 85 | 85 | 
| 86   /** | 86   /** | 
| 87    * Initialize a newly created token to represent a token of the given [type] | 87    * Initialize a newly created token to represent a token of the given [type] | 
| 88    * with the given [value] at the given [offset]. | 88    * with the given [value] at the given [offset]. | 
| 89    */ | 89    */ | 
| 90   CommentToken(TokenType type, String value, int offset) | 90   CommentToken(TokenType type, String value, int offset) | 
| 91       : super(type, value, offset); | 91       : super(type, value, offset); | 
| 92 | 92 | 
| 93   @override | 93   @override | 
| 94   CommentToken copy() => new CommentToken(type, _value, offset); | 94   CommentToken copy() => new CommentToken(type, _value, offset); | 
|  | 95 | 
|  | 96   /** | 
|  | 97    * Remove this comment token from the list. | 
|  | 98    * | 
|  | 99    * This is used when we decide to interpret the comment as syntax. | 
|  | 100    */ | 
|  | 101   void remove() { | 
|  | 102     if (previous != null) { | 
|  | 103       previous.setNextWithoutSettingPrevious(next); | 
|  | 104       next?.previous = previous; | 
|  | 105     } else { | 
|  | 106       assert(parent.precedingComments == this); | 
|  | 107       parent.precedingComments = next; | 
|  | 108     } | 
|  | 109   } | 
| 95 } | 110 } | 
| 96 | 111 | 
| 97 /** | 112 /** | 
| 98  * A documentation comment token. | 113  * A documentation comment token. | 
| 99  */ | 114  */ | 
| 100 class DocumentationCommentToken extends CommentToken { | 115 class DocumentationCommentToken extends CommentToken { | 
| 101   /** | 116   /** | 
| 102    * The references embedded within the documentation comment. | 117    * The references embedded within the documentation comment. | 
| 103    * This list will be empty unless this is a documentation comment that has | 118    * This list will be empty unless this is a documentation comment that has | 
| 104    * references embedded within it. | 119    * references embedded within it. | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 142   @override | 157   @override | 
| 143   Token copy() => new KeywordToken(keyword, offset); | 158   Token copy() => new KeywordToken(keyword, offset); | 
| 144 | 159 | 
| 145   @override | 160   @override | 
| 146   Keyword value() => keyword; | 161   Keyword value() => keyword; | 
| 147 } | 162 } | 
| 148 | 163 | 
| 149 /** | 164 /** | 
| 150  * A keyword token that is preceded by comments. | 165  * A keyword token that is preceded by comments. | 
| 151  */ | 166  */ | 
| 152 class KeywordTokenWithComment extends KeywordToken { | 167 class KeywordTokenWithComment extends KeywordToken implements TokenWithComment { | 
| 153   /** | 168   /** | 
| 154    * The first comment in the list of comments that precede this token. | 169    * The first comment in the list of comments that precede this token. | 
| 155    */ | 170    */ | 
| 156   CommentToken _precedingComment; | 171   CommentToken _precedingComment; | 
| 157 | 172 | 
| 158   /** | 173   /** | 
| 159    * Initialize a newly created token to to represent the given [keyword] at the | 174    * Initialize a newly created token to to represent the given [keyword] at the | 
| 160    * given [offset] and to be preceded by the comments reachable from the given | 175    * given [offset] and to be preceded by the comments reachable from the given | 
| 161    * [comment]. | 176    * [comment]. | 
| 162    */ | 177    */ | 
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 333   @override | 348   @override | 
| 334   Token copy() => new StringToken(type, _value, offset); | 349   Token copy() => new StringToken(type, _value, offset); | 
| 335 | 350 | 
| 336   @override | 351   @override | 
| 337   String value() => _value; | 352   String value() => _value; | 
| 338 } | 353 } | 
| 339 | 354 | 
| 340 /** | 355 /** | 
| 341  * A string token that is preceded by comments. | 356  * A string token that is preceded by comments. | 
| 342  */ | 357  */ | 
| 343 class StringTokenWithComment extends StringToken { | 358 class StringTokenWithComment extends StringToken implements TokenWithComment { | 
| 344   /** | 359   /** | 
| 345    * The first comment in the list of comments that precede this token. | 360    * The first comment in the list of comments that precede this token. | 
| 346    */ | 361    */ | 
| 347   CommentToken _precedingComment; | 362   CommentToken _precedingComment; | 
| 348 | 363 | 
| 349   /** | 364   /** | 
| 350    * Initialize a newly created token to have the given [type] at the given | 365    * Initialize a newly created token to have the given [type] at the given | 
| 351    * [offset] and to be preceded by the comments reachable from the given | 366    * [offset] and to be preceded by the comments reachable from the given | 
| 352    * [comment]. | 367    * [comment]. | 
| 353    */ | 368    */ | 
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 545   CommentToken get precedingComments => _precedingComment; | 560   CommentToken get precedingComments => _precedingComment; | 
| 546 | 561 | 
| 547   void set precedingComments(CommentToken comment) { | 562   void set precedingComments(CommentToken comment) { | 
| 548     _precedingComment = comment; | 563     _precedingComment = comment; | 
| 549     _setCommentParent(_precedingComment); | 564     _setCommentParent(_precedingComment); | 
| 550   } | 565   } | 
| 551 | 566 | 
| 552   @override | 567   @override | 
| 553   Token copy() => new TokenWithComment(type, offset, precedingComments); | 568   Token copy() => new TokenWithComment(type, offset, precedingComments); | 
| 554 } | 569 } | 
| OLD | NEW | 
|---|