60d418034a
* Reformat pkg/dev_compiler. * Re-flow some comments to keep them within 80 characters. Change-Id: I0849ce113ecf3dce4a2b4405c2b09a17dee4df76 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/433081 Reviewed-by: Mark Zhou <markzipan@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
54 lines
1.5 KiB
Dart
54 lines
1.5 KiB
Dart
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart';
|
|
import 'package:front_end/src/api_prototype/testing.dart';
|
|
import 'package:kernel/ast.dart';
|
|
|
|
Future<void> main(List<String> args) async {
|
|
await run(
|
|
dartdevcEntryPoints,
|
|
'pkg/dev_compiler/test/dynamic/dartdevc_allowed.json',
|
|
analyzedUrisFilter: dartdevcOnly,
|
|
verbose: args.contains('-v'),
|
|
generate: args.contains('-g'),
|
|
);
|
|
}
|
|
|
|
Future<void> run(
|
|
List<Uri> entryPoints,
|
|
String allowedListPath, {
|
|
bool verbose = false,
|
|
bool generate = false,
|
|
bool Function(Uri uri)? analyzedUrisFilter,
|
|
}) async {
|
|
await runAnalysis(entryPoints, (
|
|
DiagnosticMessageHandler onDiagnostic,
|
|
Component component,
|
|
) {
|
|
DynamicVisitor(
|
|
onDiagnostic,
|
|
component,
|
|
allowedListPath,
|
|
analyzedUrisFilter,
|
|
).run(verbose: verbose, generate: generate);
|
|
});
|
|
}
|
|
|
|
/// Entry points used for analyzing dartdevc code.
|
|
final List<Uri> dartdevcEntryPoints = [
|
|
Uri.base.resolve('pkg/dev_compiler/bin/dartdevc.dart'),
|
|
];
|
|
|
|
/// Filter function used to only analyze dartdevc source code.
|
|
bool dartdevcOnly(Uri uri) {
|
|
var text = '$uri';
|
|
for (var path in ['package:_js_interop_checks/', 'package:dev_compiler/']) {
|
|
if (text.startsWith(path)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|