Version 2.19.0-50.0.dev

Merge commit 'fd0d3b254690007d0ebc84175f30fa7d7491ec3e' into 'dev'
diff --git a/pkg/analysis_server/lib/src/handler/legacy/edit_get_fixes.dart b/pkg/analysis_server/lib/src/handler/legacy/edit_get_fixes.dart
index 09cfb62..f451cf8 100644
--- a/pkg/analysis_server/lib/src/handler/legacy/edit_get_fixes.dart
+++ b/pkg/analysis_server/lib/src/handler/legacy/edit_get_fixes.dart
@@ -130,7 +130,13 @@
         fixes.sort(Fix.compareFixes);
         var lineInfo = LineInfo.fromContent(content);
         var result = engine.ErrorsResultImpl(
-            session, file, Uri.file(file), lineInfo, false, errors);
+          session: session,
+          path: file,
+          uri: Uri.file(file),
+          lineInfo: lineInfo,
+          isPart: false,
+          errors: errors,
+        );
         var serverError = newAnalysisError_fromEngine(result, error);
         var errorFixes = AnalysisErrorFixes(serverError);
         errorFixesList.add(errorFixes);
@@ -230,7 +236,13 @@
         fixes.sort(Fix.compareFixes);
         var lineInfo = LineInfo.fromContent(content);
         var result = engine.ErrorsResultImpl(
-            session, file, Uri.file(file), lineInfo, false, errors);
+          session: session,
+          path: file,
+          uri: Uri.file(file),
+          lineInfo: lineInfo,
+          isPart: false,
+          errors: errors,
+        );
         var serverError = newAnalysisError_fromEngine(result, error);
         var errorFixes = AnalysisErrorFixes(serverError);
         errorFixesList.add(errorFixes);
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index 8351847..d8fcdce 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -685,7 +685,12 @@
 
     FileState file = _fsState.getFileForPath(path);
     return FileResultImpl(
-        currentSession, path, file.uri, file.lineInfo, file.isPart);
+      session: currentSession,
+      path: path,
+      uri: file.uri,
+      lineInfo: file.lineInfo,
+      isPart: file.isPart,
+    );
   }
 
   /// Return the [FileResult] for the Dart file with the given [path].
@@ -802,7 +807,10 @@
       units.add(unitResult);
     }
 
-    return ParsedLibraryResultImpl(currentSession, units);
+    return ParsedLibraryResultImpl(
+      session: currentSession,
+      units: units,
+    );
   }
 
   /// Return a [ParsedLibraryResult] for the library with the given [uri].
@@ -1016,8 +1024,16 @@
     FileState file = _fsState.getFileForPath(path);
     RecordingErrorListener listener = RecordingErrorListener();
     CompilationUnit unit = file.parse(listener);
-    return ParsedUnitResultImpl(currentSession, file.path, file.uri,
-        file.content, file.lineInfo, file.isPart, unit, listener.errors);
+    return ParsedUnitResultImpl(
+      session: currentSession,
+      path: file.path,
+      uri: file.uri,
+      content: file.content,
+      lineInfo: file.lineInfo,
+      isPart: file.isPart,
+      unit: unit,
+      errors: listener.errors,
+    );
   }
 
   /// Return a [ParsedUnitResult] for the file with the given [path].
@@ -1423,23 +1439,23 @@
         var unitFile = unitResult.file;
         resolvedUnits.add(
           ResolvedUnitResultImpl(
-            currentSession,
-            unitFile.path,
-            unitFile.uri,
-            unitFile.exists,
-            unitFile.content,
-            unitFile.lineInfo,
-            unitFile.isPart,
-            unitResult.unit,
-            unitResult.errors,
+            session: currentSession,
+            path: unitFile.path,
+            uri: unitFile.uri,
+            exists: unitFile.exists,
+            content: unitFile.content,
+            lineInfo: unitFile.lineInfo,
+            isPart: unitFile.isPart,
+            unit: unitResult.unit,
+            errors: unitResult.errors,
           ),
         );
       }
 
       return ResolvedLibraryResultImpl(
-        currentSession,
-        resolvedUnits.first.libraryElement,
-        resolvedUnits,
+        session: currentSession,
+        element: resolvedUnits.first.libraryElement,
+        units: resolvedUnits,
       );
     });
   }
@@ -1459,12 +1475,12 @@
       );
       var element = libraryContext.computeUnitElement(library, file);
       return UnitElementResultImpl(
-        currentSession,
-        path,
-        file.uri,
-        file.lineInfo,
-        file.isPart,
-        element,
+        session: currentSession,
+        path: path,
+        uri: file.uri,
+        lineInfo: file.lineInfo,
+        isPart: file.isPart,
+        element: element,
       );
     });
   }
