Skip to content

Commit 5633c40

Browse files
fishythefishCommit Queue
authored andcommitted
[dart2js_tools] Update pubspec to 3.7 and reformat.
Change-Id: I7d865d8c4d2fc7145a2c0567252edafba058b9e4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400741 Commit-Queue: Mayank Patke <[email protected]> Reviewed-by: Nate Biggs <[email protected]> Commit-Queue: Nate Biggs <[email protected]> Auto-Submit: Mayank Patke <[email protected]>
1 parent 3606781 commit 5633c40

File tree

9 files changed

+139
-57
lines changed

9 files changed

+139
-57
lines changed

pkg/dart2js_tools/bin/deobfuscate.dart

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,23 +50,32 @@ main(List<String> args) {
5050
String obfuscatedTrace = File(args[0]).readAsStringSync();
5151
String? error = extractErrorMessage(obfuscatedTrace);
5252
var provider = CachingFileProvider(logger: Logger());
53-
StackDeobfuscationResult result =
54-
deobfuscateStack(obfuscatedTrace, provider);
53+
StackDeobfuscationResult result = deobfuscateStack(
54+
obfuscatedTrace,
55+
provider,
56+
);
5557
Frame firstFrame = result.original.frames.first;
56-
String? translatedError =
57-
translate(error, provider.mappingFor(firstFrame.uri));
58+
String? translatedError = translate(
59+
error,
60+
provider.mappingFor(firstFrame.uri),
61+
);
5862
translatedError ??= '<no error message found>';
5963
printPadded(translatedError, error, sb);
60-
int longest =
61-
result.deobfuscated.frames.fold(0, (m, f) => max(f.member!.length, m));
64+
int longest = result.deobfuscated.frames.fold(
65+
0,
66+
(m, f) => max(f.member!.length, m),
67+
);
6268
for (var originalFrame in result.original.frames) {
6369
var deobfuscatedFrames = result.frameMap[originalFrame];
6470
if (deobfuscatedFrames == null) {
6571
printPadded('no mapping', originalFrame.location, sb);
6672
} else {
6773
for (var frame in deobfuscatedFrames) {
68-
printPadded('${frame.member!.padRight(longest)} ${frame.location}',
69-
originalFrame.location, sb);
74+
printPadded(
75+
'${frame.member!.padRight(longest)} ${frame.location}',
76+
originalFrame.location,
77+
sb,
78+
);
7079
}
7180
}
7281
}

pkg/dart2js_tools/bin/show_inline_data.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ main(List<String> args) {
3434

3535
if (depth != 0) {
3636
sb.write(
37-
"[invalid] function start with non-zero depth: $depth\n");
37+
"[invalid] function start with non-zero depth: $depth\n",
38+
);
3839
}
3940
lastFunctionStart = functionStart;
4041
}

