Revert "Copy 'meta' and 'js' packages from pkg/, instead of partial duplicates."
This reverts commit 7395ec9a6a46c6064a8901f99ec59a4b1b6fae70.
Reason for revert: Breaks analyzer tests in google3, breaks linter tests.
Original change's description:
> Copy 'meta' and 'js' packages from pkg/, instead of partial duplicates.
>
> It does not seem to affect timings of running tests, at least locally.
>
> Change-Id: Icc7c86b5fa6deaf18032e701d685911b50e7591e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234683
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Samuel Rawlins <srawlins@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
TBR=scheglov@google.com,brianwilkerson@google.com,srawlins@google.com
Change-Id: Ib47fbbc9ff743f5a4ea35504d268ee92c8072ac8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234703
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_packages.dart b/pkg/analyzer/lib/src/test_utilities/mock_packages.dart
index 102def5..5c68765 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_packages.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_packages.dart
@@ -3,16 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/file_system/file_system.dart';
-import 'package:analyzer/file_system/physical_file_system.dart';
/// Helper for creating mock packages.
class MockPackages {
- final String packageRoot;
-
- MockPackages(this.packageRoot);
-
/// Create a fake 'ffi' package that can be used by tests.
- void addFfiPackageFiles(Folder rootFolder) {
+ static void addFfiPackageFiles(Folder rootFolder) {
var libFolder = rootFolder.getChildAssumingFolder('lib');
libFolder.getChildAssumingFile('ffi.dart').writeAsStringSync(r'''
import 'dart:ffi';
@@ -38,23 +33,201 @@
''');
}
- /// Copy the content of the `pkg/js` into the [target] folder.
- void addJsPackageFiles(Folder target) {
- _copyPackageContent('js', target);
+ /// Create a fake 'js' package that can be used by tests.
+ static void addJsPackageFiles(Folder rootFolder) {
+ var libFolder = rootFolder.getChildAssumingFolder('lib');
+ libFolder.getChildAssumingFile('js.dart').writeAsStringSync(r'''
+library js;
+
+class JS {
+ const JS([String js]);
+}
+''');
}
- /// Copy the content of the `pkg/meta` into the [target] folder.
- void addMetaPackageFiles(Folder target) {
- _copyPackageContent('meta', target);
- }
+ /// Create a fake 'meta' package that can be used by tests.
+ static void addMetaPackageFiles(Folder rootFolder) {
+ var libFolder = rootFolder.getChildAssumingFolder('lib');
+ libFolder.getChildAssumingFile('meta.dart').writeAsStringSync(r'''
+library meta;
- void _copyPackageContent(String packageName, Folder target) {
- var physicalProvider = PhysicalResourceProvider.INSTANCE;
- var physicalSource = physicalProvider.getFolder(
- physicalProvider.pathContext.join(packageRoot, packageName),
- );
- for (var child in physicalSource.getChildren()) {
- child.copyTo(target);
- }
+import 'meta_meta.dart';
+
+const _AlwaysThrows alwaysThrows = _AlwaysThrows();
+
+@Deprecated('Use the `covariant` modifier instead')
+const _Checked checked = _Checked();
+
+const _DoNotStore doNotStore = _DoNotStore();
+
+const _Experimental experimental = _Experimental();
+
+const _Factory factory = _Factory();
+
+const Immutable immutable = Immutable();
+
+const _Internal internal = _Internal();
+
+const _IsTest isTest = _IsTest();
+
+const _IsTestGroup isTestGroup = _IsTestGroup();
+
+const _Literal literal = _Literal();
+
+const _MustCallSuper mustCallSuper = _MustCallSuper();
+
+const _NonVirtual nonVirtual = _NonVirtual();
+
+const _OptionalTypeArgs optionalTypeArgs = _OptionalTypeArgs();
+
+const _Protected protected = _Protected();
+
+const Required required = Required();
+
+const _Sealed sealed = _Sealed();
+
+const UseResult useResult = UseResult();
+
+@Deprecated('No longer has meaning')
+const _Virtual virtual = _Virtual();
+
+const _VisibleForOverriding visibleForOverriding = _VisibleForOverriding();
+
+const _VisibleForTesting visibleForTesting = _VisibleForTesting();
+
+class Immutable {
+ final String reason;
+
+ const Immutable([this.reason = '']);
+}
+
+class Required {
+ final String reason;
+
+ const Required([this.reason = '']);
+}
+
+@Target({
+ TargetKind.field,
+ TargetKind.function,
+ TargetKind.getter,
+ TargetKind.method,
+ TargetKind.topLevelVariable,
+})
+class UseResult {
+ final String reason;
+
+ final String? parameterDefined;
+
+ const UseResult([this.reason = '']) : parameterDefined = null;
+
+ const UseResult.unless({required this.parameterDefined, this.reason = ''});
+}
+
+class _AlwaysThrows {
+ const _AlwaysThrows();
+}
+
+class _Checked {
+ const _Checked();
+}
+
+@Target({
+ TargetKind.classType,
+ TargetKind.function,
+ TargetKind.getter,
+ TargetKind.library,
+ TargetKind.method,
+})
+class _DoNotStore {
+ const _DoNotStore();
+}
+
+class _Experimental {
+ const _Experimental();
+}
+
+class _Factory {
+ const _Factory();
+}
+
+class _Internal {
+ const _Internal();
+}
+
+class _IsTest {
+ const _IsTest();
+}
+
+class _IsTestGroup {
+ const _IsTestGroup();
+}
+
+class _Literal {
+ const _Literal();
+}
+
+class _MustCallSuper {
+ const _MustCallSuper();
+}
+
+class _NonVirtual {
+ const _NonVirtual();
+}
+
+@Target({
+ TargetKind.classType,
+ TargetKind.extension,
+ TargetKind.function,
+ TargetKind.method,
+ TargetKind.mixinType,
+ TargetKind.typedefType,
+})
+class _OptionalTypeArgs {
+ const _OptionalTypeArgs();
+}
+
+class _Protected {
+ const _Protected();
+}
+
+class _Sealed {
+ const _Sealed();
+}
+
+class _VisibleForOverriding {
+ const _VisibleForOverriding();
+}
+
+class _VisibleForTesting {
+ const _VisibleForTesting();
+}
+''');
+ libFolder.getChildAssumingFile('meta_meta.dart').writeAsStringSync(r'''
+library meta_meta;
+
+@Target({TargetKind.classType})
+class Target {
+ final Set<TargetKind> kinds;
+ const Target(this.kinds);
+}
+
+enum TargetKind {
+ classType,
+ enumType,
+ extension,
+ field,
+ function,
+ library,
+ getter,
+ method,
+ mixinType,
+ parameter,
+ setter,
+ topLevelVariable,
+ type,
+ typedefType,
+}
+''');
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
index 4d3bdbb..fd06856 100644
--- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -21,7 +21,6 @@
import 'package:analyzer/src/workspace/gn.dart';
import 'package:analyzer/src/workspace/package_build.dart';
import 'package:analyzer/src/workspace/pub.dart';
-import 'package:analyzer_utilities/package_root.dart';
import 'package:linter/src/rules.dart';
import 'package:meta/meta.dart';
import 'package:test/test.dart';
@@ -331,11 +330,9 @@
languageVersion: languageVersion ?? testPackageLanguageVersion,
);
- var mockPackages = MockPackages(packageRoot);
-
if (ffi) {
var ffiPath = '/packages/ffi';
- mockPackages.addFfiPackageFiles(
+ MockPackages.addFfiPackageFiles(
getFolder(ffiPath),
);
config.add(name: 'ffi', rootPath: ffiPath);
@@ -343,7 +340,7 @@
if (js) {
var jsPath = '/packages/js';
- mockPackages.addJsPackageFiles(
+ MockPackages.addJsPackageFiles(
getFolder(jsPath),
);
config.add(name: 'js', rootPath: jsPath);
@@ -351,7 +348,7 @@
if (meta) {
var metaPath = '/packages/meta';
- mockPackages.addMetaPackageFiles(
+ MockPackages.addMetaPackageFiles(
getFolder(metaPath),
);
config.add(name: 'meta', rootPath: metaPath);
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
index 2c76368..c52be8b 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
@@ -4,7 +4,6 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer/src/test_utilities/mock_packages.dart';
-import 'package:analyzer_utilities/package_root.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../dart/resolution/context_collection_resolution.dart';
@@ -34,7 +33,7 @@
void setUp() async {
super.setUp();
var metaPath = '$workspaceThirdPartyDartPath/meta';
- MockPackages(packageRoot).addMetaPackageFiles(
+ MockPackages.addMetaPackageFiles(
getFolder(metaPath),
);
newFile('$testPackageBazelBinPath/my.packages');
diff --git a/pkg/analyzer_plugin/test/support/abstract_context.dart b/pkg/analyzer_plugin/test/support/abstract_context.dart
index f46de6a..426644f 100644
--- a/pkg/analyzer_plugin/test/support/abstract_context.dart
+++ b/pkg/analyzer_plugin/test/support/abstract_context.dart
@@ -16,7 +16,6 @@
import 'package:analyzer/src/test_utilities/mock_sdk.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
-import 'package:analyzer_utilities/package_root.dart';
/// Finds an [Element] with the given [name].
Element? findChildElement(Element root, String name, [ElementKind? kind]) {
@@ -140,7 +139,7 @@
if (meta) {
var metaPath = '/packages/meta';
- MockPackages(packageRoot).addMetaPackageFiles(
+ MockPackages.addMetaPackageFiles(
getFolder(metaPath),
);
config.add(name: 'meta', rootPath: metaPath);