@@ -1597,25 +1613,25 @@
     var index = unit.index!;
     if (content != null && resolvedUnit != null) {
       var resolvedUnitResult = ResolvedUnitResultImpl(
-        currentSession,
-        file.path,
-        file.uri,
-        file.exists,
-        content,
-        file.lineInfo,
-        file.isPart,
-        resolvedUnit,
-        errors,
+        session: currentSession,
+        path: file.path,
+        uri: file.uri,
+        exists: file.exists,
+        content: content,
+        lineInfo: file.lineInfo,
+        isPart: file.isPart,
+        unit: resolvedUnit,
+        errors: errors,
       );
       return AnalysisResult.unit(signature, resolvedUnitResult, index);
     } else {
       var errorsResult = ErrorsResultImpl(
-        currentSession,
-        file.path,
-        file.uri,
-        file.lineInfo,
-        file.isPart,
-        errors,
+        session: currentSession,
+        path: file.path,
+        uri: file.uri,
+        lineInfo: file.lineInfo,
+        isPart: file.isPart,
+        errors: errors,
       );
       return AnalysisResult.errors(signature, errorsResult, index);
     }
@@ -1681,12 +1697,12 @@
       FileState file, String missingUri) {
     // TODO(scheglov) Find a better way to report this.
     var errorsResult = ErrorsResultImpl(
-      currentSession,
-      file.path,
-      file.uri,
-      file.lineInfo,
-      file.isPart,
-      [
+      session: currentSession,
+      path: file.path,
+      uri: file.uri,
+      lineInfo: file.lineInfo,
+      isPart: file.isPart,
+      errors: [
         AnalysisError(file.source, 0, 0,
             CompileTimeErrorCode.MISSING_DART_LIBRARY, [missingUri])
       ],
diff --git a/pkg/analyzer/lib/src/dart/analysis/results.dart b/pkg/analyzer/lib/src/dart/analysis/results.dart
index 124c052..be68147 100644
--- a/pkg/analyzer/lib/src/dart/analysis/results.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/results.dart
@@ -16,7 +16,9 @@
   @override
   final AnalysisSession session;
 
-  AnalysisResultImpl(this.session);
+  AnalysisResultImpl({
+    required this.session,
+  });
 }
 
 class ElementDeclarationResultImpl implements ElementDeclarationResult {
@@ -40,8 +42,14 @@
   @override
   final List<AnalysisError> errors;
 
-  ErrorsResultImpl(super.session, super.path, super.uri, super.lineInfo,
-      super.isPart, this.errors);
+  ErrorsResultImpl({
+    required super.session,
+    required super.path,
+    required super.uri,
+    required super.lineInfo,
+    required super.isPart,
+    required this.errors,
+  });
 }
 
 class FileResultImpl extends AnalysisResultImpl implements FileResult {
@@ -57,8 +65,13 @@
   @override
   final bool isPart;
 
-  FileResultImpl(
-      super.session, this.path, this.uri, this.lineInfo, this.isPart);
+  FileResultImpl({
+    required super.session,
+    required this.path,
+    required this.uri,
+    required this.lineInfo,
+    required this.isPart,
+  });
 }
 
 class LibraryElementResultImpl implements LibraryElementResult {
@@ -73,7 +86,10 @@
   @override
   final List<ParsedUnitResult> units;
 
-  ParsedLibraryResultImpl(super.session, this.units);
+  ParsedLibraryResultImpl({
+    required super.session,
+    required this.units,
+  });
 
   @override
   ElementDeclarationResult? getElementDeclaration(Element element) {
@@ -116,9 +132,16 @@
   @override
   final List<AnalysisError> errors;
 
-  ParsedUnitResultImpl(AnalysisSession session, String path, Uri uri,
-      this.content, LineInfo lineInfo, bool isPart, this.unit, this.errors)
-      : super(session, path, uri, lineInfo, isPart);
+  ParsedUnitResultImpl({
+    required super.session,
+    required super.path,
+    required super.uri,
+    required this.content,
+    required super.lineInfo,
+    required super.isPart,
+    required this.unit,
+    required this.errors,
+  });
 }
 
 class ParseStringResultImpl implements ParseStringResult {
@@ -189,7 +212,11 @@
   @override
   final List<ResolvedUnitResult> units;
 
-  ResolvedLibraryResultImpl(super.session, this.element, this.units);
+  ResolvedLibraryResultImpl({
+    required super.session,
+    required this.element,
+    required this.units,
+  });
 
   @override
   TypeProvider get typeProvider => element.typeProvider;
@@ -239,17 +266,17 @@
   @override
   final List<AnalysisError> errors;
 
-  ResolvedUnitResultImpl(
-      AnalysisSession session,
-      String path,
-      Uri uri,
-      this.exists,
-      this.content,
-      LineInfo lineInfo,
-      bool isPart,
-      this.unit,
-      this.errors)
-      : super(session, path, uri, lineInfo, isPart);
+  ResolvedUnitResultImpl({
+    required super.session,
+    required super.path,
+    required super.uri,
+    required this.exists,
+    required this.content,
+    required super.lineInfo,
+    required super.isPart,
+    required this.unit,
+    required this.errors,
+  });
 
   @override
   LibraryElement get libraryElement {
@@ -268,8 +295,14 @@
   @override
   final CompilationUnitElement element;
 
-  UnitElementResultImpl(super.session, super.path, super.uri, super.lineInfo,
-      super.isPart, this.element);
+  UnitElementResultImpl({
+    required super.session,
+    required super.path,
+    required super.uri,
+    required super.lineInfo,
+    required super.isPart,
+    required this.element,
+  });
 }
 
 /// A visitor which locates the [AstNode] which declares [element].
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index e9ff575..60118ed 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -347,12 +347,12 @@
       }
 
       return ErrorsResultImpl(
-        contextObjects!.analysisSession,
-        path,
-        file.uri,
-        file.lineInfo,
-        false, // isPart
-        errors,
+        session: contextObjects!.analysisSession,
+        path: path,
+        uri: file.uri,
+        lineInfo: file.lineInfo,
+        isPart: false,
+        errors: errors,
       );
     });
   }
