- Add VariableSpec class with magnitude field validation - Add Formula class supporting multiple input/output variables - Support d4rt_code as string or object with code field - Add comprehensive tests for parsing and serialization - Fix broken test import in pruebas_d4rt_test.dart Follows README.md format requirements exactly
91 lines
3.8 KiB
Dart
91 lines
3.8 KiB
Dart
import 'package:analyzer/dart/analysis/results.dart';
|
|
import 'package:analyzer/file_system/overlay_file_system.dart';
|
|
import 'package:analyzer/file_system/physical_file_system.dart';
|
|
import 'package:analyzer/src/dart/analysis/analysis_context_collection.dart';
|
|
import 'package:analyzer/src/dart/analysis/byte_store.dart';
|
|
import 'package:analyzer/src/util/performance/operation_performance.dart';
|
|
import 'package:collection/collection.dart';
|
|
import 'package:linter/src/rules.dart';
|
|
|
|
void main() async {
|
|
var resourceProvider = OverlayResourceProvider(
|
|
PhysicalResourceProvider.INSTANCE,
|
|
);
|
|
var co19 = '/Users/scheglov/Source/Dart/sdk.git/sdk/tests/co19';
|
|
resourceProvider.setOverlay(
|
|
// '$co19/src/LanguageFeatures/Parts-with-imports/analysis_options.yaml',
|
|
'$co19/src/LanguageFeatures/Augmentation-libraries/analysis_options.yaml',
|
|
content: r'''
|
|
analyzer:
|
|
enable-experiment:
|
|
- macros
|
|
- enhanced-parts
|
|
''',
|
|
modificationStamp: 0,
|
|
);
|
|
|
|
registerLintRules();
|
|
|
|
var byteStore = MemoryByteStore();
|
|
|
|
for (var i = 0; i < 2; i++) {
|
|
var collection = AnalysisContextCollectionImpl(
|
|
sdkPath: '/Users/scheglov/Applications/dart-sdk',
|
|
resourceProvider: resourceProvider,
|
|
includedPaths: [
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/analysis_server',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/linter',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/analyzer',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/analyzer_plugin',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/analyzer/lib/src/dart/element',
|
|
// '/Users/scheglov/dart/admin-portal',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/tests/language/class/large_class_declaration_test.dart',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/_fe_analyzer_shared/lib/src/scanner/token_impl.dart',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/pkg/analyzer/test/generated/test_support.dart',
|
|
// '/Users/scheglov/dart/flutter-packages/packages/metrics_center',
|
|
'/Users/scheglov/dart/flutter-packages/packages/webview_flutter/webview_flutter_android',
|
|
// '/Users/scheglov/Source/flutter/packages/flutter/lib',
|
|
// '/Users/scheglov/Source/flutter/engine/src/flutter/lib/web_ui/lib/pointer.dart',
|
|
// '/Users/scheglov/Source/flutter/packages/flutter/lib/src/painting/alignment.dart',
|
|
// '/Users/scheglov/Source/flutter/packages/flutter/lib/src/animation/animation_controller.dart',
|
|
// '/Users/scheglov/Source/Dart/sdk.git/sdk/tests/co19/src/Language/Classes/Getters/static_getter_t03.dart',
|
|
],
|
|
byteStore: byteStore,
|
|
);
|
|
|
|
var timer = Stopwatch()..start();
|
|
for (var analysisContext in collection.contexts) {
|
|
print(analysisContext.contextRoot.root.path);
|
|
var analysisSession = analysisContext.currentSession;
|
|
for (var path in analysisContext.contextRoot.analyzedFiles().sorted()) {
|
|
if (path.endsWith('.dart')) {
|
|
print(path);
|
|
var libResult = await analysisSession.getResolvedLibrary(path);
|
|
if (libResult is ResolvedLibraryResult) {
|
|
for (var unitResult in libResult.units) {
|
|
print(' ${unitResult.path}');
|
|
var ep = '\n ';
|
|
print(' errors:$ep${unitResult.diagnostics.join(ep)}');
|
|
// print('---');
|
|
// print(unitResult.content);
|
|
// print('---');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
print('[time: ${timer.elapsedMilliseconds} ms]');
|
|
|
|
{
|
|
var buffer = StringBuffer();
|
|
collection.scheduler.accumulatedPerformance.write(buffer: buffer);
|
|
print(buffer);
|
|
collection.scheduler.accumulatedPerformance = OperationPerformanceImpl(
|
|
'<scheduler>',
|
|
);
|
|
}
|
|
|
|
await collection.dispose();
|
|
}
|
|
}
|