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);