@@ -659,21 +659,24 @@
       var resolvedUnits = results.map((fileResult) {
         var file = fileResult.file;
         return ResolvedUnitResultImpl(
-          contextObjects!.analysisSession,
-          file.path,
-          file.uri,
-          file.exists,
-          file.content,
-          file.lineInfo,
-          file.isPart,
-          fileResult.unit,
-          fileResult.errors,
+          session: contextObjects!.analysisSession,
+          path: file.path,
+          uri: file.uri,
+          exists: file.exists,
+          content: file.content,
+          lineInfo: file.lineInfo,
+          isPart: file.isPart,
+          unit: fileResult.unit,
+          errors: fileResult.errors,
         );
       }).toList();
 
       var libraryUnit = resolvedUnits.first;
-      var result = ResolvedLibraryResultImpl(contextObjects!.analysisSession,
-          libraryUnit.libraryElement, resolvedUnits);
+      var result = ResolvedLibraryResultImpl(
+        session: contextObjects!.analysisSession,
+        element: libraryUnit.libraryElement,
+        units: resolvedUnits,
+      );
 
       cachedResults[path] = result;
 
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index d2b2f72..cfaeac2 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -251,8 +251,14 @@
             analysisDriver.currentSession.analysisContext.contextRoot.root.path,
           );
           await formatter.formatErrors([
-            ErrorsResultImpl(analysisDriver.currentSession, path,
-                pathContext.toUri(path), lineInfo, false, errors)
+            ErrorsResultImpl(
+              session: analysisDriver.currentSession,
+              path: path,
+              uri: pathContext.toUri(path),
+              lineInfo: lineInfo,
+              isPart: false,
+              errors: errors,
+            )
           ]);
           for (var error in errors) {
             var severity = determineProcessedSeverity(
@@ -307,8 +313,14 @@
               }
               var lineInfo = LineInfo.fromContent(content);
               await formatter.formatErrors([
-                ErrorsResultImpl(analysisDriver.currentSession, path,
-                    pathContext.toUri(path), lineInfo, false, errors)
+                ErrorsResultImpl(
+                  session: analysisDriver.currentSession,
+                  path: path,
+                  uri: pathContext.toUri(path),
+                  lineInfo: lineInfo,
+                  isPart: false,
+                  errors: errors,
+                ),
               ]);
             }
           } catch (exception) {
@@ -323,8 +335,14 @@
             var errors = validator.validate(
                 content, analysisDriver.analysisOptions.chromeOsManifestChecks);
             await formatter.formatErrors([
-              ErrorsResultImpl(analysisDriver.currentSession, path,
-                  pathContext.toUri(path), lineInfo, false, errors)
+              ErrorsResultImpl(
+                session: analysisDriver.currentSession,
+                path: path,
+                uri: pathContext.toUri(path),
+                lineInfo: lineInfo,
+                isPart: false,
+                errors: errors,
+              ),
             ]);
             for (var error in errors) {
               var severity = determineProcessedSeverity(
diff --git a/pkg/analyzer_cli/test/reporter_test.dart b/pkg/analyzer_cli/test/reporter_test.dart
index 4f65380..e54bfca 100644
--- a/pkg/analyzer_cli/test/reporter_test.dart
+++ b/pkg/analyzer_cli/test/reporter_test.dart
@@ -107,8 +107,14 @@
   var source = MockSource(path, package_path.toUri(path));
   var error = MockAnalysisError(source, code, 20, 'MSG');
 
-  return ErrorsResultImpl(_MockAnalysisSession(), source.fullName,
-      Uri.file('/'), lineInfo, false, [error]);
+  return ErrorsResultImpl(
+    session: _MockAnalysisSession(),
+    path: source.fullName,
+    uri: Uri.file('/'),
+    lineInfo: lineInfo,
+    isPart: false,
+    errors: [error],
+  );
 }
 
 class _MockAnalysisSession implements AnalysisSession {
diff --git a/tools/VERSION b/tools/VERSION
index 65ce53c..dc85efc 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 49
+PRERELEASE 50
 PRERELEASE_PATCH 0
\ No newline at end of file