| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'package:front_end/src/fasta/parser/token_stream_rewriter.dart'; | 5 import 'package:front_end/src/fasta/parser/token_stream_rewriter.dart'; |
| 6 import 'package:front_end/src/fasta/scanner/precedence.dart'; | |
| 7 import 'package:front_end/src/fasta/scanner/token.dart'; | 6 import 'package:front_end/src/fasta/scanner/token.dart'; |
| 7 import 'package:front_end/src/scanner/token.dart' show TokenType; |
| 8 import 'package:test/test.dart'; | 8 import 'package:test/test.dart'; |
| 9 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 9 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 10 | 10 |
| 11 main() { | 11 main() { |
| 12 defineReflectiveSuite(() { | 12 defineReflectiveSuite(() { |
| 13 defineReflectiveTests(TokenStreamRewriterTest_NoPrevious); | 13 defineReflectiveTests(TokenStreamRewriterTest_NoPrevious); |
| 14 defineReflectiveTests(TokenStreamRewriterTest_UsingPrevious); | 14 defineReflectiveTests(TokenStreamRewriterTest_UsingPrevious); |
| 15 }); | 15 }); |
| 16 } | 16 } |
| 17 | 17 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 int eofOffset = head.charOffset + head.lexeme.length; | 114 int eofOffset = head.charOffset + head.lexeme.length; |
| 115 if (eofOffset < 0) eofOffset = 0; | 115 if (eofOffset < 0) eofOffset = 0; |
| 116 Token eof = new SymbolToken.eof(eofOffset); | 116 Token eof = new SymbolToken.eof(eofOffset); |
| 117 if (!setPrevious) eof.previousToken = null; | 117 if (!setPrevious) eof.previousToken = null; |
| 118 head.next = eof; | 118 head.next = eof; |
| 119 if (setPrevious) eof.previousToken = head; | 119 if (setPrevious) eof.previousToken = head; |
| 120 return eof; | 120 return eof; |
| 121 } | 121 } |
| 122 | 122 |
| 123 BeginGroupToken _makeBeginGroupToken(int charOffset) { | 123 BeginGroupToken _makeBeginGroupToken(int charOffset) { |
| 124 return new BeginGroupToken(OPEN_PAREN_INFO, charOffset); | 124 return new BeginGroupToken(TokenType.OPEN_PAREN, charOffset); |
| 125 } | 125 } |
| 126 | 126 |
| 127 StringToken _makeToken(int charOffset, String text) { | 127 StringToken _makeToken(int charOffset, String text) { |
| 128 return new StringToken.fromString(null, text, charOffset); | 128 return new StringToken.fromString(null, text, charOffset); |
| 129 } | 129 } |
| 130 } | 130 } |
| 131 | 131 |
| 132 /// Concrete implementation of [TokenStreamRewriterTest] in which | 132 /// Concrete implementation of [TokenStreamRewriterTest] in which |
| 133 /// [Token.previousToken] values are set to null. | 133 /// [Token.previousToken] values are set to null. |
| 134 /// | 134 /// |
| 135 /// This forces [TokenStreamRewriter] to use its more complex heursitc for | 135 /// This forces [TokenStreamRewriter] to use its more complex heursitc for |
| 136 /// finding previous tokens. | 136 /// finding previous tokens. |
| 137 @reflectiveTest | 137 @reflectiveTest |
| 138 class TokenStreamRewriterTest_NoPrevious extends TokenStreamRewriterTest { | 138 class TokenStreamRewriterTest_NoPrevious extends TokenStreamRewriterTest { |
| 139 bool get setPrevious => false; | 139 bool get setPrevious => false; |
| 140 } | 140 } |
| 141 | 141 |
| 142 /// Concrete implementation of [TokenStreamRewriterTest] in which | 142 /// Concrete implementation of [TokenStreamRewriterTest] in which |
| 143 /// [Token.previousToken] values are set to non-null. | 143 /// [Token.previousToken] values are set to non-null. |
| 144 /// | 144 /// |
| 145 /// Since [TokenStreamRewriter] makes use of [Token.previousToken] when it can, | 145 /// Since [TokenStreamRewriter] makes use of [Token.previousToken] when it can, |
| 146 /// these tests do not exercise the more complex heuristics for finding previous | 146 /// these tests do not exercise the more complex heuristics for finding previous |
| 147 /// tokens. | 147 /// tokens. |
| 148 @reflectiveTest | 148 @reflectiveTest |
| 149 class TokenStreamRewriterTest_UsingPrevious extends TokenStreamRewriterTest { | 149 class TokenStreamRewriterTest_UsingPrevious extends TokenStreamRewriterTest { |
| 150 bool get setPrevious => true; | 150 bool get setPrevious => true; |
| 151 } | 151 } |
| OLD | NEW |