pkg/dart2js_tools/lib/deobfuscate_stack_trace.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ String deobfuscateStackTrace(String obfuscatedTrace) {
3232
var provider = CachingFileProvider();
3333
StackDeobfuscationResult result = deobfuscateStack(obfuscatedTrace, provider);
3434
Frame firstFrame = result.original.frames.first;
35-
String translatedError = (firstFrame.uri.isScheme('error')
35+
String translatedError =
36+
(firstFrame.uri.isScheme('error')
3637
? null
3738
: translate(error, provider.mappingFor(firstFrame.uri))) ??
3839
'<no error message found>';

pkg/dart2js_tools/lib/src/dart2js_mapping.dart

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,17 @@ class Dart2jsMapping {
3333
var minifiedNames = extensions['minified_names'];
3434
if (minifiedNames != null) {
3535
_extractMinifiedNames(
36-
minifiedNames['global'] as String, sourceMap, globalNames, logger);
37-
_extractMinifiedNames(minifiedNames['instance'] as String, sourceMap,
38-
instanceNames, logger);
36+
minifiedNames['global'] as String,
37+
sourceMap,
38+
globalNames,
39+
logger,
40+
);
41+
_extractMinifiedNames(
42+
minifiedNames['instance'] as String,
43+
sourceMap,
44+
instanceNames,
45+
logger,
46+
);
3947
}
4048
var jsonFrames = extensions['frames'] as String?;
4149
if (jsonFrames != null) {
@@ -53,13 +61,16 @@ class FrameEntry {
5361
final String? inlinedMethodName;
5462
final bool isEmpty;
5563
FrameEntry.push(
56-
this.callUri, this.callLine, this.callColumn, this.inlinedMethodName)
57-
: isEmpty = false;
64+
this.callUri,
65+
this.callLine,
66+
this.callColumn,
67+
this.inlinedMethodName,
68+
) : isEmpty = false;
5869
FrameEntry.pop(this.isEmpty)
59-
: callUri = null,
60-
callLine = null,
61-
callColumn = null,
62-
inlinedMethodName = null;
70+
: callUri = null,
71+
callLine = null,
72+
callColumn = null,
73+
inlinedMethodName = null;
6374

6475
bool get isPush => callUri != null;
6576
bool get isPop => callUri == null;
@@ -86,8 +97,10 @@ Dart2jsMapping? parseMappingFor(Uri uri, {Logger? logger}) {
8697
if (urlIndex != -1) {
8798
sourcemapPath = contents.substring(urlIndex + _marker.length).trim();
8899
} else {
89-
logger?.log('Error: source-map url marker not found in $uri\n'
90-
' trying $uri.map');
100+
logger?.log(
101+
'Error: source-map url marker not found in $uri\n'
102+
' trying $uri.map',
103+
);
91104
sourcemapPath = '${uri.pathSegments.last}.map';
92105
}
93106

@@ -112,9 +125,10 @@ class _FrameDecoder implements Iterator<String> {
112125
bool moveNext() => ++index < _length;
113126

114127
@override
115-
String get current => (index >= 0 && index < _length)
116-
? _internal[index]
117-
: throw StateError('No current value available.');
128+
String get current =>
129+
(index >= 0 && index < _length)
130+
? _internal[index]
131+
: throw StateError('No current value available.');
118132

119133
bool get hasTokens => index < _length - 1 && _length > 0;
120134

@@ -151,8 +165,12 @@ class _FrameDecoder implements Iterator<String> {
151165
}
152166
}
153167

154-
_extractMinifiedNames(String encodedInput, SingleMapping sourceMap,
155-
Map<String, String> minifiedNames, Logger? logger) {
168+
_extractMinifiedNames(
169+
String encodedInput,
170+
SingleMapping sourceMap,
171+
Map<String, String> minifiedNames,
172+
Logger? logger,
173+
) {
156174
if (encodedInput.isEmpty) return;
157175
List<String> input = encodedInput.split(',');
158176
if (input.length % 2 != 0) {

pkg/dart2js_tools/lib/src/name_decoder.dart

Lines changed: 60 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ import 'package:source_maps/source_maps.dart';
1010
import 'dart2js_mapping.dart';
1111
import 'trace.dart';
1212

13-
String? translate(String? error, Dart2jsMapping? mapping,
14-
[StackTraceLine? line, TargetEntry? entry]) {
13+
String? translate(
14+
String? error,
15+
Dart2jsMapping? mapping, [
16+
StackTraceLine? line,
17+
TargetEntry? entry,
18+
]) {
1519
for (var decoder in _errorMapDecoders) {
1620
var result = decoder.decode(error, mapping, line, entry);
1721
// More than one decoder might be applied on a single error message. This
@@ -31,8 +35,12 @@ abstract class ErrorMapDecoder {
3135
/// Decode [error] that was reported in [line] and has a corresponding [entry]
3236
/// in the source-map file. The provided [mapping] includes additional
3337
/// minification data that may be used to decode the error message.
34-
String? decode(String? error, Dart2jsMapping? mapping, StackTraceLine? line,
35-
TargetEntry? entry) {
38+
String? decode(
39+
String? error,
40+
Dart2jsMapping? mapping,
41+
StackTraceLine? line,
42+
TargetEntry? entry,
43+
) {
3644
if (error == null) return null;
3745
Match? lastMatch;
3846
var result = StringBuffer();
@@ -50,20 +58,33 @@ abstract class ErrorMapDecoder {
5058
return '$result';
5159
}
5260

53-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
54-
StackTraceLine? line, TargetEntry? entry);
61+
String? _decodeInternal(
62+
Match match,
63+
Dart2jsMapping? mapping,
64+
StackTraceLine? line,
65+
TargetEntry? entry,
66+
);
5567
}
5668

57-
typedef ErrorDecoder = String Function(Match match, Dart2jsMapping mapping,
58-
StackTraceLine line, TargetEntry entry);
69+
typedef ErrorDecoder =
70+
String Function(
71+
Match match,
72+
Dart2jsMapping mapping,
73+
StackTraceLine line,
74+
TargetEntry entry,
75+
);
5976

6077
class MinifiedNameDecoder extends ErrorMapDecoder {
6178
@override
6279
final RegExp _matcher = RegExp("minified:([a-zA-Z0-9_\$]*)");
6380

6481
@override
65-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
66-
StackTraceLine? line, TargetEntry? entry) {
82+
String? _decodeInternal(
83+
Match match,
84+
Dart2jsMapping? mapping,
85+
StackTraceLine? line,
86+
TargetEntry? entry,
87+
) {
6788
var minifiedName = match.group(1);
6889
return mapping!.globalNames[minifiedName];
6990
}
@@ -74,8 +95,12 @@ class CannotReadPropertyDecoder extends ErrorMapDecoder {
7495
final RegExp _matcher = RegExp("Cannot read property '([^']*)' of");
7596

7697
@override
77-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
78-
StackTraceLine? line, TargetEntry? entry) {
98+
String? _decodeInternal(
99+
Match match,
100+
Dart2jsMapping? mapping,
101+
StackTraceLine? line,
102+
TargetEntry? entry,
103+
) {
79104
var minifiedName = match.group(1);
80105
var name = mapping!.instanceNames[minifiedName];
81106
if (name == null) return null;
@@ -141,11 +166,16 @@ abstract class NoSuchMethodDecoderBase extends ErrorMapDecoder {
141166
class NoSuchMethodDecoder1 extends NoSuchMethodDecoderBase {
142167
@override
143168
final RegExp _matcher = RegExp(
144-
"NoSuchMethodError: method not found: '([^']*)'( on [^\\(]*)? \\(.*\\)");
169+
"NoSuchMethodError: method not found: '([^']*)'( on [^\\(]*)? \\(.*\\)",
170+
);
145171

146172
@override
147-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
148-
StackTraceLine? line, TargetEntry? entry) {
173+
String? _decodeInternal(
174+
Match match,
175+
Dart2jsMapping? mapping,
176+
StackTraceLine? line,
177+
TargetEntry? entry,
178+
) {
149179
var minifiedName = match.group(1);
150180
var suffix = match.group(2) ?? '';
151181
var name = _translateMinifiedName(mapping!, minifiedName);
@@ -156,12 +186,17 @@ class NoSuchMethodDecoder1 extends NoSuchMethodDecoderBase {
156186

157187
class NoSuchMethodDecoder2 extends NoSuchMethodDecoderBase {
158188
@override
159-
final RegExp _matcher =
160-
RegExp("NoSuchMethodError: method not found: '([^']*)'");
189+
final RegExp _matcher = RegExp(
190+
"NoSuchMethodError: method not found: '([^']*)'",
191+
);
161192

162193
@override
163-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
164-
StackTraceLine? line, TargetEntry? entry) {
194+
String? _decodeInternal(
195+
Match match,
196+
Dart2jsMapping? mapping,
197+
StackTraceLine? line,
198+
TargetEntry? entry,
199+
) {
165200
var minifiedName = match.group(1);
166201
var name = _translateMinifiedName(mapping!, minifiedName);
167202
if (name == null) return null;
@@ -174,8 +209,12 @@ class UnhandledNotAFunctionError extends ErrorMapDecoder {
174209
final RegExp _matcher = RegExp("Error: ([^']*) is not a function");
175210

176211
@override
177-
String? _decodeInternal(Match match, Dart2jsMapping? mapping,
178-
StackTraceLine? line, TargetEntry? entry) {
212+
String? _decodeInternal(
213+
Match match,
214+
Dart2jsMapping? mapping,
215+
StackTraceLine? line,
216+
TargetEntry? entry,
217+
) {
179218
var minifiedName = match.group(1);
180219
var name = mapping!.instanceNames[minifiedName];
181220
if (name == null) return null;

pkg/dart2js_tools/lib/src/sourcemap_helper.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,10 @@ int nextDeclarationCandidate(String sources, int start) {
6565
///
6666
/// Copied from [SingleMapping._findLine].
6767
TargetLineEntry? findLine(SingleMapping sourceMap, int line) {
68-
int index =
69-
binarySearch<TargetLineEntry>(sourceMap.lines, (e) => e.line > line);
68+
int index = binarySearch<TargetLineEntry>(
69+
sourceMap.lines,
70+
(e) => e.line > line,
71+
);
7072
return (index <= 0) ? null : sourceMap.lines[index - 1];
7173
}
7274

pkg/dart2js_tools/lib/src/trace.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ class StackTraceLine {
5757
if (lastValue != null) {
5858
int secondToLastColon = text.lastIndexOf(':', lastColon - 1);
5959
if (secondToLastColon != -1) {
60-
int? secondToLastValue =
61-
int.tryParse(text.substring(secondToLastColon + 1, lastColon));
60+
int? secondToLastValue = int.tryParse(
61+
text.substring(secondToLastColon + 1, lastColon),
62+
);
6263
if (secondToLastValue != null) {
6364
lineNo = secondToLastValue;
6465
columnNo = lastValue;

pkg/dart2js_tools/lib/src/trace_decoder.dart

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ class StackDeobfuscationResult {
3333
/// Parse [stackTrace] and deobfuscate it using source-map data available from
3434
/// [provider].
3535
StackDeobfuscationResult deobfuscateStack(
36-
String stackTrace, FileProvider provider) {
36+
String stackTrace,
37+
FileProvider provider,
38+
) {
3739
var trace = Trace.parse(stackTrace.trim());
3840
var deobfuscatedFrames = <Frame>[];
3941
var frameMap = <Frame, List<Frame>>{};
@@ -53,8 +55,11 @@ StackDeobfuscationResult deobfuscateStack(
5355

5456
// Subtract 1 because stack traces use 1-indexed lines and columns and
5557
// source maps uses 0-indexed.
56-
SourceSpan? span = mapping.sourceMap
57-
.spanFor(frameLine - 1, column - 1, uri: frame.uri.toString());
58+
SourceSpan? span = mapping.sourceMap.spanFor(
59+
frameLine - 1,
60+
column - 1,
61+
uri: frame.uri.toString(),
62+
);
5863

5964
// If we can't find a source span, ignore the frame. It's probably something
6065
// internal that the user doesn't care about.
@@ -86,8 +91,14 @@ StackDeobfuscationResult deobfuscateStack(
8691
if (frame.isEmpty) break outer;
8792
if (frame.isPush) {
8893
if (depth <= 0) {
89-
mappedFrames.add(Frame(fileName!, targetLine, targetColumn,
90-
"${_normalizeName(frame.inlinedMethodName)}(inlined)"));
94+
mappedFrames.add(
95+
Frame(
96+
fileName!,
97+
targetLine,
98+
targetColumn,
99+
"${_normalizeName(frame.inlinedMethodName)}(inlined)",
100+
),
101+
);
91102
fileName = Uri.parse(frame.callUri!);
92103
targetLine = (frame.callLine ?? 0) + 1;
93104
targetColumn = (frame.callColumn ?? 0) + 1;

pkg/dart2js_tools/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: >
66
information, deobfuscation of stack-traces and minified names.
77
88
environment:
9-
sdk: '>=2.19.0 <3.0.0'
9+
sdk: '^3.7.0-0'
1010

1111
# Use 'any' constraints here; we get our versions from the DEPS file.
1212
dependencies:

0 commit comments

Comments
 (0)