Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(428)

Side by Side Diff: pkg/analyzer/test/src/summary/summarize_ast_test.dart

Issue 2223113002: Add line starts into unlinked units. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: tweaks Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.test.src.summary.summarize_ast_test; 5 library analyzer.test.src.summary.summarize_ast_test;
6 6
7 import 'package:analyzer/analyzer.dart'; 7 import 'package:analyzer/analyzer.dart';
8 import 'package:analyzer/dart/ast/ast.dart'; 8 import 'package:analyzer/dart/ast/ast.dart';
9 import 'package:analyzer/dart/ast/token.dart'; 9 import 'package:analyzer/dart/ast/token.dart';
10 import 'package:analyzer/src/dart/scanner/reader.dart'; 10 import 'package:analyzer/src/dart/scanner/reader.dart';
11 import 'package:analyzer/src/dart/scanner/scanner.dart'; 11 import 'package:analyzer/src/dart/scanner/scanner.dart';
12 import 'package:analyzer/src/generated/error.dart'; 12 import 'package:analyzer/src/generated/error.dart';
13 import 'package:analyzer/src/generated/java_engine.dart';
13 import 'package:analyzer/src/generated/parser.dart'; 14 import 'package:analyzer/src/generated/parser.dart';
14 import 'package:analyzer/src/generated/source.dart'; 15 import 'package:analyzer/src/generated/source.dart';
15 import 'package:analyzer/src/summary/format.dart'; 16 import 'package:analyzer/src/summary/format.dart';
16 import 'package:analyzer/src/summary/idl.dart'; 17 import 'package:analyzer/src/summary/idl.dart';
17 import 'package:analyzer/src/summary/link.dart'; 18 import 'package:analyzer/src/summary/link.dart';
18 import 'package:analyzer/src/summary/summarize_ast.dart'; 19 import 'package:analyzer/src/summary/summarize_ast.dart';
19 import 'package:analyzer/src/summary/summarize_elements.dart'; 20 import 'package:analyzer/src/summary/summarize_elements.dart';
20 import 'package:unittest/unittest.dart'; 21 import 'package:unittest/unittest.dart';
21 22
22 import '../../reflective_tests.dart'; 23 import '../../reflective_tests.dart';
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 bundle.unlinkedUnits[i]; 326 bundle.unlinkedUnits[i];
326 } 327 }
327 } 328 }
328 329
329 /** 330 /**
330 * Add the given source file so that it may be referenced by the file under 331 * Add the given source file so that it may be referenced by the file under
331 * test. 332 * test.
332 */ 333 */
333 Source addNamedSource(String filePath, String contents) { 334 Source addNamedSource(String filePath, String contents) {
334 CompilationUnit unit = _parseText(contents); 335 CompilationUnit unit = _parseText(contents);
335 UnlinkedUnitBuilder unlinkedUnit = serializeAstUnlinked(unit); 336 List<int> lineStarts = StringUtilities.computeLineStarts(contents);
337 UnlinkedUnitBuilder unlinkedUnit = serializeAstUnlinked(unit, lineStarts);
336 uriToUnit[absUri(filePath)] = unlinkedUnit; 338 uriToUnit[absUri(filePath)] = unlinkedUnit;
337 // Tests using SummaryLinkerTest don't actually need the returned 339 // Tests using SummaryLinkerTest don't actually need the returned
338 // Source, so we can safely return `null`. 340 // Source, so we can safely return `null`.
339 return null; 341 return null;
340 } 342 }
341 343
342 LinkerInputs createLinkerInputs(String text, {String path: '/test.dart'}) { 344 LinkerInputs createLinkerInputs(String text, {String path: '/test.dart'}) {
343 Uri testDartUri = Uri.parse(absUri(path)); 345 Uri testDartUri = Uri.parse(absUri(path));
344 CompilationUnit unit = _parseText(text); 346 CompilationUnit unit = _parseText(text);
345 UnlinkedUnitBuilder unlinkedDefiningUnit = serializeAstUnlinked(unit); 347 List<int> lineStarts = StringUtilities.computeLineStarts(text);
348 UnlinkedUnitBuilder unlinkedDefiningUnit =
349 serializeAstUnlinked(unit, lineStarts);
346 uriToUnit[testDartUri.toString()] = unlinkedDefiningUnit; 350 uriToUnit[testDartUri.toString()] = unlinkedDefiningUnit;
347 LinkerInputs linkerInputs = new LinkerInputs( 351 LinkerInputs linkerInputs = new LinkerInputs(
348 allowMissingFiles, 352 allowMissingFiles,
349 uriToUnit, 353 uriToUnit,
350 testDartUri, 354 testDartUri,
351 unlinkedDefiningUnit, 355 unlinkedDefiningUnit,
352 _dependentLinkedLibraries, 356 _dependentLinkedLibraries,
353 _dependentUnlinkedUnits); 357 _dependentUnlinkedUnits);
354 // Reset uriToUnit, _dependentLinkedLibraries, and _dependentUnlinkedUnits 358 // Reset uriToUnit, _dependentLinkedLibraries, and _dependentUnlinkedUnits
355 // in case the test needs to start a new package bundle. 359 // in case the test needs to start a new package bundle.
(...skipping 30 matching lines...) Expand all
386 CompilationUnit _parseText(String text) { 390 CompilationUnit _parseText(String text) {
387 CharSequenceReader reader = new CharSequenceReader(text); 391 CharSequenceReader reader = new CharSequenceReader(text);
388 Scanner scanner = 392 Scanner scanner =
389 new Scanner(null, reader, AnalysisErrorListener.NULL_LISTENER); 393 new Scanner(null, reader, AnalysisErrorListener.NULL_LISTENER);
390 Token token = scanner.tokenize(); 394 Token token = scanner.tokenize();
391 Parser parser = new Parser(null, AnalysisErrorListener.NULL_LISTENER); 395 Parser parser = new Parser(null, AnalysisErrorListener.NULL_LISTENER);
392 parser.parseGenericMethods = true; 396 parser.parseGenericMethods = true;
393 return parser.parseCompilationUnit(token); 397 return parser.parseCompilationUnit(token);
394 } 398 }
395 } 399 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698