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

Side by Side Diff: tests/compiler/dart2js/source_mapping_test.dart

Issue 10915122: Fix source locations for inlined and patched functions. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 8 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « lib/compiler/implementation/ssa/nodes.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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('dart:uri'); 5 #import('dart:uri');
6 6
7 #import("../../../lib/compiler/implementation/leg.dart"); 7 #import("../../../lib/compiler/implementation/leg.dart");
8 #import('../../../lib/compiler/implementation/source_file.dart'); 8 #import('../../../lib/compiler/implementation/source_file.dart');
9 #import("mock_compiler.dart"); 9 #import("mock_compiler.dart");
10 #import('parser_helper.dart'); 10 #import('parser_helper.dart');
(...skipping 12 matching lines...) Expand all
23 if (codeWithMarkers[i] == '@') { 23 if (codeWithMarkers[i] == '@') {
24 expectedLocations.add(i - expectedLocations.length); 24 expectedLocations.add(i - expectedLocations.length);
25 } 25 }
26 } 26 }
27 String code = codeWithMarkers.replaceAll('@', ''); 27 String code = codeWithMarkers.replaceAll('@', '');
28 28
29 SourceFile sourceFile = new SourceFile('<test script>', code); 29 SourceFile sourceFile = new SourceFile('<test script>', code);
30 CodeBuffer buffer = compileAll(sourceFile); 30 CodeBuffer buffer = compileAll(sourceFile);
31 31
32 Set<int> locations = new Set<int>(); 32 Set<int> locations = new Set<int>();
33 buffer.forEachSourceLocation((var element, var token, int offset) { 33 buffer.forEachSourceLocation((int offset, var sourcePosition) {
34 if (element != null && 34 if (sourcePosition != null && sourcePosition.sourceFile == sourceFile) {
35 element.getCompilationUnit().script.file == sourceFile) { 35 locations.add(sourcePosition.token.charOffset);
36 locations.add(token.charOffset);
37 } 36 }
38 }); 37 });
39 38
40 for (int i = 0; i < expectedLocations.length; ++i) { 39 for (int i = 0; i < expectedLocations.length; ++i) {
41 int expectedLocation = expectedLocations[i]; 40 int expectedLocation = expectedLocations[i];
42 if (!locations.contains(expectedLocation)) { 41 if (!locations.contains(expectedLocation)) {
43 int originalLocation = expectedLocation + i; 42 int originalLocation = expectedLocation + i;
44 SourceFile sourceFileWithMarkers = new SourceFile('<test script>', 43 SourceFile sourceFileWithMarkers = new SourceFile('<test script>',
45 codeWithMarkers); 44 codeWithMarkers);
46 String message = sourceFileWithMarkers.getLocationMessage( 45 String message = sourceFileWithMarkers.getLocationMessage(
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // from problematic location. 98 // from problematic location.
100 testSourceMapLocations(FUNCTIONS_TEST); 99 testSourceMapLocations(FUNCTIONS_TEST);
101 testSourceMapLocations(RETURN_TEST); 100 testSourceMapLocations(RETURN_TEST);
102 testSourceMapLocations(NOT_TEST); 101 testSourceMapLocations(NOT_TEST);
103 testSourceMapLocations(UNARY_TEST); 102 testSourceMapLocations(UNARY_TEST);
104 testSourceMapLocations(BINARY_TEST); 103 testSourceMapLocations(BINARY_TEST);
105 testSourceMapLocations(SEND_TEST); 104 testSourceMapLocations(SEND_TEST);
106 testSourceMapLocations(SEND_SET_TEST); 105 testSourceMapLocations(SEND_SET_TEST);
107 testSourceMapLocations(LOOP_TEST); 106 testSourceMapLocations(LOOP_TEST);
108 } 107 }
OLDNEW
« no previous file with comments | « lib/compiler/implementation/ssa/nodes.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698