| 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.scanner.scanner; | 5 library analyzer.src.dart.scanner.scanner; |
| 6 | 6 |
| 7 import 'package:analyzer/error/error.dart'; | 7 import 'package:analyzer/error/error.dart'; |
| 8 import 'package:analyzer/error/listener.dart'; | 8 import 'package:analyzer/error/listener.dart'; |
| 9 import 'package:analyzer/src/dart/error/syntactic_errors.dart'; | 9 import 'package:analyzer/src/dart/error/syntactic_errors.dart'; |
| 10 import 'package:analyzer/src/dart/scanner/reader.dart'; | 10 import 'package:analyzer/src/dart/scanner/reader.dart'; |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 | 102 |
| 103 @override | 103 @override |
| 104 bool scanLazyAssignmentOperators = false; | 104 bool scanLazyAssignmentOperators = false; |
| 105 | 105 |
| 106 _Scanner2( | 106 _Scanner2( |
| 107 this.source, this._contents, this._readerOffset, this._errorListener) { | 107 this.source, this._contents, this._readerOffset, this._errorListener) { |
| 108 lineStarts.add(0); | 108 lineStarts.add(0); |
| 109 } | 109 } |
| 110 | 110 |
| 111 @override | 111 @override |
| 112 bool get hasUnmatchedGroups { |
| 113 throw 'unsupported operation'; |
| 114 } |
| 115 |
| 116 @override |
| 117 set preserveComments(bool preserveComments) { |
| 118 this._preserveComments = preserveComments; |
| 119 } |
| 120 |
| 121 @override |
| 122 Token get tail { |
| 123 throw 'unsupported operation'; |
| 124 } |
| 125 |
| 126 @override |
| 112 void appendToken(Token token) { | 127 void appendToken(Token token) { |
| 113 throw 'unsupported operation'; | 128 throw 'unsupported operation'; |
| 114 } | 129 } |
| 115 | 130 |
| 116 @override | 131 @override |
| 117 int bigSwitch(int next) { | 132 int bigSwitch(int next) { |
| 118 throw 'unsupported operation'; | 133 throw 'unsupported operation'; |
| 119 } | 134 } |
| 120 | 135 |
| 121 @override | |
| 122 bool get hasUnmatchedGroups { | |
| 123 throw 'unsupported operation'; | |
| 124 } | |
| 125 | |
| 126 @override | 136 @override |
| 127 void recordStartOfLine() { | 137 void recordStartOfLine() { |
| 128 throw 'unsupported operation'; | 138 throw 'unsupported operation'; |
| 129 } | 139 } |
| 130 | 140 |
| 131 @override | 141 @override |
| 132 void reportError( | 142 void reportError( |
| 133 ScannerErrorCode errorCode, int offset, List<Object> arguments) { | 143 ScannerErrorCode errorCode, int offset, List<Object> arguments) { |
| 134 _errorListener | 144 _errorListener |
| 135 .onError(new AnalysisError(source, offset, 1, errorCode, arguments)); | 145 .onError(new AnalysisError(source, offset, 1, errorCode, arguments)); |
| 136 } | 146 } |
| 137 | 147 |
| 138 @override | 148 @override |
| 139 void setSourceStart(int line, int column) { | 149 void setSourceStart(int line, int column) { |
| 140 int offset = _readerOffset; | 150 int offset = _readerOffset; |
| 141 if (line < 1 || column < 1 || offset < 0 || (line + column - 2) >= offset) { | 151 if (line < 1 || column < 1 || offset < 0 || (line + column - 2) >= offset) { |
| 142 return; | 152 return; |
| 143 } | 153 } |
| 144 lineStarts.removeAt(0); | 154 lineStarts.removeAt(0); |
| 145 for (int i = 2; i < line; i++) { | 155 for (int i = 2; i < line; i++) { |
| 146 lineStarts.add(1); | 156 lineStarts.add(1); |
| 147 } | 157 } |
| 148 lineStarts.add(offset - column + 1); | 158 lineStarts.add(offset - column + 1); |
| 149 } | 159 } |
| 150 | 160 |
| 151 @override | 161 @override |
| 152 Token get tail { | |
| 153 throw 'unsupported operation'; | |
| 154 } | |
| 155 | |
| 156 @override | |
| 157 Token tokenize() { | 162 Token tokenize() { |
| 158 fasta.ScannerResult result = fasta.scanString(_contents, | 163 fasta.ScannerResult result = fasta.scanString(_contents, |
| 159 includeComments: _preserveComments, | 164 includeComments: _preserveComments, |
| 160 scanGenericMethodComments: scanGenericMethodComments, | 165 scanGenericMethodComments: scanGenericMethodComments, |
| 161 scanLazyAssignmentOperators: scanLazyAssignmentOperators); | 166 scanLazyAssignmentOperators: scanLazyAssignmentOperators); |
| 162 | 167 |
| 163 // fasta pretends there is an additional line at EOF | 168 // fasta pretends there is an additional line at EOF |
| 164 result.lineStarts.removeLast(); | 169 result.lineStarts.removeLast(); |
| 165 | 170 |
| 166 // for compatibility, there is already a first entry in lineStarts | 171 // for compatibility, there is already a first entry in lineStarts |
| (...skipping 11 matching lines...) Expand all Loading... |
| 178 // Update all token offsets based upon the reader's starting offset | 183 // Update all token offsets based upon the reader's starting offset |
| 179 if (_readerOffset != -1) { | 184 if (_readerOffset != -1) { |
| 180 final int delta = _readerOffset + 1; | 185 final int delta = _readerOffset + 1; |
| 181 do { | 186 do { |
| 182 token.offset += delta; | 187 token.offset += delta; |
| 183 token = token.next; | 188 token = token.next; |
| 184 } while (!token.isEof); | 189 } while (!token.isEof); |
| 185 } | 190 } |
| 186 return firstToken; | 191 return firstToken; |
| 187 } | 192 } |
| 188 | |
| 189 @override | |
| 190 set preserveComments(bool preserveComments) { | |
| 191 this._preserveComments = preserveComments; | |
| 192 } | |
| 193 } | 193 } |
| OLD | NEW |