Version 2.18.0-192.0.dev

Merge commit '91222348ce778c2779330fe9f30928cb26bc549c' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a94e4e..96caad8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2067,11 +2067,11 @@
 
 ### Dart2JS
 
-- Adds support for deferred loading of types seperately from classes. This
+- Adds support for deferred loading of types separately from classes. This
   enables dart2js to make better optimization choices when deferred loading.
   This work is necessary to address unsoundness in the deferred loading
   algorithm. Currently, fixing this unsoundness would result in code bloat, but
-  loading types seperately from classes will allow us to fix the unsoundness
+  loading types separately from classes will allow us to fix the unsoundness
   with only a minimal regression. To explicitly disable deferred loading of
   types, pass `--no-defer-class-types`. See the original post on the
   [unsoundness in the deferred loading algorithm][].
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index 0fd1cc0..0e557c3 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -7081,7 +7081,7 @@
       Token afterIdentifier = next.next!;
       //
       // found <typeref> `?` <identifier>
-      // with no annotations or modifiers preceeding it
+      // with no annotations or modifiers preceding it
       //
       if (optional('=', afterIdentifier)) {
         //
diff --git a/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart b/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
index 356601f..63c9ba7 100644
--- a/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
@@ -782,7 +782,7 @@
   /**
    * Initialize a newly created token to have the given [type] and [offset].
    */
-  factory Token(TokenType type, int offset, [CommentToken? preceedingComment]) =
+  factory Token(TokenType type, int offset, [CommentToken? precedingComment]) =
       SimpleToken;
 
   /**
diff --git a/pkg/analysis_server/benchmark/perf/memory_tests.dart b/pkg/analysis_server/benchmark/perf/memory_tests.dart
index c751542..488c61c 100644
--- a/pkg/analysis_server/benchmark/perf/memory_tests.dart
+++ b/pkg/analysis_server/benchmark/perf/memory_tests.dart
@@ -175,7 +175,7 @@
     _test.projectFolderPath = roots.single;
     _test.projectFolderUri = Uri.file(_test.projectFolderPath);
     // Use some reasonable default client capabilities that will activate
-    // features that will excercise more code that benchmarks should measure
+    // features that will exercise more code that benchmarks should measure
     // (such as applyEdit to allow suggestion sets results to be merged in).
     await _test.initialize(
       textDocumentCapabilities: withCompletionItemSnippetSupport(
diff --git a/pkg/analysis_server/lib/protocol/protocol.dart b/pkg/analysis_server/lib/protocol/protocol.dart
index b093fc0..27ea015 100644
--- a/pkg/analysis_server/lib/protocol/protocol.dart
+++ b/pkg/analysis_server/lib/protocol/protocol.dart
@@ -202,7 +202,7 @@
   ///     'id': String,
   ///     'method': methodName,
   ///     'params': {
-  ///       paramter_name: value
+  ///       parameter_name: value
   ///     }
   ///   }
   ///
@@ -238,7 +238,7 @@
   ///     'id': String,
   ///     'method': methodName,
   ///     'params': {
-  ///       paramter_name: value
+  ///       parameter_name: value
   ///     }
   ///   }
   ///
@@ -268,7 +268,7 @@
   /// The response to be returned as a result of the failure.
   final Response response;
 
-  /// Initialize a newly created exception to return the given reponse.
+  /// Initialize a newly created exception to return the given response.
   RequestFailure(this.response);
 }
 
diff --git a/pkg/analysis_server/lib/src/computer/computer_folding.dart b/pkg/analysis_server/lib/src/computer/computer_folding.dart
index be1efd5..816e3cd 100644
--- a/pkg/analysis_server/lib/src/computer/computer_folding.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_folding.dart
@@ -145,7 +145,7 @@
       }
       isFirstToken = false;
       // Only exit the loop when hitting EOF *after* processing the token as
-      // the EOF token may have preceeding comments.
+      // the EOF token may have preceding comments.
       if (token.type == TokenType.EOF) {
         break;
       }
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights.dart b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
index 5c6934c..503a8ec 100644
--- a/pkg/analysis_server/lib/src/computer/computer_highlights.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
@@ -86,7 +86,7 @@
       }
       if (token.type == TokenType.EOF) {
         // Only exit the loop *after* processing the EOF token as it may
-        // have preceeding comments.
+        // have preceding comments.
         break;
       }
       token = token.next;
@@ -517,7 +517,7 @@
       _regions.add(HighlightRegion(type, offset, length));
     }
     if (_computeSemanticTokens) {
-      // Use default mappings if an overriden type/modifiers were not supplied.
+      // Use default mappings if an overridden type/modifiers were not supplied.
       semanticTokenType ??= highlightRegionTokenTypes[type];
       semanticTokenModifiers ??= highlightRegionTokenModifiers[type];
       if (semanticTokenType != null) {
diff --git a/pkg/analysis_server/lib/src/lsp/constants.dart b/pkg/analysis_server/lib/src/lsp/constants.dart
index a3a718d..49ae1ca 100644
--- a/pkg/analysis_server/lib/src/lsp/constants.dart
+++ b/pkg/analysis_server/lib/src/lsp/constants.dart
@@ -16,7 +16,7 @@
 ///     myLongFunctionName();
 ///     print(myLong^)
 ///
-/// The `.` is not included because it falsely triggers whenver typing a
+/// The `.` is not included because it falsely triggers whenever typing a
 /// cascade (`..`), inserting the very first completion instead of just a second
 /// period.
 const dartCompletionCommitCharacters = ['('];
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_initialized.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_initialized.dart
index a0a34fa..d7e9c3a 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_initialized.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_initialized.dart
@@ -6,9 +6,9 @@
 import 'package:analysis_server/src/lsp/handlers/handler_states.dart';
 import 'package:analysis_server/src/lsp/handlers/handlers.dart';
 
-class IntializedMessageHandler extends MessageHandler<InitializedParams, void> {
+class InitializedMessageHandler extends MessageHandler<InitializedParams, void> {
   final List<String> openWorkspacePaths;
-  IntializedMessageHandler(
+  InitializedMessageHandler(
     super.server,
     this.openWorkspacePaths,
   );
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_references.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_references.dart
index 866b7e8..0f72ab1 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_references.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_references.dart
@@ -37,7 +37,7 @@
     final unit = await path.mapResult(requireResolvedUnit);
     final offset = await unit.mapResult((unit) => toOffset(unit.lineInfo, pos));
     return offset.mapResult(
-        (offset) => _getRefererences(path.result, offset, params, unit.result));
+        (offset) => _getReferences(path.result, offset, params, unit.result));
   }
 
   List<Location> _getDeclarations(CompilationUnit unit, int offset) {
@@ -53,7 +53,7 @@
     }).whereNotNull().toList();
   }
 
-  Future<ErrorOr<List<Location>?>> _getRefererences(String path, int offset,
+  Future<ErrorOr<List<Location>?>> _getReferences(String path, int offset,
       ReferenceParams params, ResolvedUnitResult unit) async {
     var element = await server.getElementAtOffset(path, offset);
     if (element is ImportElement) {
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_reject.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_reject.dart
index 14348e8..715170e 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_reject.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_reject.dart
@@ -5,7 +5,7 @@
 import 'package:analysis_server/lsp_protocol/protocol.dart';
 import 'package:analysis_server/src/lsp/handlers/handlers.dart';
 
-/// A [MessageHandler] that rejects specific tpyes of messages with a given
+/// A [MessageHandler] that rejects specific types of messages with a given
 /// error code/message.
 class RejectMessageHandler extends MessageHandler<Object?, void> {
   @override
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_rename.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_rename.dart
index c73c919..98d4e5f 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_rename.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_rename.dart
@@ -114,7 +114,7 @@
     final path = pathOfDoc(params.textDocument);
     // If the client provided us a version doc identifier, we'll use it to ensure
     // we're not computing a rename for an old document. If not, we'll just assume
-    // the version the server had at the time of recieving the request is valid
+    // the version the server had at the time of receiving the request is valid
     // and then use it to verify the document hadn't changed again before we
     // send the edits.
     final docIdentifier = await path.mapResult((path) => success(
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_states.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_states.dart
index 5369d17..d9a9cfa 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_states.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_states.dart
@@ -42,7 +42,7 @@
 import 'package:analysis_server/src/lsp/handlers/handlers.dart';
 import 'package:analysis_server/src/lsp/lsp_analysis_server.dart';
 
-/// The server moves to this state when a critical unrecoverrable error (for
+/// The server moves to this state when a critical unrecoverable error (for
 /// example, inconsistent document state between server/client) occurs and will
 /// reject all messages.
 class FailureStateMessageHandler extends ServerStateMessageHandler {
@@ -118,7 +118,7 @@
         'Server already initialized');
     registerHandler(ShutdownMessageHandler(server));
     registerHandler(ExitMessageHandler(server));
-    registerHandler(IntializedMessageHandler(
+    registerHandler(InitializedMessageHandler(
       server,
       openWorkspacePaths,
     ));
diff --git a/pkg/analysis_server/lib/src/lsp/semantic_tokens/encoder.dart b/pkg/analysis_server/lib/src/lsp/semantic_tokens/encoder.dart
index 9689ab2..fc3cc26 100644
--- a/pkg/analysis_server/lib/src/lsp/semantic_tokens/encoder.dart
+++ b/pkg/analysis_server/lib/src/lsp/semantic_tokens/encoder.dart
@@ -106,7 +106,7 @@
     }
   }
 
-  /// Splits overlapping/nested tokens into descrete ranges for the "top-most"
+  /// Splits overlapping/nested tokens into discrete ranges for the "top-most"
   /// token.
   ///
   /// Tokens must be pre-sorted by offset, with tokens having the same offset
diff --git a/pkg/analysis_server/lib/src/lsp/semantic_tokens/legend.dart b/pkg/analysis_server/lib/src/lsp/semantic_tokens/legend.dart
index 1a49ca3..a79a488 100644
--- a/pkg/analysis_server/lib/src/lsp/semantic_tokens/legend.dart
+++ b/pkg/analysis_server/lib/src/lsp/semantic_tokens/legend.dart
@@ -23,7 +23,7 @@
   late List<SemanticTokenModifiers> _usedTokenModifiers;
 
   /// All [SemanticTokenTypes] the server may generate. The order of these
-  /// items is important as the indexes will be used in communication betewen
+  /// items is important as the indexes will be used in communication between
   /// server and client.
   late List<SemanticTokenTypes> _usedTokenTypes;
 
diff --git a/pkg/analysis_server/lib/src/lsp/server_capabilities_computer.dart b/pkg/analysis_server/lib/src/lsp/server_capabilities_computer.dart
index a3255c5..ca9e238 100644
--- a/pkg/analysis_server/lib/src/lsp/server_capabilities_computer.dart
+++ b/pkg/analysis_server/lib/src/lsp/server_capabilities_computer.dart
@@ -8,7 +8,7 @@
 import 'package:analysis_server/src/lsp/lsp_analysis_server.dart';
 import 'package:analysis_server/src/lsp/semantic_tokens/legend.dart';
 
-/// Helper for reading client dynamic registrations which may be ommitted by the
+/// Helper for reading client dynamic registrations which may be omitted by the
 /// client.
 class ClientDynamicRegistrations {
   /// All dynamic registrations supported by the Dart LSP server.
@@ -42,7 +42,7 @@
     // workspace.fileOperations covers all file operation methods but we only
     // support this one.
     Method.workspace_willRenameFiles,
-    // Sematic tokens are all registered under a single "method" as the
+    // Semantic tokens are all registered under a single "method" as the
     // actual methods are controlled by the server capabilities.
     CustomMethods.semanticTokenDynamicRegistration,
   ];
@@ -168,7 +168,7 @@
 
     // When adding new capabilities to the server that may apply to specific file
     // types, it's important to update
-    // [IntializedMessageHandler._performDynamicRegistration()] to notify
+    // [InitializedMessageHandler._performDynamicRegistration()] to notify
     // supporting clients of this. This avoids clients needing to hard-code the
     // list of what files types we support (and allows them to avoid sending
     // requests where we have only partial support for some types).
@@ -332,7 +332,7 @@
 
     // Completion is supported for some synchronised files that we don't _fully_
     // support (eg. YAML). If these gain support for things like hover, we may
-    // wish to move them to fullySupprtedTypes but add an exclusion for formatting.
+    // wish to move them to fullySupportedTypes but add an exclusion for formatting.
     final completionSupportedTypesExcludingDart = {
       // Dart is excluded here at it's registered separately with trigger/commit
       // characters.
diff --git a/pkg/analysis_server/lib/src/lsp/snippets.dart b/pkg/analysis_server/lib/src/lsp/snippets.dart
index 48d7511..4ccdf33 100644
--- a/pkg/analysis_server/lib/src/lsp/snippets.dart
+++ b/pkg/analysis_server/lib/src/lsp/snippets.dart
@@ -182,7 +182,7 @@
       );
     }
 
-    // Otherwise, we will use a choice. In a choice it'snot valid to be the
+    // Otherwise, we will use a choice. In a choice it's not valid to be the
     // final (0th) tabstop.
     assert(placeholderNumber == null || placeholderNumber > 0);
 
@@ -193,7 +193,7 @@
       placeholderNumber = null;
     }
 
-    placeholderNumber = _usePlaceholerNumber(placeholderNumber);
+    placeholderNumber = _usePlaceholderNumber(placeholderNumber);
 
     final escapedChoices = uniqueChoices.map(escapeSnippetChoiceText).join(',');
     _buffer.write('\${$placeholderNumber|$escapedChoices|}');
@@ -212,7 +212,7 @@
       return appendTabStop(placeholderNumber: placeholderNumber);
     }
 
-    placeholderNumber = _usePlaceholerNumber(placeholderNumber);
+    placeholderNumber = _usePlaceholderNumber(placeholderNumber);
 
     final escapedText = escapeSnippetVariableText(text);
     _buffer.write(r'${');
@@ -228,7 +228,7 @@
   ///
   /// Returns the placeholder number used.
   int appendTabStop({int? placeholderNumber}) {
-    placeholderNumber = _usePlaceholerNumber(placeholderNumber);
+    placeholderNumber = _usePlaceholderNumber(placeholderNumber);
 
     _buffer.write(r'$');
     _buffer.write(placeholderNumber);
@@ -242,7 +242,7 @@
   }
 
   /// Generates the current and next placeholder numbers.
-  int _usePlaceholerNumber(int? placeholderNumber) {
+  int _usePlaceholderNumber(int? placeholderNumber) {
     // If a number was not supplied, use the next available one.
     placeholderNumber ??= _nextPlaceholder;
     // If the number we used was the highest seen, set the next one after it.
@@ -332,13 +332,13 @@
       appendText(text.substring(offset, placeholder.offset));
 
       final linkedGroupId = placeholder.linkedGroupId;
-      int? thisPaceholderNumber;
+      int? thisPlaceholderNumber;
       // Override the placeholder number if it's the final one (0) or needs to
       // re-use an existing one for a linked group.
       if (placeholder.isFinal) {
-        thisPaceholderNumber = 0;
+        thisPlaceholderNumber = 0;
       } else if (linkedGroupId != null) {
-        thisPaceholderNumber = placeholderIdForLinkedGroupId[linkedGroupId];
+        thisPlaceholderNumber = placeholderIdForLinkedGroupId[linkedGroupId];
       }
 
       // Append the placeholder/choices.
@@ -350,18 +350,18 @@
       // placeholder but it's faster if we can avoid putting a single item into
       // a set and then detecting it.
       if (placeholder.suggestions == null) {
-        thisPaceholderNumber = appendPlaceholder(
+        thisPlaceholderNumber = appendPlaceholder(
           placeholderText,
-          placeholderNumber: thisPaceholderNumber,
+          placeholderNumber: thisPlaceholderNumber,
         );
       } else {
         final choices = <String>{
           if (placeholderText.isNotEmpty) placeholderText,
           ...?placeholder.suggestions,
         };
-        thisPaceholderNumber = appendChoice(
+        thisPlaceholderNumber = appendChoice(
           choices,
-          placeholderNumber: thisPaceholderNumber,
+          placeholderNumber: thisPlaceholderNumber,
         );
       }
 
@@ -371,7 +371,7 @@
       // Store the placeholder number used for linked groups so it can be reused
       // by subsequent references to it.
       if (linkedGroupId != null) {
-        placeholderIdForLinkedGroupId[linkedGroupId] = thisPaceholderNumber;
+        placeholderIdForLinkedGroupId[linkedGroupId] = thisPlaceholderNumber;
       }
     }
 
diff --git a/pkg/analysis_server/lib/src/lsp/source_edits.dart b/pkg/analysis_server/lib/src/lsp/source_edits.dart
index e41855e..99021fb 100644
--- a/pkg/analysis_server/lib/src/lsp/source_edits.dart
+++ b/pkg/analysis_server/lib/src/lsp/source_edits.dart
@@ -270,7 +270,7 @@
     final formattedToken = formattedTokens.current;
 
     if (unformattedToken.lexeme != formattedToken.lexeme) {
-      // If the token lexems do not match, there is a difference in the parsed
+      // If the token lexemes do not match, there is a difference in the parsed
       // token streams (this should not ordinarily happen) so fall back to a
       // full edit.
       return success(_generateFullEdit(lineInfo, unformatted, formatted));
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
index 312937f..bc4712e 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/arglist_contributor.dart
@@ -154,7 +154,7 @@
           return true;
         }
 
-        // Caret is in the between two values that are not seperated by a comma.
+        // Caret is in the between two values that are not separated by a comma.
         //     f(one: 1, tw^'foo');
         // must be at least two and the target not last.
         var args = argumentList.arguments;
diff --git a/pkg/analysis_server/lib/src/services/correction/organize_imports.dart b/pkg/analysis_server/lib/src/services/correction/organize_imports.dart
index 4a34d27..30ace8f 100644
--- a/pkg/analysis_server/lib/src/services/correction/organize_imports.dart
+++ b/pkg/analysis_server/lib/src/services/correction/organize_imports.dart
@@ -89,9 +89,9 @@
           var offset = directive.offset;
           var end = directive.end;
 
-          final isPsuedoLibraryDirective = directive == unit.directives.first;
+          final isPseudoLibraryDirective = directive == unit.directives.first;
           Annotation? lastLibraryAnnotation;
-          if (isPsuedoLibraryDirective) {
+          if (isPseudoLibraryDirective) {
             // Find the last library-level annotation that does not come
             // after any non-library annotation. If there are already
             // non-library annotations before library annotations, we will not
@@ -196,7 +196,7 @@
               postAnnotationCommentText,
               uriContent,
               trailingCommentText,
-              isPsuedoLibraryDirective
+              isPseudoLibraryDirective
                   ? (libraryDocsAndAnnotationsEndOffset ?? offset)
                   : offset,
               end,
diff --git a/pkg/analysis_server/lib/src/services/flutter/property.dart b/pkg/analysis_server/lib/src/services/flutter/property.dart
index 2a6586d..416aaeb 100644
--- a/pkg/analysis_server/lib/src/services/flutter/property.dart
+++ b/pkg/analysis_server/lib/src/services/flutter/property.dart
@@ -405,7 +405,7 @@
   /// of the `Container` semantic, such as `Padding`. Such wrapper should be
   /// replaced with full `Container` when `Container` is materialized.
   ///
-  /// Might be `null`, if no existing replacable wrapped.
+  /// Might be `null`, if no existing replaceable wrapped.
   InstanceCreationExpression? _parentCreation;
 
   /// The argument from the [_parentCreation] that should be moved into
diff --git a/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart b/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart
index db78765..9a75302 100644
--- a/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart
+++ b/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart
@@ -19,9 +19,10 @@
   static const maxCacheAge = Duration(hours: 18);
   static const maxPackageDetailsRequestsInFlight = 5;
 
-  /// Requests to write the cache from fetching packge details will be debounced
-  /// by this duration to prevent many writes while the user may be cursoring
-  /// though completion requests that will trigger fetching descriptions/versions.
+  /// Requests to write the cache from fetching package details will be
+  /// debounced by this duration to prevent many writes while the user may be
+  /// cursoring though completion requests that will trigger fetching
+  /// descriptions/versions.
   static const _writeCacheDebounceDuration = Duration(seconds: 3);
 
   final Map<String, PubPackage> packages;
@@ -273,7 +274,7 @@
   /// Clears package caches for [pubspecPath].
   ///
   /// Does not remove other caches that are not pubspec-specific (for example
-  /// the latest version pulled directly from the Pub API independant of
+  /// the latest version pulled directly from the Pub API independent of
   /// pubspec).
   Future<void> flushPackageCaches(String pubspecPath) async {
     _pubspecPackageVersions.remove(pubspecPath);
diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
index 1b16e40..f90d1e6 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -1366,7 +1366,7 @@
 
   Future<Response> _cancelMoveRequest() {
     // 0 is the id from _sendMoveRequest
-    // 1 is another aribtrary id for the cancel request
+    // 1 is another arbitrary id for the cancel request
     var request = ServerCancelRequestParams('0').toRequest('1');
     return serverChannel.sendRequest(request);
   }
diff --git a/pkg/analysis_server/test/integration/lsp_server/server_test.dart b/pkg/analysis_server/test/integration/lsp_server/server_test.dart
index 1e85c22..5690501 100644
--- a/pkg/analysis_server/test/integration/lsp_server/server_test.dart
+++ b/pkg/analysis_server/test/integration/lsp_server/server_test.dart
@@ -38,21 +38,6 @@
     expect(responseBody, contains('<title>Analysis Server</title>'));
   }
 
-  Future<void> test_exit_inintializedWithShutdown() async {
-    await initialize();
-    await sendShutdown();
-    sendExit();
-
-    await channel.closed.timeout(const Duration(seconds: 10),
-        onTimeout: () =>
-            fail('Server channel did not close within 10 seconds'));
-
-    final exitCode = await client!.exitCode.timeout(const Duration(seconds: 10),
-        onTimeout: () => fail('Server process did not exit within 10 seconds'));
-
-    expect(exitCode, equals(0));
-  }
-
   Future<void> test_exit_initializedWithoutShutdown() async {
     // Send a request that we can wait for, to ensure the server is fully ready
     // before we send exit. Otherwise the exit notification won't be handled for
@@ -70,7 +55,8 @@
     expect(exitCode, equals(1));
   }
 
-  Future<void> test_exit_uninintializedWithShutdown() async {
+  Future<void> test_exit_initializedWithShutdown() async {
+    await initialize();
     await sendShutdown();
     sendExit();
 
@@ -96,4 +82,18 @@
 
     expect(exitCode, equals(1));
   }
+
+  Future<void> test_exit_uninitializedWithShutdown() async {
+    await sendShutdown();
+    sendExit();
+
+    await channel.closed.timeout(const Duration(seconds: 10),
+        onTimeout: () =>
+            fail('Server channel did not close within 10 seconds'));
+
+    final exitCode = await client!.exitCode.timeout(const Duration(seconds: 10),
+        onTimeout: () => fail('Server process did not exit within 10 seconds'));
+
+    expect(exitCode, equals(0));
+  }
 }
diff --git a/pkg/analysis_server/test/integration/support/integration_tests.dart b/pkg/analysis_server/test/integration/support/integration_tests.dart
index 7c9fd4c..1c692e9 100644
--- a/pkg/analysis_server/test/integration/support/integration_tests.dart
+++ b/pkg/analysis_server/test/integration/support/integration_tests.dart
@@ -771,7 +771,7 @@
 }
 
 /// Matcher that matches a map of objects, where each key/value pair in the
-/// map satisies the given key and value matchers.
+/// map satisfies the given key and value matchers.
 class _MapOf extends _RecursiveMatcher {
   /// Matcher which every key in the map must satisfy.
   final Matcher keyMatcher;
diff --git a/pkg/analysis_server/test/lsp/code_actions_source_test.dart b/pkg/analysis_server/test/lsp/code_actions_source_test.dart
index 629faa8..dc3fd88 100644
--- a/pkg/analysis_server/test/lsp/code_actions_source_test.dart
+++ b/pkg/analysis_server/test/lsp/code_actions_source_test.dart
@@ -177,7 +177,7 @@
       (codeAction) => codeAction.command!,
     );
 
-    // Ensure the request returned an error (error repsonses are thrown by
+    // Ensure the request returned an error (error responses are thrown by
     // the test helper to make consuming success results simpler).
     await expectLater(executeCommand(command),
         throwsA(isResponseError(ServerErrorCodes.FileHasErrors)));
@@ -356,7 +356,7 @@
           applied: false, failureReason: 'Document changed'),
     );
 
-    // Ensure the request returned an error (error repsonses are thrown by
+    // Ensure the request returned an error (error responses are thrown by
     // the test helper to make consuming success results simpler).
     await expectLater(commandResponse,
         throwsA(isResponseError(ServerErrorCodes.ClientFailedToApplyEdit)));
@@ -400,7 +400,7 @@
       (codeAction) => codeAction.command!,
     );
 
-    // Ensure the request returned an error (error repsonses are thrown by
+    // Ensure the request returned an error (error responses are thrown by
     // the test helper to make consuming success results simpler).
     await expectLater(executeCommand(command),
         throwsA(isResponseError(ServerErrorCodes.FileHasErrors)));
diff --git a/pkg/analysis_server/test/lsp/initialization_test.dart b/pkg/analysis_server/test/lsp/initialization_test.dart
index e4a8ece..d076789 100644
--- a/pkg/analysis_server/test/lsp/initialization_test.dart
+++ b/pkg/analysis_server/test/lsp/initialization_test.dart
@@ -107,7 +107,7 @@
   Future<void> test_completionRegistrations_withDartPlugin() async {
     // This tests for a bug that occurred with an analysis server plugin
     // that works on Dart files. When computing completion registrations we
-    // usually have seperate registrations for Dart + non-Dart to account for
+    // usually have separate registrations for Dart + non-Dart to account for
     // different trigger characters. However, the plugin types were all being
     // included in the non-Dart registration even if they included Dart.
     //
@@ -384,7 +384,7 @@
         InitializeResult.fromJson(initResponse.result as Map<String, Object?>);
     expect(initResult.capabilities, isNotNull);
 
-    // Ensure no static registrations. This list should include all server equivilents
+    // Ensure no static registrations. This list should include all server equivalents
     // of the dynamic registrations listed in `ClientDynamicRegistrations.supported`.
     expect(initResult.capabilities.textDocumentSync, isNull);
     expect(initResult.capabilities.completionProvider, isNull);
diff --git a/pkg/analysis_server/test/lsp/selection_range_test.dart b/pkg/analysis_server/test/lsp/selection_range_test.dart
index 74fb0b0..9dc2946 100644
--- a/pkg/analysis_server/test/lsp/selection_range_test.dart
+++ b/pkg/analysis_server/test/lsp/selection_range_test.dart
@@ -74,7 +74,7 @@
     final lineInfo = LineInfo.fromContent(contentWithoutMarker);
 
     // The returned List corresponds to the input list of positions, and not
-    // the set of ranges - each range within that list has a (recusrive) parent
+    // the set of ranges - each range within that list has a (recursive) parent
     // to walk up all ranges for that position.
     final regions =
         await getSelectionRanges(mainFileUri, [positionFromMarker(content)]);
diff --git a/pkg/analysis_server/test/lsp/server_abstract.dart b/pkg/analysis_server/test/lsp/server_abstract.dart
index c6de9b2..2799810 100644
--- a/pkg/analysis_server/test/lsp/server_abstract.dart
+++ b/pkg/analysis_server/test/lsp/server_abstract.dart
@@ -716,7 +716,7 @@
       Map<String, String> oldFileContent, CreateFile create) {
     final path = Uri.parse(create.uri).toFilePath();
     if (oldFileContent.containsKey(path)) {
-      throw 'Recieved create instruction for $path which already existed.';
+      throw 'Received create instruction for $path which already existed.';
     }
     oldFileContent[path] = '';
   }
@@ -726,7 +726,7 @@
     final oldPath = Uri.parse(rename.oldUri).toFilePath();
     final newPath = Uri.parse(rename.newUri).toFilePath();
     if (!oldFileContent.containsKey(oldPath)) {
-      throw 'Recieved rename instruction for $oldPath which did not exist.';
+      throw 'Received rename instruction for $oldPath which did not exist.';
     }
     oldFileContent[newPath] = oldFileContent[oldPath]!;
     oldFileContent.remove(oldPath);
@@ -741,7 +741,7 @@
     for (var edit in edits) {
       final path = Uri.parse(edit.textDocument.uri).toFilePath();
       if (!oldFileContent.containsKey(path)) {
-        throw 'Recieved edits for $path which was not provided as a file to be edited. '
+        throw 'Received edits for $path which was not provided as a file to be edited. '
             'Perhaps a CreateFile change was missing from the edits?';
       }
       oldFileContent[path] = applyTextDocumentEdit(oldFileContent[path]!, edit);
@@ -1346,7 +1346,7 @@
   ///
   /// This is used for testing things like code actions, where the client initiates
   /// a request but the server does not respond to it until it's sent its own
-  /// request to the client and it recieved a response.
+  /// request to the client and it received a response.
   ///
   ///     Client                                 Server
   ///     1. |- Req: textDocument/codeAction      ->
@@ -1819,7 +1819,7 @@
         if (message.method == CustomMethods.analyzerStatus) {
           if (_clientCapabilities!.window?.workDoneProgress == true) {
             throw Exception(
-                'Recieved ${CustomMethods.analyzerStatus} notification '
+                'Received ${CustomMethods.analyzerStatus} notification '
                 'but client supports workDoneProgress');
           }
 
@@ -1829,7 +1829,7 @@
         } else if (message.method == Method.progress) {
           if (_clientCapabilities!.window?.workDoneProgress != true) {
             throw Exception(
-                'Recieved ${CustomMethods.analyzerStatus} notification '
+                'Received ${CustomMethods.analyzerStatus} notification '
                 'but client supports workDoneProgress');
           }
 
diff --git a/pkg/analysis_server/test/mock_packages/flutter/lib/src/painting/text_style.dart b/pkg/analysis_server/test/mock_packages/flutter/lib/src/painting/text_style.dart
index 16f1685..52466e3 100644
--- a/pkg/analysis_server/test/mock_packages/flutter/lib/src/painting/text_style.dart
+++ b/pkg/analysis_server/test/mock_packages/flutter/lib/src/painting/text_style.dart
@@ -85,7 +85,7 @@
   /// {@end-tool}
   final double height;
 
-  /// The thickness of the decoration stroke as a muliplier of the thickness
+  /// The thickness of the decoration stroke as a multiplier of the thickness
   /// defined by the font.
   ///
   /// The font provides a base stroke width for [decoration]s which scales off
diff --git a/pkg/analysis_server/test/mock_packages/meta/lib/meta.dart b/pkg/analysis_server/test/mock_packages/meta/lib/meta.dart
index 834640c..ed33f8b 100644
--- a/pkg/analysis_server/test/mock_packages/meta/lib/meta.dart
+++ b/pkg/analysis_server/test/mock_packages/meta/lib/meta.dart
@@ -19,7 +19,7 @@
 library meta;
 
 /// Used to annotate a function `f`. Indicates that `f` always throws an
-/// exception. Any functions that override `f`, in class inheritence, are also
+/// exception. Any functions that override `f`, in class inheritance, are also
 /// expected to conform to this contract.
 ///
 /// Tools, such as the analyzer, can use this to understand whether a block of
diff --git a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
index e0d0fad..6fe3606 100644
--- a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
@@ -1059,7 +1059,7 @@
     assertNotSuggested('r');
     assertNotSuggested('x');
 
-    // imported elements are portially filtered
+    // imported elements are partially filtered
     //assertSuggestClass('A');
     assertNotSuggested('_B');
     // hidden element not suggested
diff --git a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
index f8fccbe..e866095 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
@@ -1258,7 +1258,7 @@
     assertNotSuggested('r');
     assertNotSuggested('x');
 
-    // imported elements are portially filtered
+    // imported elements are partially filtered
     //assertNotSuggested('A');
     assertNotSuggested('_B');
     //assertNotSuggested('C');
diff --git a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
index 95dc417..226ad46 100644
--- a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
@@ -941,7 +941,7 @@
     assertNotSuggested('r');
     assertNotSuggested('x');
 
-    // imported elements are portially filtered
+    // imported elements are partially filtered
     //assertNotSuggested('A');
     assertNotSuggested('_B');
     //assertNotSuggested('C');
@@ -2582,7 +2582,7 @@
     assertSuggestGetter('length', 'int');
   }
 
-  Future<void> test_local_propogatedType() async {
+  Future<void> test_local_propagatedType() async {
     addTestSource('foo() {var x = "bar"; x.^}');
     await computeSuggestions();
     assertSuggestGetter('length', 'int');
diff --git a/pkg/analysis_server/test/src/computer/color_computer_test.dart b/pkg/analysis_server/test/src/computer/color_computer_test.dart
index c7b63c2..42d083f 100644
--- a/pkg/analysis_server/test/src/computer/color_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/color_computer_test.dart
@@ -25,7 +25,7 @@
   /// Values are the color that should be discovered (in 0xAARRGGBB format).
   ///
   /// Color values may not match the actual Flutter framework but are
-  /// values that are more identifyable for ease of testing. They are
+  /// values that are more identifiable for ease of testing. They are
   /// defined in:
   ///  - test/mock_packages/flutter/lib/src/material/colors.dart.
   ///  - test/mock_packages/flutter/lib/src/cupertino/colors.dart.
diff --git a/pkg/analysis_server/test/src/plugin/notification_manager_test.dart b/pkg/analysis_server/test/src/plugin/notification_manager_test.dart
index 79665b8..2cf7d0e 100644
--- a/pkg/analysis_server/test/src/plugin/notification_manager_test.dart
+++ b/pkg/analysis_server/test/src/plugin/notification_manager_test.dart
@@ -79,7 +79,7 @@
     _verifyHighlightRegions(fileA, [region1, region2]);
   }
 
-  void test_handlePluginNotification_naviation() {
+  void test_handlePluginNotification_navigation() {
     manager.setSubscriptions({
       server.AnalysisService.NAVIGATION: {fileA, fileB}
     });
diff --git a/pkg/analysis_server/test/src/services/correction/fix/remove_unused_element_test.dart b/pkg/analysis_server/test/src/services/correction/fix/remove_unused_element_test.dart
index dcbf510..4c86e82 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/remove_unused_element_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/remove_unused_element_test.dart
@@ -153,7 +153,7 @@
 ''');
   }
 
-  Future<void> test_staticMethod_mixim_notUsed_noReference() async {
+  Future<void> test_staticMethod_mixin_notUsed_noReference() async {
     await resolveTestCode(r'''
 mixin _M {
   static int m1() => 3;
diff --git a/pkg/analysis_server/test/src/utilities/extensions/range_factory_test.dart b/pkg/analysis_server/test/src/utilities/extensions/range_factory_test.dart
index c25bdcd..b61e5f6 100644
--- a/pkg/analysis_server/test/src/utilities/extensions/range_factory_test.dart
+++ b/pkg/analysis_server/test/src/utilities/extensions/range_factory_test.dart
@@ -639,7 +639,7 @@
     });
   }
 
-  Future<void> test_topLevel_multiple_mixedComents() async {
+  Future<void> test_topLevel_multiple_mixedComments() async {
     await resolveTestCode('''
 import '';
 
diff --git a/pkg/analysis_server/test/tool/lsp_spec/meta_model_test.dart b/pkg/analysis_server/test/tool/lsp_spec/meta_model_test.dart
index b40c5aa..b9632ff 100644
--- a/pkg/analysis_server/test/tool/lsp_spec/meta_model_test.dart
+++ b/pkg/analysis_server/test/tool/lsp_spec/meta_model_test.dart
@@ -77,7 +77,7 @@
       // Length is two because we'll fabricate the type of textDoc.
       expect(output, hasLength(2));
 
-      // Check there was a full fabricarted interface for this type.
+      // Check there was a full fabricated interface for this type.
       expect(output[0], const TypeMatcher<Interface>());
       var interface = output[0] as Interface;
       expect(interface.name, equals('CapabilitiesTextDoc'));
diff --git a/pkg/analysis_server/tool/lsp_spec/README.md b/pkg/analysis_server/tool/lsp_spec/README.md
index e2cdc3d..5776154 100644
--- a/pkg/analysis_server/tool/lsp_spec/README.md
+++ b/pkg/analysis_server/tool/lsp_spec/README.md
@@ -24,7 +24,7 @@
 ## Initialization Options
 
 - `onlyAnalyzeProjectsWithOpenFiles` (`bool?`): When set to `true`, workspace folders will be ignored and analysis will be performed based on the open files, as if no workspace was open at all. This allows opening large folders without causing them to be completely analyzed. Defaults to `false`.
-- `suggestFromUnimportedLibraries` (`bool?`): When set to `false`, completion will not include synbols that are not already imported into the current file. Defaults to `true`, though the client must additionally support `workspace/applyEdit` for these completions to be included.
+- `suggestFromUnimportedLibraries` (`bool?`): When set to `false`, completion will not include symbols that are not already imported into the current file. Defaults to `true`, though the client must additionally support `workspace/applyEdit` for these completions to be included.
 - `closingLabels` (`bool?`): When set to `true`, `dart/textDocument/publishClosingLabels` notifications will be sent with information to render editor closing labels.
 - `outline` (`bool?`): When set to `true`, `dart/textDocument/publishOutline` notifications will be sent with outline information for open files.
 - `flutterOutline` (`bool?`): When set to `true`, `dart/textDocument/publishFlutterOutline` notifications will be sent with Flutter outline information for open files.
@@ -163,7 +163,7 @@
 Params: None
 Returns: `{ port: number }`
 
-Starts the analzyer diagnostics server (if not already running) and returns the port number it's listening on.
+Starts the analyzer diagnostics server (if not already running) and returns the port number it's listening on.
 
 ### dart/reanalyze Method
 
@@ -224,4 +224,4 @@
 
 Notifies the client when Flutter outline information is available (or updated) for a file.
 
-Nodes contains multiple ranges as desribed for the `dart/textDocument/publishOutline` notification.
+Nodes contains multiple ranges as described for the `dart/textDocument/publishOutline` notification.
diff --git a/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart b/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
index ef71c3d..336e9b4 100644
--- a/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
+++ b/pkg/analysis_server/tool/lsp_spec/meta_model_cleaner.dart
@@ -275,7 +275,7 @@
       // Merged into InitializeParams.
       '_InitializeParams',
       'WorkspaceFoldersInitializeParams',
-      // We don't use these clases and they weren't in the TS version of the
+      // We don't use these classes and they weren't in the TS version of the
       // spec so continue to not generate them until required.
       'DidChangeConfigurationRegistrationOptions',
       // LSPAny/LSPObject are used by the LSP spec for unions of basic types.
diff --git a/pkg/analysis_server/tool/lsp_spec/meta_model_reader.dart b/pkg/analysis_server/tool/lsp_spec/meta_model_reader.dart
index 2da612d..231da08 100644
--- a/pkg/analysis_server/tool/lsp_spec/meta_model_reader.dart
+++ b/pkg/analysis_server/tool/lsp_spec/meta_model_reader.dart
@@ -215,7 +215,7 @@
 
   /// Generates a valid name for a member.
   String _generateMemberName(String name, {bool camelCase = false}) {
-    // Replace any seperators like `/` with `_`.
+    // Replace any separators like `/` with `_`.
     name = name.replaceAll(_memberNameSeparatorPattern, '_');
 
     // Replace out any characters we don't want in member names.
diff --git a/pkg/analysis_server_client/lib/listener/server_listener.dart b/pkg/analysis_server_client/lib/listener/server_listener.dart
index 6004996..2ff0dae 100644
--- a/pkg/analysis_server_client/lib/listener/server_listener.dart
+++ b/pkg/analysis_server_client/lib/listener/server_listener.dart
@@ -53,7 +53,7 @@
     log('Unexpected notification format from server', '$message');
   }
 
-  /// Called when the [Server] recieved an unexpected response
+  /// Called when the [Server] received an unexpected response
   /// where the [id] does not match the [id] of an outstanding request.
   void unexpectedResponse(Map<String, Object?> message, Object id) {
     log('Unexpected response from server', 'id=$id');
diff --git a/pkg/analysis_server_client/lib/src/protocol/protocol_base.dart b/pkg/analysis_server_client/lib/src/protocol/protocol_base.dart
index 017d34c..b89d0cd 100644
--- a/pkg/analysis_server_client/lib/src/protocol/protocol_base.dart
+++ b/pkg/analysis_server_client/lib/src/protocol/protocol_base.dart
@@ -198,7 +198,7 @@
   ///     'id': String,
   ///     'method': methodName,
   ///     'params': {
-  ///       paramter_name: value
+  ///       parameter_name: value
   ///     }
   ///   }
   ///
@@ -234,7 +234,7 @@
   ///     'id': String,
   ///     'method': methodName,
   ///     'params': {
-  ///       paramter_name: value
+  ///       parameter_name: value
   ///     }
   ///   }
   ///
@@ -264,7 +264,7 @@
   /// The response to be returned as a result of the failure.
   final Response response;
 
-  /// Initialize a newly created exception to return the given reponse.
+  /// Initialize a newly created exception to return the given response.
   RequestFailure(this.response);
 }
 
diff --git a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
index 77422fc..2e23aab 100644
--- a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
+++ b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
@@ -238,7 +238,7 @@
     // version and know the length of the function name/return type.
     var multiline = allowMultiline && this.multiline && parameters.length >= 3;
 
-    // The prefix for open groups is included in seperator for single-line but
+    // The prefix for open groups is included in separator for single-line but
     // not for multline so must be added explicitly.
     var openGroupPrefix = multiline ? ' ' : '';
     var separator = multiline ? ',' : ', ';
diff --git a/pkg/analyzer/lib/src/utilities/cancellation.dart b/pkg/analyzer/lib/src/utilities/cancellation.dart
index 822b750..4dff1bd 100644
--- a/pkg/analyzer/lib/src/utilities/cancellation.dart
+++ b/pkg/analyzer/lib/src/utilities/cancellation.dart
@@ -13,7 +13,7 @@
 
 /// A token used to signal cancellation of an operation. This allows computation
 /// to be skipped when a caller is no longer interested in the result, for example
-/// when a $/cancel request is recieved for an in-progress request.
+/// when a $/cancel request is received for an in-progress request.
 abstract class CancellationToken {
   bool get isCancellationRequested;
 }
diff --git a/pkg/analyzer/test/generated/strong_mode_test.dart b/pkg/analyzer/test/generated/strong_mode_test.dart
index 4d1deaf..8bf7ab3 100644
--- a/pkg/analyzer/test/generated/strong_mode_test.dart
+++ b/pkg/analyzer/test/generated/strong_mode_test.dart
@@ -237,7 +237,7 @@
 
   test_constrainedByBounds1() async {
     // Test that upwards inference with two type variables correctly
-    // propogates from the constrained variable to the unconstrained
+    // propagates from the constrained variable to the unconstrained
     // variable if they are ordered left to right.
     String code = r'''
     T f<S, T extends S>(S x) => null;
@@ -257,7 +257,7 @@
 
   test_constrainedByBounds2() async {
     // Test that upwards inference with two type variables does
-    // propogate from the constrained variable to the unconstrained
+    // propagate from the constrained variable to the unconstrained
     // variable if they are ordered right to left.
     String code = r'''
     T f<T extends S, S>(S x) => null;
@@ -294,7 +294,7 @@
 
   test_constrainedByBounds4() async {
     // Test that upwards inference with two type variables correctly
-    // propogates from the constrained variable to the unconstrained
+    // propagates from the constrained variable to the unconstrained
     // variable if they are ordered left to right, when the variable
     // appears co and contra variantly
     String code = r'''
@@ -873,7 +873,7 @@
   }
 
   test_futureOr_downwards3() async {
-    // Test that downwards inference correctly propogates into
+    // Test that downwards inference correctly propagates into
     // arguments.
     MethodInvocation invoke = await _testFutureOr(r'''
     Future<T> mk<T>(FutureOr<T> x) => null;
diff --git a/pkg/analyzer/test/src/diagnostics/todo_test.dart b/pkg/analyzer/test/src/diagnostics/todo_test.dart
index a72d8b3..6c07527 100644
--- a/pkg/analyzer/test/src/diagnostics/todo_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/todo_test.dart
@@ -146,13 +146,13 @@
 main() {
   // TODO: Implement something
   //  that is too long for one line
-  //  TODO: This is a seperate todo that is accidentally indented
+  //  TODO: This is a separate todo that is accidentally indented
 }
 ''', [
       error(TodoCode.TODO, 14, 61,
           text: 'TODO: Implement something that is too long for one line'),
       error(TodoCode.TODO, 82, 59,
-          text: 'TODO: This is a seperate todo that is accidentally indented'),
+          text: 'TODO: This is a separate todo that is accidentally indented'),
     ]);
   }
 
diff --git a/pkg/analyzer_plugin/lib/protocol/protocol.dart b/pkg/analyzer_plugin/lib/protocol/protocol.dart
index 57673e6..0abe5d4 100644
--- a/pkg/analyzer_plugin/lib/protocol/protocol.dart
+++ b/pkg/analyzer_plugin/lib/protocol/protocol.dart
@@ -102,7 +102,7 @@
   ///     'id': String,
   ///     'method': methodName,
   ///     'params': {
-  ///       paramter_name: value
+  ///       parameter_name: value
   ///     }
   ///   }
   ///
diff --git a/pkg/analyzer_plugin/test/integration/support/integration_tests.dart b/pkg/analyzer_plugin/test/integration/support/integration_tests.dart
index 52dbfbd..830140c 100644
--- a/pkg/analyzer_plugin/test/integration/support/integration_tests.dart
+++ b/pkg/analyzer_plugin/test/integration/support/integration_tests.dart
@@ -670,7 +670,7 @@
 }
 
 /// Matcher that matches a map of objects, where each key/value pair in the
-/// map satisies the given key and value matchers.
+/// map satisfies the given key and value matchers.
 class _MapOf extends _RecursiveMatcher {
   /// Matcher which every key in the map must satisfy.
   final Matcher keyMatcher;
diff --git a/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart b/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
index f4b9318..10e9c9f 100644
--- a/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
+++ b/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
@@ -946,7 +946,7 @@
     assertNotSuggested('r');
     assertNotSuggested('x');
 
-    // imported elements are portially filtered
+    // imported elements are partially filtered
     //assertNotSuggested('A');
     assertNotSuggested('_B');
     //assertNotSuggested('C');
@@ -2511,7 +2511,7 @@
     assertSuggestGetter('length', 'int');
   }
 
-  Future<void> test_local_propogatedType() async {
+  Future<void> test_local_propagatedType() async {
     addTestSource('foo() {var x = "bar"; x.^}');
     await computeSuggestions();
     assertSuggestGetter('length', 'int');
diff --git a/pkg/compiler/test/deferred/follow_constant_dependencies_test.dart b/pkg/compiler/test/deferred/follow_constant_dependencies_test.dart
index 3b05b87..f35da83 100644
--- a/pkg/compiler/test/deferred/follow_constant_dependencies_test.dart
+++ b/pkg/compiler/test/deferred/follow_constant_dependencies_test.dart
@@ -60,7 +60,7 @@
 }
 
 // The main library imports lib1 and lib2 deferred and use lib1.foo1 and
-// lib2.foo2.  This should trigger seperate outputunits for main, lib1 and lib2.
+// lib2.foo2.  This should trigger separate outputunits for main, lib1 and lib2.
 //
 // Both lib1 and lib2 import lib3 directly and
 // both use lib3.foo3.  Therefore a shared output unit for lib1 and lib2 should
diff --git a/pkg/compiler/test/deferred/load_graph_segmentation2_test.dart b/pkg/compiler/test/deferred/load_graph_segmentation2_test.dart
index e579680..77ec393 100644
--- a/pkg/compiler/test/deferred/load_graph_segmentation2_test.dart
+++ b/pkg/compiler/test/deferred/load_graph_segmentation2_test.dart
@@ -31,7 +31,7 @@
 }
 
 // The main library imports lib1 and lib2 deferred and use lib1.foo1 and
-// lib2.foo2.  This should trigger seperate outputunits for main, lib1 and lib2.
+// lib2.foo2.  This should trigger separate outputunits for main, lib1 and lib2.
 //
 // Both lib1 and lib2 import lib3 directly and
 // both use lib3.foo3.  Therefore a shared output unit for lib1 and lib2 should
diff --git a/pkg/compiler/test/deferred/load_graph_segmentation_test.dart b/pkg/compiler/test/deferred/load_graph_segmentation_test.dart
index 8fc553a..01efd9b 100644
--- a/pkg/compiler/test/deferred/load_graph_segmentation_test.dart
+++ b/pkg/compiler/test/deferred/load_graph_segmentation_test.dart
@@ -86,7 +86,7 @@
 }
 
 // The main library imports lib1 and lib2 deferred and use lib1.foo1 and
-// lib2.foo2.  This should trigger seperate output units for main, lib1 and
+// lib2.foo2.  This should trigger separate output units for main, lib1 and
 // lib2.
 //
 // Both lib1 and lib2 import lib3 directly and
diff --git a/pkg/compiler/tool/kernel_visitor/test/test_classes.dart b/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
index 666d5ae..2fa71e8 100644
--- a/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
+++ b/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
@@ -57,7 +57,7 @@
   }
 }
 
-// Test class with unoverriden superclass method
+// Test class with unoverridden superclass method
 class G extends A {
   G();
 }
diff --git a/pkg/dartdev/lib/src/events.dart b/pkg/dartdev/lib/src/events.dart
index d2dad35..5b31ef1 100644
--- a/pkg/dartdev/lib/src/events.dart
+++ b/pkg/dartdev/lib/src/events.dart
@@ -69,7 +69,7 @@
   commandFlags.sort();
   specifiedExperiments.sort();
 
-  // Insert a seperator before and after the flags list to make it easier to filter
+  // Insert a separator before and after the flags list to make it easier to filter
   // for a specific flag:
   final enabledExperimentsString = ' ${specifiedExperiments.join(' ')} ';
   final commandFlagsString = ' ${commandFlags.join(' ')} ';
diff --git a/pkg/dds/lib/src/dap/adapters/dart.dart b/pkg/dds/lib/src/dap/adapters/dart.dart
index 209649a..bf7cf96 100644
--- a/pkg/dds/lib/src/dap/adapters/dart.dart
+++ b/pkg/dds/lib/src/dap/adapters/dart.dart
@@ -1623,7 +1623,7 @@
 
   /// Creates one or more OutputEvents for the provided [message].
   ///
-  /// Messages that contain stack traces may be split up into seperate events
+  /// Messages that contain stack traces may be split up into separate events
   /// for each frame to allow location metadata to be attached.
   Future<List<OutputEventBody>> _buildOutputEvents(
     String category,
diff --git a/pkg/dds/lib/src/dap/isolate_manager.dart b/pkg/dds/lib/src/dap/isolate_manager.dart
index 5af7f41..ff6fc4a 100644
--- a/pkg/dds/lib/src/dap/isolate_manager.dart
+++ b/pkg/dds/lib/src/dap/isolate_manager.dart
@@ -104,7 +104,7 @@
   /// when asking for data so it's all stored together here.
   final _storedData = <int, _StoredData>{};
 
-  /// A pattern that matches an opening brace `{` that was not preceeded by a
+  /// A pattern that matches an opening brace `{` that was not preceded by a
   /// dollar.
   ///
   /// Any leading character matched in place of the dollar is in the first capture.
@@ -883,7 +883,7 @@
         }
       } catch (e) {
         // We can't leave dangling completers here because others may already
-        // be waiting on them, so propogate the error to them.
+        // be waiting on them, so propagate the error to them.
         completers.forEach((uri, completer) => completer.completeError(e));
         rethrow;
       }
diff --git a/pkg/dds/test/dap/integration/dart_test_test.dart b/pkg/dds/test/dap/integration/dart_test_test.dart
index de25a7e..c04535c 100644
--- a/pkg/dds/test/dap/integration/dart_test_test.dart
+++ b/pkg/dds/test/dap/integration/dart_test_test.dart
@@ -20,7 +20,7 @@
     /// A helper that verifies a full set of expected test results for the
     /// [simpleTestProgram] script.
     void expectStandardSimpleTestResults(TestEvents events) {
-      // Check we recieved all expected test events passed through from
+      // Check we received all expected test events passed through from
       // package:test.
       final eventNames =
           events.testNotifications.map((e) => e['type']).toList();
diff --git a/pkg/dds/test/dap/integration/debug_test.dart b/pkg/dds/test/dap/integration/debug_test.dart
index 9044657..b14966d 100644
--- a/pkg/dds/test/dap/integration/debug_test.dart
+++ b/pkg/dds/test/dap/integration/debug_test.dart
@@ -275,7 +275,7 @@
     test('can shutdown during startup', () async {
       final testFile = dap.createTestFile(simpleArgPrintingProgram);
 
-      // Terminate the app immediately upon recieving the first Thread event.
+      // Terminate the app immediately upon receiving the first Thread event.
       // The DAP is also responding to this event to configure the isolate (eg.
       // set breakpoints and exception pause behaviour) and will cause it to
       // receive "Service has disappeared" responses if these are in-flight as
diff --git a/pkg/dds/test/dap/integration/test_client.dart b/pkg/dds/test/dap/integration/test_client.dart
index 1a7c817..08afc51 100644
--- a/pkg/dds/test/dap/integration/test_client.dart
+++ b/pkg/dds/test/dap/integration/test_client.dart
@@ -176,7 +176,7 @@
       'Event "$event"',
       _eventController.stream.firstWhere((e) => e.event == event,
           orElse: () =>
-              throw 'Did not recieve $event event before stream closed'));
+              throw 'Did not receive $event event before stream closed'));
 
   /// Returns a stream for [event] events.
   Stream<Event> events(String event) {
@@ -673,7 +673,7 @@
 
   /// Collects all output events until the program terminates.
   ///
-  /// These results include all events in the order they are recieved, including
+  /// These results include all events in the order they are received, including
   /// console, stdout and stderr.
   ///
   /// Only one of [start] or [launch] may be provided. Use [start] to customise
@@ -701,7 +701,7 @@
 
   /// Collects all output and test events until the program terminates.
   ///
-  /// These results include all events in the order they are recieved, including
+  /// These results include all events in the order they are received, including
   /// console, stdout, stderr and test notifications from the test JSON reporter.
   ///
   /// Only one of [start] or [launch] may be provided. Use [start] to customise
diff --git a/pkg/dev_compiler/lib/src/compiler/js_metalet.dart b/pkg/dev_compiler/lib/src/compiler/js_metalet.dart
index 0e143ed..b114e2b 100644
--- a/pkg/dev_compiler/lib/src/compiler/js_metalet.dart
+++ b/pkg/dev_compiler/lib/src/compiler/js_metalet.dart
@@ -11,7 +11,7 @@
 ///
 /// For example, postfix increment can be desugared as:
 ///
-///     // psuedocode mix of Scheme and JS:
+///     // pseudocode mix of Scheme and JS:
 ///     (let* (x1=expr1, x2=expr2, t=x1[x2]) { x1[x2] = t + 1; t })
 ///
 /// [MetaLet] will simplify itself automatically when [toExpression],
diff --git a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
index b181fd5..ba728a0 100644
--- a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
@@ -36,7 +36,7 @@
 
 import '../type_inference/type_schema.dart' show UnknownType;
 
-import 'inference_visitor.dart';
+import '../type_inference/inference_visitor.dart';
 
 int getExtensionTypeParameterCount(Arguments arguments) {
   if (arguments is ArgumentsImpl) {
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
similarity index 99%
rename from pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
rename to pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
index 08270a4..836e680 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
@@ -16,15 +16,8 @@
         InstrumentationValueForType,
         InstrumentationValueForTypeArgs;
 import '../fasta_codes.dart';
-import '../names.dart';
-import '../problems.dart' show unhandled;
-import '../source/source_library_builder.dart';
-import '../type_inference/type_constraint_gatherer.dart';
-import '../type_inference/type_inference_engine.dart';
-import '../type_inference/type_inferrer.dart';
-import '../type_inference/type_schema.dart' show UnknownType;
-import 'body_builder.dart' show combineStatements;
-import 'collections.dart'
+import '../kernel/body_builder.dart' show combineStatements;
+import '../kernel/collections.dart'
     show
         ForElement,
         ForInElement,
@@ -35,9 +28,16 @@
         SpreadElement,
         SpreadMapEntry,
         convertToElement;
-import 'implicit_type_argument.dart' show ImplicitTypeArgument;
-import 'internal_ast.dart';
-import 'late_lowering.dart' as late_lowering;
+import '../kernel/implicit_type_argument.dart' show ImplicitTypeArgument;
+import '../kernel/internal_ast.dart';
+import '../kernel/late_lowering.dart' as late_lowering;
+import '../names.dart';
+import '../problems.dart' show unhandled;
+import '../source/source_library_builder.dart';
+import 'type_constraint_gatherer.dart';
+import 'type_inference_engine.dart';
+import 'type_inferrer.dart';
+import 'type_schema.dart' show UnknownType;
 
 class InferenceVisitor
     implements
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
index 7a5c30e..b07d750 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
@@ -33,7 +33,7 @@
 import '../kernel/benchmarker.dart' show BenchmarkSubdivides, Benchmarker;
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/hierarchy/class_member.dart' show ClassMember;
-import '../kernel/inference_visitor.dart';
+import 'inference_visitor.dart';
 import '../kernel/internal_ast.dart';
 import '../kernel/invalid_type.dart';
 import '../kernel/kernel_helper.dart';
diff --git a/pkg/front_end/test/spell_checking_list_common.txt b/pkg/front_end/test/spell_checking_list_common.txt
index ca5b58f..fe79f6e 100644
--- a/pkg/front_end/test/spell_checking_list_common.txt
+++ b/pkg/front_end/test/spell_checking_list_common.txt
@@ -2266,7 +2266,6 @@
 precedence
 precedes
 preceding
-preceeding
 precise
 precisely
 precision
diff --git a/pkg/nnbd_migration/test/api_test.dart b/pkg/nnbd_migration/test/api_test.dart
index d26b884..2ea7e14 100644
--- a/pkg/nnbd_migration/test/api_test.dart
+++ b/pkg/nnbd_migration/test/api_test.dart
@@ -8752,7 +8752,7 @@
     await _checkSingleFileChanges(content, expected);
   }
 
-  Future<void> test_typedef_assign_null_type_formal_with_paramter() async {
+  Future<void> test_typedef_assign_null_type_formal_with_parameter() async {
     var content = '''
 typedef F<R> = Function<T>(T);
 
diff --git a/pkg/vm/bin/kernel_service.dart b/pkg/vm/bin/kernel_service.dart
index a843655..feca390 100644
--- a/pkg/vm/bin/kernel_service.dart
+++ b/pkg/vm/bin/kernel_service.dart
@@ -898,8 +898,8 @@
     // http://dartbug.com/45137
     // enableColors calls `stdout.supportsAnsiEscapes` which - on Windows -
     // does something with line endings. To avoid this when no error
-    // messages are do be printed anyway, we are carefull not to call it unless
-    // neccessary.
+    // messages are do be printed anyway, we are careful not to call it unless
+    // necessary.
     if (compiler.errorsColorized.isNotEmpty) {
       final List<String> errors =
           (enableColors) ? compiler.errorsColorized : compiler.errorsPlain;
diff --git a/pkg/vm/bin/protobuf_aware_treeshaker.dart b/pkg/vm/bin/protobuf_aware_treeshaker.dart
index bb746af..3f8e3bc 100644
--- a/pkg/vm/bin/protobuf_aware_treeshaker.dart
+++ b/pkg/vm/bin/protobuf_aware_treeshaker.dart
@@ -65,7 +65,7 @@
     ..addFlag('remove-source',
         help: 'Removes source code from the emitted dill', defaultsTo: false)
     ..addFlag('verbose',
-        help: 'Write to stdout about what classes and fields where remeoved')
+        help: 'Write to stdout about what classes and fields where removed')
     ..addFlag('help', help: 'Prints this help', negatable: false);
 
   ArgResults? argResults;
diff --git a/pkg/vm/lib/transformations/continuation.dart b/pkg/vm/lib/transformations/continuation.dart
index 4201896..adba50a 100644
--- a/pkg/vm/lib/transformations/continuation.dart
+++ b/pkg/vm/lib/transformations/continuation.dart
@@ -492,7 +492,7 @@
   ShadowRewriter(this.enclosingFunction) {
     for (final parameter in enclosingFunction.positionalParameters
         .followedBy(enclosingFunction.namedParameters)) {
-      // Put in placeholers so we can allocate new variables lazily- i.e. only
+      // Put in placeholders so we can allocate new variables lazily- i.e. only
       // if they're later referenced.
       _shadowedParameters[parameter] = null;
     }
diff --git a/pkg/vm/lib/transformations/deferred_loading.dart b/pkg/vm/lib/transformations/deferred_loading.dart
index 91beb11..e581096 100644
--- a/pkg/vm/lib/transformations/deferred_loading.dart
+++ b/pkg/vm/lib/transformations/deferred_loading.dart
@@ -108,7 +108,7 @@
 
   // 4. Sort loading units so parents are before children. Normally this order
   // would already exist as a side effect of loading sources in import order,
-  // but this isn't guarenteed when combining separately produced kernel files.
+  // but this isn't guaranteed when combining separately produced kernel files.
   for (var unit in loadingUnits) {
     var parent = unit.parent;
     if (parent != null) {
diff --git a/pkg/vm/lib/transformations/ffi/definitions.dart b/pkg/vm/lib/transformations/ffi/definitions.dart
index db61bcb..e859a61 100644
--- a/pkg/vm/lib/transformations/ffi/definitions.dart
+++ b/pkg/vm/lib/transformations/ffi/definitions.dart
@@ -747,7 +747,7 @@
     return result;
   }
 
-  /// Must only be called if all the depencies are already in the cache.
+  /// Must only be called if all the dependencies are already in the cache.
   CompoundNativeTypeCfe _compoundAnnotatedNativeTypeCfe(Class compoundClass) {
     final layoutConstant = _compoundAnnotatedFields(compoundClass)!;
     final fieldTypes = layoutConstant
diff --git a/pkg/vm/lib/transformations/ffi/use_sites.dart b/pkg/vm/lib/transformations/ffi/use_sites.dart
index c45cc02..725db11 100644
--- a/pkg/vm/lib/transformations/ffi/use_sites.dart
+++ b/pkg/vm/lib/transformations/ffi/use_sites.dart
@@ -134,7 +134,7 @@
       return super.visitStaticInvocation(node);
     }
     // We've just created this node. We're likely not going to need to transform
-    // this node itself. Visit its sub exprssions.
+    // this node itself. Visit its sub expressions.
     return super.defaultExpression(modifiedExpression);
   }
 
@@ -270,7 +270,7 @@
           isLeaf = false;
         }
 
-        // Inline function body to make all type arguments instatiated.
+        // Inline function body to make all type arguments instantiated.
         final replacement = StaticInvocation(
             asFunctionInternal,
             Arguments([node.arguments.positional[0], BoolLiteral(isLeaf)],
@@ -386,7 +386,7 @@
         _ensureNativeTypeValid(nativeType, node, allowCompounds: true);
 
         // Inline the body to get rid of a generic invocation of sizeOf.
-        // TODO(http://dartbug.com/39964): Add `allignmentOf<T>()` call.
+        // TODO(http://dartbug.com/39964): Add `alignmentOf<T>()` call.
         Expression? sizeInBytes = _inlineSizeOf(nativeType as InterfaceType);
         if (sizeInBytes != null) {
           if (node.arguments.positional.length == 2) {
@@ -761,7 +761,7 @@
       return super.visitInstanceInvocation(node);
     }
     // We've just created this node. We're likely not going to need to transform
-    // this node itself. Visit its sub exprssions.
+    // this node itself. Visit its sub expressions.
     return super.defaultExpression(modifiedExpression);
   }
 
diff --git a/pkg/vm/lib/transformations/pragma.dart b/pkg/vm/lib/transformations/pragma.dart
index 2b127e7..fe33aed 100644
--- a/pkg/vm/lib/transformations/pragma.dart
+++ b/pkg/vm/lib/transformations/pragma.dart
@@ -13,7 +13,7 @@
 const kResultTypeUsesPassedTypeArguments =
     "result-type-uses-passed-type-arguments";
 const kVmRecognizedPragmaName = "vm:recognized";
-const kVmDisableUnboxedParametetersPragmaName = "vm:disable-unboxed-parameters";
+const kVmDisableUnboxedParametersPragmaName = "vm:disable-unboxed-parameters";
 
 // Pragmas recognized by dart2wasm
 const kWasmEntryPointPragmaName = "wasm:entry-point";
@@ -153,7 +153,7 @@
               "pragma: $options";
         }
         return new ParsedRecognized(type);
-      case kVmDisableUnboxedParametetersPragmaName:
+      case kVmDisableUnboxedParametersPragmaName:
         return new ParsedDisableUnboxedParameters();
       case kWasmEntryPointPragmaName:
         return ParsedEntryPointPragma(PragmaEntryPointType.Default);
diff --git a/pkg/vm/lib/transformations/type_flow/summary_collector.dart b/pkg/vm/lib/transformations/type_flow/summary_collector.dart
index 7ce0b51..b061cb1b 100644
--- a/pkg/vm/lib/transformations/type_flow/summary_collector.dart
+++ b/pkg/vm/lib/transformations/type_flow/summary_collector.dart
@@ -2460,7 +2460,7 @@
 
   ConstantAllocationCollector(this.summaryCollector);
 
-  // Ensures the transtive graph of [constant] got scanned for potential
+  // Ensures the transitive graph of [constant] got scanned for potential
   // allocations and field types.  Returns the [Type] of this constant.
   Type typeFor(Constant constant) {
     return constants.putIfAbsent(constant, () => constant.accept(this));
diff --git a/pkg/vm/lib/transformations/type_flow/transformer.dart b/pkg/vm/lib/transformations/type_flow/transformer.dart
index ecf11c7..0b3a78c 100644
--- a/pkg/vm/lib/transformations/type_flow/transformer.dart
+++ b/pkg/vm/lib/transformations/type_flow/transformer.dart
@@ -425,7 +425,7 @@
           node is! StaticTearOff) {
         // The compiler uses another heuristic in addition to the call-site
         // annotation: if the call-site is non-dynamic and the interface target does
-        // not exist in the parent chain of _Smi (int is used as an approxmiation
+        // not exist in the parent chain of _Smi (int is used as an approximation
         // here), then the receiver cannot be _Smi. This heuristic covers most
         // cases, so we skip these to avoid showering the AST with annotations.
         if (interfaceTarget == null ||
diff --git a/pkg/vm/lib/transformations/unreachable_code_elimination.dart b/pkg/vm/lib/transformations/unreachable_code_elimination.dart
index d61b8f4..eb0526b 100644
--- a/pkg/vm/lib/transformations/unreachable_code_elimination.dart
+++ b/pkg/vm/lib/transformations/unreachable_code_elimination.dart
@@ -168,7 +168,7 @@
   @override
   TreeNode visitTryCatch(TryCatch node, TreeNode? removalSentinel) {
     node.transformOrRemoveChildren(this);
-    // Can replace try/catch with its body if all catches are just rethow.
+    // Can replace try/catch with its body if all catches are just rethrow.
     for (Catch catchClause in node.catches) {
       if (!_isRethrow(catchClause.body)) {
         return node;
diff --git a/pkg/vm/test/incremental_compiler_test.dart b/pkg/vm/test/incremental_compiler_test.dart
index 0e6735f..aaf4463 100644
--- a/pkg/vm/test/incremental_compiler_test.dart
+++ b/pkg/vm/test/incremental_compiler_test.dart
@@ -639,7 +639,7 @@
       return coverageLines;
     }
 
-    test('compile seperatly, check coverage', () async {
+    test('compile separately, check coverage', () async {
       Directory dir = mytest.createTempSync();
 
       // First compile lib, run and verify coverage (un-named constructor
@@ -676,7 +676,7 @@
       compiler.accept();
 
       // Then compile lib, run and verify coverage (un-named constructor
-      // covered, and the named constructor coveraged too).
+      // covered, and the named constructor covered too).
       File mainDill = File(p.join(dir.path, p.basename(main.path + ".dill")));
       compilerResult = await compiler.compile(entryPoints: [main.uri]);
       component = compilerResult.component;
@@ -714,7 +714,7 @@
         //
         // Shift lines down by five
         // lines so the original
-        // lines can't be coverred
+        // lines can't be covered
         //
         class Foo {
           final int x;
diff --git a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
index 2383312..8607c58 100644
--- a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
+++ b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart
@@ -57,7 +57,7 @@
   }
 
   String toString() {
-    print('overriden toString'); // LINE_H
+    print('overridden toString'); // LINE_H
     return '';
   }
 }
diff --git a/runtime/bin/dartdev_isolate.cc b/runtime/bin/dartdev_isolate.cc
index 93259b0..d33b0de 100644
--- a/runtime/bin/dartdev_isolate.cc
+++ b/runtime/bin/dartdev_isolate.cc
@@ -60,7 +60,7 @@
 
 Utils::CStringUniquePtr DartDevIsolate::TryResolveArtifactPath(
     const char* filename) {
-  // |dir_prefix| includes the last path seperator.
+  // |dir_prefix| includes the last path separator.
   auto dir_prefix = EXEUtils::GetDirectoryPrefixFromExeName();
 
   // First assume we're in dart-sdk/bin.
diff --git a/runtime/bin/dfe.cc b/runtime/bin/dfe.cc
index e274351..30b0fd67 100644
--- a/runtime/bin/dfe.cc
+++ b/runtime/bin/dfe.cc
@@ -99,7 +99,7 @@
     return;
   }
 
-  // |dir_prefix| includes the last path seperator.
+  // |dir_prefix| includes the last path separator.
   auto dir_prefix = EXEUtils::GetDirectoryPrefixFromExeName();
 
   // Look for the frontend snapshot next to the executable.
diff --git a/runtime/bin/secure_socket_filter.cc b/runtime/bin/secure_socket_filter.cc
index 8a3fb56..25a9bb2 100644
--- a/runtime/bin/secure_socket_filter.cc
+++ b/runtime/bin/secure_socket_filter.cc
@@ -608,7 +608,7 @@
     //
     // If either of those functions fail, and this.callback_error has not
     // already been set, then they will set this.callback_error to an error
-    // handle i.e. only the first error will be captured and propogated.
+    // handle i.e. only the first error will be captured and propagated.
     Dart_PropagateError(callback_error);
   }
   if (SSL_want_write(ssl_) || SSL_want_read(ssl_)) {
diff --git a/runtime/docs/index.md b/runtime/docs/index.md
index 4a63f9e..8e261b0 100644
--- a/runtime/docs/index.md
+++ b/runtime/docs/index.md
@@ -205,7 +205,7 @@
            test.dart
     ```
 
-It is important to highlight that the code generated by optimizing compiler is specialized under speculative assumptions based on the execution profile of the application. For example, a dynamic call site that only observed instances of a single class `C` as a receiver will be converted into a direct call preceeded by a check verifying that receiver has an expected class `C`. However these assumptions might be violated later during execution of the program:
+It is important to highlight that the code generated by optimizing compiler is specialized under speculative assumptions based on the execution profile of the application. For example, a dynamic call site that only observed instances of a single class `C` as a receiver will be converted into a direct call preceded by a check verifying that receiver has an expected class `C`. However these assumptions might be violated later during execution of the program:
 
 ```dart
 void printAnimal(obj) {
diff --git a/runtime/include/dart_api.h b/runtime/include/dart_api.h
index f8afbcf..4f2fc30 100644
--- a/runtime/include/dart_api.h
+++ b/runtime/include/dart_api.h
@@ -1552,7 +1552,7 @@
 
 /**
  * Drains the microtask queue, then blocks the calling thread until the current
- * isolate recieves a message, then handles all messages.
+ * isolate receives a message, then handles all messages.
  *
  * \param timeout_millis When non-zero, the call returns after the indicated
           number of milliseconds even if no message was received.
@@ -3293,9 +3293,9 @@
  * call Dart_DeferredLoadComplete or Dart_DeferredLoadCompleteError before the
  * handler returns.
  *
- * If an error is returned, it will be propogated through
+ * If an error is returned, it will be propagated through
  * `prefix.loadLibrary()`. This is useful for synchronous
- * implementations, which must propogate any unwind errors from
+ * implementations, which must propagate any unwind errors from
  * Dart_DeferredLoadComplete or Dart_DeferredLoadComplete. Otherwise the handler
  * should return a non-error such as `Dart_Null()`.
  */
diff --git a/runtime/include/dart_tools_api.h b/runtime/include/dart_tools_api.h
index 027bef5..fc7bd0e 100644
--- a/runtime/include/dart_tools_api.h
+++ b/runtime/include/dart_tools_api.h
@@ -169,7 +169,7 @@
  * \param response_json_length The length of the returned json response.
  * \param error An optional error, must be free()ed by caller.
  *
- * \return Whether the call was sucessfully performed.
+ * \return Whether the call was successfully performed.
  *
  * NOTE: This method does not need a current isolate and must not have the
  * vm-isolate being the current isolate. It must be called after
@@ -350,7 +350,7 @@
  * Enable tracking of specified timeline category. This is operational
  * only when systrace timeline functionality is turned on.
  *
- * \param categories A comma seperated list of categories that need to
+ * \param categories A comma separated list of categories that need to
  *   be enabled, the categories are
  *   "all" : All categories
  *   "API" - Execution of Dart C API functions
@@ -365,7 +365,7 @@
  *   "" - None
  *
  *  When "all" is specified all the categories are enabled.
- *  When a comma seperated list of categories is specified, the categories
+ *  When a comma separated list of categories is specified, the categories
  *   that are specified will be enabled and the rest will be disabled. 
  *  When "" is specified all the categories are disabled.
  *  The category names are case sensitive.
diff --git a/runtime/lib/isolate.cc b/runtime/lib/isolate.cc
index f34a8e6..e921c25 100644
--- a/runtime/lib/isolate.cc
+++ b/runtime/lib/isolate.cc
@@ -769,7 +769,7 @@
 
   bool EnsureIsRunnable(Isolate* child) {
     // We called out to the embedder to create/initialize a new isolate. The
-    // embedder callback sucessfully did so. It is now our responsibility to
+    // embedder callback successfully did so. It is now our responsibility to
     // run the isolate.
     // If the isolate was not marked as runnable, we'll do so here and run it.
     if (!child->is_runnable()) {
diff --git a/runtime/tests/concurrency/stress_test_list.json b/runtime/tests/concurrency/stress_test_list.json
index e7bec95..486220a 100644
--- a/runtime/tests/concurrency/stress_test_list.json
+++ b/runtime/tests/concurrency/stress_test_list.json
@@ -950,7 +950,7 @@
     "../../../tests/language/deferred/shadow_load_library_test.dart",
     "../../../tests/language/deferred/shared_and_unshared_classes_test.dart",
     "../../../tests/language/deferred/split_constants_canonicalization_test.dart",
-    "../../../tests/language/deferred/static_seperate_test.dart",
+    "../../../tests/language/deferred/static_separate_test.dart",
     "../../../tests/language/deferred/super_dependency_runtime_test.dart",
     "../../../tests/language/deferred/unreachable_loading_unit_test.dart",
     "../../../tests/language/double/comparison_test.dart",
@@ -4359,7 +4359,7 @@
     "../../../tests/language_2/deferred/shadow_load_library_test.dart",
     "../../../tests/language_2/deferred/shared_and_unshared_classes_test.dart",
     "../../../tests/language_2/deferred/split_constants_canonicalization_test.dart",
-    "../../../tests/language_2/deferred/static_seperate_test.dart",
+    "../../../tests/language_2/deferred/static_separate_test.dart",
     "../../../tests/language_2/deferred/super_dependency_runtime_test.dart",
     "../../../tests/language_2/deferred/unreachable_loading_unit_test.dart",
     "../../../tests/language_2/double/comparison_test.dart",
diff --git a/runtime/tests/vm/dart/double_field_assignment_test.dart b/runtime/tests/vm/dart/double_field_assignment_test.dart
index ba95348..522964b 100644
--- a/runtime/tests/vm/dart/double_field_assignment_test.dart
+++ b/runtime/tests/vm/dart/double_field_assignment_test.dart
@@ -37,7 +37,7 @@
     a.val = 99.0;
   }
 
-  // Ensure value (aka valueAlias) was not overriden with 99.0
+  // Ensure value (aka valueAlias) was not overridden with 99.0
   Expect.equals(4.2, valueAlias);
 }
 
@@ -55,7 +55,7 @@
     a.val = 99.0;
   }
 
-  // Ensure value (aka valueAlias) was not overriden with 99.0
+  // Ensure value (aka valueAlias) was not overridden with 99.0
   Expect.equals(4.2, valueAlias);
 }
 
diff --git a/runtime/tests/vm/dart_2/double_field_assignment_test.dart b/runtime/tests/vm/dart_2/double_field_assignment_test.dart
index ff47867..1d48183 100644
--- a/runtime/tests/vm/dart_2/double_field_assignment_test.dart
+++ b/runtime/tests/vm/dart_2/double_field_assignment_test.dart
@@ -39,7 +39,7 @@
     a.val = 99.0;
   }
 
-  // Ensure value (aka valueAlias) was not overriden with 99.0
+  // Ensure value (aka valueAlias) was not overridden with 99.0
   Expect.equals(4.2, valueAlias);
 }
 
@@ -57,7 +57,7 @@
     a.val = 99.0;
   }
 
-  // Ensure value (aka valueAlias) was not overriden with 99.0
+  // Ensure value (aka valueAlias) was not overridden with 99.0
   Expect.equals(4.2, valueAlias);
 }
 
diff --git a/runtime/tools/dartfuzz/dartfuzz.dart b/runtime/tools/dartfuzz/dartfuzz.dart
index 7326e20..fbfdce2 100644
--- a/runtime/tools/dartfuzz/dartfuzz.dart
+++ b/runtime/tools/dartfuzz/dartfuzz.dart
@@ -843,7 +843,7 @@
     while (parentClass >= 0) {
       vcm[parentClass] = <int>[];
       for (var j = 0, n = classMethods[parentClass].length; j < n; j++) {
-        // Call methods are presently always already overriden, so we
+        // Call methods are presently always already overridden, so we
         // shouldn't override them here.
         if (rollDice(8) && !(classMethods[parentClass][j] is CallMethod)) {
           currentClassIndex = parentClass;
diff --git a/runtime/tools/dartfuzz/gen_type_table.dart b/runtime/tools/dartfuzz/gen_type_table.dart
index 31fd62d..b764c28 100644
--- a/runtime/tools/dartfuzz/gen_type_table.dart
+++ b/runtime/tools/dartfuzz/gen_type_table.dart
@@ -133,7 +133,7 @@
   return false;
 }
 
-// Returns true if any of the paramters in the list fails the
+// Returns true if any of the parameters in the list fails the
 // filter criteria.
 bool shouldFilterParameterList(List<String> parameters,
     {bool fp = true, bool flatTp = false}) {
@@ -146,7 +146,7 @@
 }
 
 // Filter a set of a list of parameters according to their type.
-// A paramter list is only retained if all of the contained paramters
+// A parameter list is only retained if all of the contained parameters
 // pass the filter criteria.
 Set<List<String>> filterParameterList(Set<List<String>> parameterList,
     {bool fp = true, bool flatTp = false}) {
diff --git a/runtime/vm/compiler/assembler/assembler_arm.h b/runtime/vm/compiler/assembler/assembler_arm.h
index 8a714cf..9ccd092 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.h
+++ b/runtime/vm/compiler/assembler/assembler_arm.h
@@ -1458,7 +1458,7 @@
   // offset is not yet known and needs therefore relocation to the right place
   // before the code can be used.
   //
-  // The neccessary information for the "linker" (i.e. the relocation
+  // The necessary information for the "linker" (i.e. the relocation
   // information) is stored in [UntaggedCode::static_calls_target_table_]: an
   // entry of the form
   //
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h
index fa1d808..a13f06a7 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.h
+++ b/runtime/vm/compiler/assembler/assembler_arm64.h
@@ -2206,7 +2206,7 @@
   // is not yet known and needs therefore relocation to the right place before
   // the code can be used.
   //
-  // The neccessary information for the "linker" (i.e. the relocation
+  // The necessary information for the "linker" (i.e. the relocation
   // information) is stored in [UntaggedCode::static_calls_target_table_]: an
   // entry of the form
   //
diff --git a/runtime/vm/compiler/assembler/assembler_riscv.h b/runtime/vm/compiler/assembler/assembler_riscv.h
index eb2708e..f62f545 100644
--- a/runtime/vm/compiler/assembler/assembler_riscv.h
+++ b/runtime/vm/compiler/assembler/assembler_riscv.h
@@ -1320,7 +1320,7 @@
   // is not yet known and needs therefore relocation to the right place before
   // the code can be used.
   //
-  // The neccessary information for the "linker" (i.e. the relocation
+  // The necessary information for the "linker" (i.e. the relocation
   // information) is stored in [UntaggedCode::static_calls_target_table_]: an
   // entry of the form
   //
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 95d5237..58a3f56 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -5124,7 +5124,7 @@
   // better optimized by the compiler.
   //
   // TODO(dartbug.com/37291): Allow this optimization, but accumulate affected
-  // InstanceCallInstrs and the corresponding reciever cids during compilation.
+  // InstanceCallInstrs and the corresponding receiver cids during compilation.
   // After compilation, add receiver checks to the ICData for those call sites.
   if (Targets().is_empty()) return this;
 
diff --git a/runtime/vm/compiler/call_specializer.h b/runtime/vm/compiler/call_specializer.h
index 7e84402..c4ac095 100644
--- a/runtime/vm/compiler/call_specializer.h
+++ b/runtime/vm/compiler/call_specializer.h
@@ -24,7 +24,7 @@
 //
 //    * Replace a call to a binary arithmetic operator with corresponding IL
 //      instructions and necessary checks;
-//    * Replace a dynamic call with a static call, if reciever is known
+//    * Replace a dynamic call with a static call, if receiver is known
 //      to have a certain class id;
 //    * Replace type check with a range check
 //
diff --git a/runtime/vm/compiler/ffi/marshaller.h b/runtime/vm/compiler/ffi/marshaller.h
index b7607e9..175e12e 100644
--- a/runtime/vm/compiler/ffi/marshaller.h
+++ b/runtime/vm/compiler/ffi/marshaller.h
@@ -85,7 +85,7 @@
     return Location(arg_index).payload_type().AsRepresentationOverApprox(zone_);
   }
 
-  // Representation on how the value is passed to or recieved from the FfiCall
+  // Representation on how the value is passed to or received from the FfiCall
   // instruction or StaticCall, NativeParameter, and NativeReturn instructions.
   virtual Representation RepInFfiCall(intptr_t def_index_global) const;
   void RepsInFfiCall(intptr_t arg_index,
diff --git a/runtime/vm/compiler/frontend/base_flow_graph_builder.h b/runtime/vm/compiler/frontend/base_flow_graph_builder.h
index 37651ab..4c1d97e 100644
--- a/runtime/vm/compiler/frontend/base_flow_graph_builder.h
+++ b/runtime/vm/compiler/frontend/base_flow_graph_builder.h
@@ -125,7 +125,7 @@
 // kSharedWithVariable:
 //
 //   A temporary variable is allocated and initialized to 0 on normal entry
-//   and 2 on unchecked entry. Code which should be ommitted on the unchecked
+//   and 2 on unchecked entry. Code which should be omitted on the unchecked
 //   entrypoint is made conditional on this variable being equal to 0.
 //
 enum class UncheckedEntryPointStyle {
diff --git a/runtime/vm/heap/safepoint_test.cc b/runtime/vm/heap/safepoint_test.cc
index 0693ec1..1741df3 100644
--- a/runtime/vm/heap/safepoint_test.cc
+++ b/runtime/vm/heap/safepoint_test.cc
@@ -133,7 +133,7 @@
 
 // This test ensures that while a "deopt safepoint operation" is about to start
 // but is still waiting for some threads to hit a "deopt safepoint" another
-// safepoint operation can sucessfully start and finish.
+// safepoint operation can successfully start and finish.
 ISOLATE_UNIT_TEST_CASE(
     SafepointOperation_SafepointOpWhileDeoptSafepointOpBlocked) {
   auto isolate_group = thread->isolate_group();
@@ -166,7 +166,7 @@
     gc->MarkAndNotify(GcWithoutDeoptTask::kStartSafepointOperation);
     gc->WaitUntil(GcWithoutDeoptTask::kEndSafepointOperation);
 
-    // We were sucessfully doing a safepoint operation, now let's ensure the
+    // We were successfully doing a safepoint operation, now let's ensure the
     // first thread is still stuck in the starting of deopt operation.
     deopt->AssertIsIn(DeoptTask::kStartDeoptOperation);
 
diff --git a/runtime/vm/service_isolate.h b/runtime/vm/service_isolate.h
index 4dff100..274dc60 100644
--- a/runtime/vm/service_isolate.h
+++ b/runtime/vm/service_isolate.h
@@ -31,11 +31,11 @@
   static Dart_Port Port();
   static void WaitForServiceIsolateStartup();
 
-  // Returns `true` if the request was sucessfully sent.  If it was, the
+  // Returns `true` if the request was successfully sent.  If it was, the
   // [reply_port] will receive a Dart_TypedData_kUint8 response json.
   //
   // If sending the rpc failed and [error] is not `nullptr` then [error] might
-  // be set to a string containting the reason for the failure. If so, the
+  // be set to a string containing the reason for the failure. If so, the
   // caller is responsible for free()ing the error.
   static bool SendServiceRpc(uint8_t* request_json,
                              intptr_t request_json_length,
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index 2a6495b..9689781 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -729,7 +729,7 @@
 //
 // Therefore, to support this assumption, we scan the stack after a scavenge
 // or when concurrent marking begins and add all live temporaries in
-// Dart frames preceeding an exit frame to the store buffer or deferred
+// Dart frames preceding an exit frame to the store buffer or deferred
 // marking stack.
 void Thread::RestoreWriteBarrierInvariant(RestoreWriteBarrierInvariantOp op) {
   ASSERT(IsAtSafepoint());
diff --git a/samples-dev/swarm/swarm_ui_lib/layout/GridLayoutParser.dart b/samples-dev/swarm/swarm_ui_lib/layout/GridLayoutParser.dart
index 71f272d..7cc87e8 100644
--- a/samples-dev/swarm/swarm_ui_lib/layout/GridLayoutParser.dart
+++ b/samples-dev/swarm/swarm_ui_lib/layout/GridLayoutParser.dart
@@ -204,7 +204,7 @@
         if (c == DOT && !dot) {
           dot = true;
         } else {
-          // Not a digit or decimal seperator
+          // Not a digit or decimal separator
           break;
         }
       }
diff --git a/samples/ffi/sample_ffi_data.dart b/samples/ffi/sample_ffi_data.dart
index fd930f1..ef7ee07 100644
--- a/samples/ffi/sample_ffi_data.dart
+++ b/samples/ffi/sample_ffi_data.dart
@@ -195,8 +195,8 @@
   }
 
   {
-    // With IntPtr pointers, one could manually setup aribtrary data
-    // structres in C memory.
+    // With IntPtr pointers, one could manually setup arbitrary data
+    // structures in C memory.
     //
     // However, it is advised to use Pointer<Pointer<...>> for that.
 
diff --git a/samples_2/ffi/sample_ffi_data.dart b/samples_2/ffi/sample_ffi_data.dart
index ba82bec..a04a15a 100644
--- a/samples_2/ffi/sample_ffi_data.dart
+++ b/samples_2/ffi/sample_ffi_data.dart
@@ -197,8 +197,8 @@
   }
 
   {
-    // With IntPtr pointers, one could manually setup aribtrary data
-    // structres in C memory.
+    // With IntPtr pointers, one could manually setup arbitrary data
+    // structures in C memory.
     //
     // However, it is advised to use Pointer<Pointer<...>> for that.
 
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index fd3ffd1..ec8addd 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -162,7 +162,7 @@
 /// `--experiment-call-instrumentation`.
 ///
 /// By default, whenever a method is invoked for the first time, it prints an id
-/// and the method name to the console. This can be overriden by adding a top
+/// and the method name to the console. This can be overridden by adding a top
 /// level `dartCallInstrumentation` hook in JavaScript.
 @pragma('dart2js:noInline')
 void traceHelper(dynamic /*int*/ id, dynamic /*String*/ qualifiedName) {
@@ -2693,7 +2693,7 @@
 
   void initializeSomeLoadedHunks() {
     for (int i = nextHunkToInitialize; i < total; ++i) {
-      // A hunk is initialized only if all the preceeding hunks have been
+      // A hunk is initialized only if all the preceding hunks have been
       // initialized.
       if (waitingForLoad[i]) return;
       nextHunkToInitialize++;
diff --git a/sdk/lib/_internal/vm/lib/isolate_patch.dart b/sdk/lib/_internal/vm/lib/isolate_patch.dart
index 4e7b164..6cd14fc 100644
--- a/sdk/lib/_internal/vm/lib/isolate_patch.dart
+++ b/sdk/lib/_internal/vm/lib/isolate_patch.dart
@@ -367,7 +367,7 @@
     }
     if (script.isScheme("package")) {
       if (Isolate._packageSupported()) {
-        // resolving script uri is not really neccessary, but can be useful
+        // resolving script uri is not really necessary, but can be useful
         // for better failed-to-lookup-function-in-a-script spawn errors.
         script = await Isolate.resolvePackageUri(script);
       }
diff --git a/sdk/lib/isolate/isolate.dart b/sdk/lib/isolate/isolate.dart
index f3bd2eb..377abe2 100644
--- a/sdk/lib/isolate/isolate.dart
+++ b/sdk/lib/isolate/isolate.dart
@@ -637,7 +637,7 @@
   /// objects will be copied.
   ///
   /// The send happens immediately and may have a linear time cost to copy the
-  /// transtive object graph. The send itself doesn't block (i.e. doesn't wait
+  /// transitive object graph. The send itself doesn't block (i.e. doesn't wait
   /// until the receiver has received the message). The corresponding receive
   /// port can receive the message as soon as its isolate's event loop is ready
   /// to deliver it, independently of what the sending isolate is doing.
diff --git a/sdk_args.gni b/sdk_args.gni
index aee1ed9..4b2a1e4 100644
--- a/sdk_args.gni
+++ b/sdk_args.gni
@@ -9,7 +9,7 @@
   #
   # This is used in rules that need to refer to `.git/logs/HEAD` to include
   # a hash in the version string. By default the folder is `.git`, but we define
-  # it as an argument so it can be overriden by users of `git-worktree` (See
+  # it as an argument so it can be overridden by users of `git-worktree` (See
   # Issue #33619).
   #
   # When using git-worktree, you can add
diff --git a/tests/corelib/double_parse_test.dart b/tests/corelib/double_parse_test.dart
index 7dc70e7..97e5c00 100644
--- a/tests/corelib/double_parse_test.dart
+++ b/tests/corelib/double_parse_test.dart
@@ -68,7 +68,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, double result, [name = ""]) {
   expectNumEquals(result, double.parse(source), "parse '$source:$name");
   expectNumEquals(result, double.parse(" $source"), "parse ' $source':$name");
diff --git a/tests/corelib/double_try_parse_test.dart b/tests/corelib/double_try_parse_test.dart
index 11dba69..ce8306e 100644
--- a/tests/corelib/double_try_parse_test.dart
+++ b/tests/corelib/double_try_parse_test.dart
@@ -67,7 +67,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, double result, [name = ""]) {
   expectNumEquals(result, double.tryParse(source), "parse '$source:$name");
   expectNumEquals(
diff --git a/tests/corelib/num_parse_test.dart b/tests/corelib/num_parse_test.dart
index b1049e5..848a52e 100644
--- a/tests/corelib/num_parse_test.dart
+++ b/tests/corelib/num_parse_test.dart
@@ -64,7 +64,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, num result) {
   expectNumEquals(result, num.parse(source), "parse '$source'");
   expectNumEquals(result, num.parse(" $source"), "parse ' $source'");
diff --git a/tests/corelib_2/double_parse_test.dart b/tests/corelib_2/double_parse_test.dart
index 5827596..991540a 100644
--- a/tests/corelib_2/double_parse_test.dart
+++ b/tests/corelib_2/double_parse_test.dart
@@ -70,7 +70,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, double result, [name = ""]) {
   expectNumEquals(result, double.parse(source), "parse '$source:$name");
   expectNumEquals(result, double.parse(" $source"), "parse ' $source':$name");
diff --git a/tests/corelib_2/double_try_parse_test.dart b/tests/corelib_2/double_try_parse_test.dart
index 19cdd92..c1f53d0 100644
--- a/tests/corelib_2/double_try_parse_test.dart
+++ b/tests/corelib_2/double_try_parse_test.dart
@@ -69,7 +69,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, double result, [name = ""]) {
   expectNumEquals(result, double.tryParse(source), "parse '$source:$name");
   expectNumEquals(
diff --git a/tests/corelib_2/num_parse_test.dart b/tests/corelib_2/num_parse_test.dart
index aae0428..3d6567e 100644
--- a/tests/corelib_2/num_parse_test.dart
+++ b/tests/corelib_2/num_parse_test.dart
@@ -66,7 +66,7 @@
   testParseAllWhitespace("-$source", -result);
 }
 
-// Test parsing source, optionally preceeded and/or followed by whitespace.
+// Test parsing source, optionally preceded and/or followed by whitespace.
 void testParse(String source, num result) {
   expectNumEquals(result, num.parse(source), "parse '$source'");
   expectNumEquals(result, num.parse(" $source"), "parse ' $source'");
diff --git a/tests/language/covariant_override/tear_off_type_test.dart b/tests/language/covariant_override/tear_off_type_test.dart
index 732aaf6..bd1012b 100644
--- a/tests/language/covariant_override/tear_off_type_test.dart
+++ b/tests/language/covariant_override/tear_off_type_test.dart
@@ -102,7 +102,7 @@
 void main() {
   testDirect();
   testInherited();
-  testOverriden();
+  testOverridden();
   testImplemented();
   testMixed();
 }
@@ -135,7 +135,7 @@
   Expect.isTrue(named is TakeNamedObjectsAndInts);
 }
 
-void testOverriden() {
+void testOverridden() {
   var method2 = new Override2().method;
   Expect.isTrue(method2 is TakeInts);
   Expect.isTrue(method2 is TakeObjectsAndInts);
diff --git a/tests/language/deferred/static_seperate_lib1.dart b/tests/language/deferred/static_separate_lib1.dart
similarity index 100%
rename from tests/language/deferred/static_seperate_lib1.dart
rename to tests/language/deferred/static_separate_lib1.dart
diff --git a/tests/language/deferred/static_seperate_lib2.dart b/tests/language/deferred/static_separate_lib2.dart
similarity index 93%
rename from tests/language/deferred/static_seperate_lib2.dart
rename to tests/language/deferred/static_separate_lib2.dart
index 683b9a4..48bf271 100644
--- a/tests/language/deferred/static_seperate_lib2.dart
+++ b/tests/language/deferred/static_separate_lib2.dart
@@ -5,7 +5,7 @@
 library lib2;
 
 import "package:expect/expect.dart";
-import "static_seperate_lib1.dart";
+import "static_separate_lib1.dart";
 
 foo() {
   Expect.equals(1, C.foo());
diff --git a/tests/language/deferred/static_seperate_test.dart b/tests/language/deferred/static_separate_test.dart
similarity index 86%
rename from tests/language/deferred/static_seperate_test.dart
rename to tests/language/deferred/static_separate_test.dart
index c920eb8..86e8826 100644
--- a/tests/language/deferred/static_seperate_test.dart
+++ b/tests/language/deferred/static_separate_test.dart
@@ -4,13 +4,13 @@
 
 // The class lib1.C is referenced via lib1
 // The static function lib1.C.foo is referenced via lib2
-// Dart2js will put them in seperate hunks.
+// Dart2js will put them in separate hunks.
 // Similarly for C2, ..., C5.
 
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
-import "static_seperate_lib1.dart" deferred as lib1;
-import "static_seperate_lib2.dart" deferred as lib2;
+import "static_separate_lib1.dart" deferred as lib1;
+import "static_separate_lib2.dart" deferred as lib2;
 
 void main() {
   asyncStart();
diff --git a/tests/language/mixin/super_with_initializer_test.dart b/tests/language/mixin/super_with_initializer_test.dart
index a59164b..f5d3482 100644
--- a/tests/language/mixin/super_with_initializer_test.dart
+++ b/tests/language/mixin/super_with_initializer_test.dart
@@ -5,7 +5,7 @@
 /// Regression test for mixin overrides (dartbug.com/44636).
 ///
 /// Prior to the fix, B's initializer was accidentally being applied on the
-/// overriden definition in C, and as a result, the program would stack
+/// overridden definition in C, and as a result, the program would stack
 /// overflow.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language/nonfunction_type_aliases/private_names/private_name_extension_test.dart b/tests/language/nonfunction_type_aliases/private_names/private_name_extension_test.dart
index f7cfb84..61d1d3f 100644
--- a/tests/language/nonfunction_type_aliases/private_names/private_name_extension_test.dart
+++ b/tests/language/nonfunction_type_aliases/private_names/private_name_extension_test.dart
@@ -16,7 +16,7 @@
 }
 
 /// Extend a private class via a public typedef overriding methods and
-/// properties.  The final field `x` is overriden with a getter which returns
+/// properties.  The final field `x` is overridden with a getter which returns
 /// different values every time it is called.
 class AlsoDerived extends AlsoPublicClass {
   int backingStore = publicLibrarySentinel;
@@ -43,15 +43,15 @@
   Expect.throwsNoSuchMethodError(() => (p as dynamic)._privateInstanceMethod());
 }
 
-/// Test that overriden methods work correctly.
+/// Test that overridden methods work correctly.
 void test2() {
   var p = AlsoDerived();
   Expect.equals(publicLibrarySentinel, p.instanceMethod());
-  // Calling the overriden private method from this library should work.
+  // Calling the overridden private method from this library should work.
   Expect.equals(publicLibrarySentinel, p._privateInstanceMethod());
   // Calling the inherited private method from the private library should work.
   Expect.equals(privateLibrarySentinel, callPrivateInstanceMethod(p));
-  // Calling the overriden private method dynamically from this library should
+  // Calling the overridden private method dynamically from this library should
   // work.
   Expect.equals(publicLibrarySentinel, (p as dynamic)._privateInstanceMethod());
 }
@@ -66,7 +66,7 @@
   Expect.equals(privateLibrarySentinel, readInstanceField(p));
 }
 
-/// Test that overriden properties work correctly.
+/// Test that overridden properties work correctly.
 void test4() {
   var p = AlsoDerived();
   // Reading the original virtual field should give the private value.
diff --git a/tests/language/nonfunction_type_aliases/private_names/private_name_mixin_test.dart b/tests/language/nonfunction_type_aliases/private_names/private_name_mixin_test.dart
index 387d31b..797f425 100644
--- a/tests/language/nonfunction_type_aliases/private_names/private_name_mixin_test.dart
+++ b/tests/language/nonfunction_type_aliases/private_names/private_name_mixin_test.dart
@@ -30,7 +30,7 @@
 }
 
 void test1() {
-  // Test that the mixed in methods have been overriden correctly, and that the
+  // Test that the mixed in methods have been overridden correctly, and that the
   // private methods from the two libraries resolve correctly.
   var p = Derived1();
   Expect.equals(publicLibrarySentinel, p.mixinMethod());
diff --git a/tests/language/type_object/literal_type_literal_test.dart b/tests/language/type_object/literal_type_literal_test.dart
index 92da452..27f5085 100644
--- a/tests/language/type_object/literal_type_literal_test.dart
+++ b/tests/language/type_object/literal_type_literal_test.dart
@@ -30,13 +30,13 @@
 /// A typedef that defines a generic function type.
 typedef GenericFunc = int Function<T>(T);
 
-/// A typedef with a type paramter that defines a non-generic function type.
+/// A typedef with a type parameter that defines a non-generic function type.
 typedef int GenericTypedef<T>(T t);
 
 /// Semantically identical to [GenericTypedef], but using the Dart 2 syntax.
 typedef GenericTypedef2<T> = int Function(T);
 
-/// A typedef with a type paramter that defines a generic function type.
+/// A typedef with a type parameter that defines a generic function type.
 typedef GenericTypedefAndFunc<S> = S Function<T>(T);
 
 main() {
diff --git a/tests/language_2/covariant_override/tear_off_type_test.dart b/tests/language_2/covariant_override/tear_off_type_test.dart
index eb3b19f..fe676cd 100644
--- a/tests/language_2/covariant_override/tear_off_type_test.dart
+++ b/tests/language_2/covariant_override/tear_off_type_test.dart
@@ -102,7 +102,7 @@
 void main() {
   testDirect();
   testInherited();
-  testOverriden();
+  testOverridden();
   testImplemented();
   testMixed();
 }
@@ -135,7 +135,7 @@
   Expect.isTrue(named is TakeNamedObjectsAndInts);
 }
 
-void testOverriden() {
+void testOverridden() {
   var method2 = new Override2().method;
   Expect.isTrue(method2 is TakeInts);
   Expect.isTrue(method2 is TakeObjectsAndInts);
diff --git a/tests/language_2/deferred/static_seperate_lib1.dart b/tests/language_2/deferred/static_separate_lib1.dart
similarity index 100%
rename from tests/language_2/deferred/static_seperate_lib1.dart
rename to tests/language_2/deferred/static_separate_lib1.dart
diff --git a/tests/language_2/deferred/static_seperate_lib2.dart b/tests/language_2/deferred/static_separate_lib2.dart
similarity index 93%
rename from tests/language_2/deferred/static_seperate_lib2.dart
rename to tests/language_2/deferred/static_separate_lib2.dart
index e4dd526..c0d1377 100644
--- a/tests/language_2/deferred/static_seperate_lib2.dart
+++ b/tests/language_2/deferred/static_separate_lib2.dart
@@ -7,7 +7,7 @@
 library lib2;
 
 import "package:expect/expect.dart";
-import "static_seperate_lib1.dart";
+import "static_separate_lib1.dart";
 
 foo() {
   Expect.equals(1, C.foo());
diff --git a/tests/language_2/deferred/static_seperate_test.dart b/tests/language_2/deferred/static_separate_test.dart
similarity index 86%
rename from tests/language_2/deferred/static_seperate_test.dart
rename to tests/language_2/deferred/static_separate_test.dart
index c609597..366c61b 100644
--- a/tests/language_2/deferred/static_seperate_test.dart
+++ b/tests/language_2/deferred/static_separate_test.dart
@@ -6,13 +6,13 @@
 
 // The class lib1.C is referenced via lib1
 // The static function lib1.C.foo is referenced via lib2
-// Dart2js will put them in seperate hunks.
+// Dart2js will put them in separate hunks.
 // Similarly for C2, ..., C5.
 
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
-import "static_seperate_lib1.dart" deferred as lib1;
-import "static_seperate_lib2.dart" deferred as lib2;
+import "static_separate_lib1.dart" deferred as lib1;
+import "static_separate_lib2.dart" deferred as lib2;
 
 void main() {
   asyncStart();
diff --git a/tests/language_2/mixin/super_with_initializer_test.dart b/tests/language_2/mixin/super_with_initializer_test.dart
index cbbbbee..3a374d2 100644
--- a/tests/language_2/mixin/super_with_initializer_test.dart
+++ b/tests/language_2/mixin/super_with_initializer_test.dart
@@ -7,7 +7,7 @@
 /// Regression test for mixin overrides (dartbug.com/44636).
 ///
 /// Prior to the fix, B's initializer was accidentally being applied on the
-/// overriden definition in C, and as a result, the program would stack
+/// overridden definition in C, and as a result, the program would stack
 /// overflow.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/type_object/literal_type_literal_test.dart b/tests/language_2/type_object/literal_type_literal_test.dart
index 81eb9e2..6d64115 100644
--- a/tests/language_2/type_object/literal_type_literal_test.dart
+++ b/tests/language_2/type_object/literal_type_literal_test.dart
@@ -32,13 +32,13 @@
 /// A typedef that defines a generic function type.
 typedef GenericFunc = int Function<T>(T);
 
-/// A typedef with a type paramter that defines a non-generic function type.
+/// A typedef with a type parameter that defines a non-generic function type.
 typedef int GenericTypedef<T>(T t);
 
 /// Semantically identical to [GenericTypedef], but using the Dart 2 syntax.
 typedef GenericTypedef2<T> = int Function(T);
 
-/// A typedef with a type paramter that defines a generic function type.
+/// A typedef with a type parameter that defines a generic function type.
 typedef GenericTypedefAndFunc<S> = S Function<T>(T);
 
 main() {
diff --git a/tests/lib/async/stream_from_iterable_test.dart b/tests/lib/async/stream_from_iterable_test.dart
index 45c4014..e729dc3 100644
--- a/tests/lib/async/stream_from_iterable_test.dart
+++ b/tests/lib/async/stream_from_iterable_test.dart
@@ -210,7 +210,7 @@
 }
 
 // Collects value and error events in a list.
-// Value events preceeded by "value", error events by "error".
+// Value events preceded by "value", error events by "error".
 // Completes on done event.
 Future<List<Object>> collectEvents(Stream<Object> stream) {
   var c = new Completer<List<Object>>();
diff --git a/tests/lib/isolate/timer_multiple_isolates_test.dart b/tests/lib/isolate/timer_multiple_isolates_test.dart
index 0e47a88..f277e63 100644
--- a/tests/lib/isolate/timer_multiple_isolates_test.dart
+++ b/tests/lib/isolate/timer_multiple_isolates_test.dart
@@ -9,7 +9,7 @@
 
 child(msg) {
   var i = msg[0] as int;
-  var reponsePort = msg[1];
+  var responsePort = msg[1];
   print("Starting child $i");
 
   // Keep this isolate running to prevent its shutdown from touching the event
@@ -19,7 +19,7 @@
   // Try to get separate wakeups for each isolate.
   new Timer(new Duration(milliseconds: 100 * (i + 1)), () {
     print("Timer fired $i");
-    reponsePort.send(null);
+    responsePort.send(null);
   });
 }
 
diff --git a/tests/lib/js/external_nonjs_static_test.dart b/tests/lib/js/external_nonjs_static_test.dart
index 87c4615..71e5ab4 100644
--- a/tests/lib/js/external_nonjs_static_test.dart
+++ b/tests/lib/js/external_nonjs_static_test.dart
@@ -136,7 +136,7 @@
   external optionalParameterMethod([int? a, int b = 0]);
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
-  external overridenMethod();
+  external overriddenMethod();
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
 
@@ -145,7 +145,7 @@
 }
 
 class NonJSClass {
-  void overridenMethod() => 5;
+  void overriddenMethod() => 5;
 }
 
 extension ExtensionGenericNonJS<T> on GenericNonJSClass<T> {
diff --git a/tests/lib/js/external_static_test.dart b/tests/lib/js/external_static_test.dart
index a455de0..e4c503d 100644
--- a/tests/lib/js/external_static_test.dart
+++ b/tests/lib/js/external_static_test.dart
@@ -124,7 +124,7 @@
   external optionalParameterMethod([int? a, int b = 0]);
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
-  external overridenMethod();
+  external overriddenMethod();
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
 
@@ -142,7 +142,7 @@
 }
 
 class NonJSClass {
-  void overridenMethod() => 5;
+  void overriddenMethod() => 5;
 }
 
 extension ExtensionGenericNonJS<T> on GenericNonJSClass<T> {
diff --git a/tests/lib_2/async/stream_from_iterable_test.dart b/tests/lib_2/async/stream_from_iterable_test.dart
index fb26553..406b637 100644
--- a/tests/lib_2/async/stream_from_iterable_test.dart
+++ b/tests/lib_2/async/stream_from_iterable_test.dart
@@ -212,7 +212,7 @@
 }
 
 // Collects value and error events in a list.
-// Value events preceeded by "value", error events by "error".
+// Value events preceded by "value", error events by "error".
 // Completes on done event.
 Future<List<Object>> collectEvents(Stream<Object> stream) {
   var c = new Completer<List<Object>>();
diff --git a/tests/lib_2/isolate/timer_multiple_isolates_test.dart b/tests/lib_2/isolate/timer_multiple_isolates_test.dart
index d8b6fb7..ed401c1 100644
--- a/tests/lib_2/isolate/timer_multiple_isolates_test.dart
+++ b/tests/lib_2/isolate/timer_multiple_isolates_test.dart
@@ -11,7 +11,7 @@
 
 child(msg) {
   var i = msg[0];
-  var reponsePort = msg[1];
+  var responsePort = msg[1];
   print("Starting child $i");
 
   // Keep this isolate running to prevent its shutdown from touching the event
@@ -21,7 +21,7 @@
   // Try to get separate wakeups for each isolate.
   new Timer(new Duration(milliseconds: 100 * (i + 1)), () {
     print("Timer fired $i");
-    reponsePort.send(null);
+    responsePort.send(null);
   });
 }
 
diff --git a/tests/lib_2/js/external_nonjs_static_test.dart b/tests/lib_2/js/external_nonjs_static_test.dart
index d0fa7df..ca8d944 100644
--- a/tests/lib_2/js/external_nonjs_static_test.dart
+++ b/tests/lib_2/js/external_nonjs_static_test.dart
@@ -97,7 +97,7 @@
   external optionalParameterMethod([int a, int b = 0]);
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
-  external overridenMethod();
+  external overriddenMethod();
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
 
@@ -106,7 +106,7 @@
 }
 
 class NonJSClass {
-  void overridenMethod() => 5;
+  void overriddenMethod() => 5;
 }
 
 extension ExtensionGenericNonJS<T> on GenericNonJSClass<T> {
diff --git a/tests/lib_2/js/external_static_test.dart b/tests/lib_2/js/external_static_test.dart
index 8084a72..0a1e510 100644
--- a/tests/lib_2/js/external_static_test.dart
+++ b/tests/lib_2/js/external_static_test.dart
@@ -91,7 +91,7 @@
   external optionalParameterMethod([int a, int b = 0]);
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
-  external overridenMethod();
+  external overriddenMethod();
   //       ^
   // [web] JS interop or Native class required for 'external' extension members.
 
@@ -105,7 +105,7 @@
 }
 
 class NonJSClass {
-  void overridenMethod() => 5;
+  void overriddenMethod() => 5;
 }
 
 extension ExtensionGenericNonJS<T> on GenericNonJSClass<T> {
diff --git a/tests/modular/private_class_exposed_by_typedef/main.dart b/tests/modular/private_class_exposed_by_typedef/main.dart
index 70c26d1..34c86cb 100644
--- a/tests/modular/private_class_exposed_by_typedef/main.dart
+++ b/tests/modular/private_class_exposed_by_typedef/main.dart
@@ -21,7 +21,7 @@
 }
 
 /// Extend a private class via a public typedef overriding methods and
-/// properties.  The final field `x` is overriden with a getter which returns
+/// properties.  The final field `x` is overridden with a getter which returns
 /// different values every time it is called.
 class AlsoDerived extends AlsoPublicClass {
   int backingStore = publicNameSentinel;
diff --git a/tests/standalone/io/http_linklocal_ipv6_test.dart b/tests/standalone/io/http_linklocal_ipv6_test.dart
index e99162b..48f0e18 100644
--- a/tests/standalone/io/http_linklocal_ipv6_test.dart
+++ b/tests/standalone/io/http_linklocal_ipv6_test.dart
@@ -40,7 +40,7 @@
           .then((request) => request.close())
           .then((response) {
         print(
-            'reponse: status code: ${response.statusCode}, reason: ${response.reasonPhrase}');
+            'response: status code: ${response.statusCode}, reason: ${response.reasonPhrase}');
         int bytes = 0;
         response.listen((data) {
           bytes += data.length;
diff --git a/tests/standalone_2/io/http_linklocal_ipv6_test.dart b/tests/standalone_2/io/http_linklocal_ipv6_test.dart
index b301afd..44c6130 100644
--- a/tests/standalone_2/io/http_linklocal_ipv6_test.dart
+++ b/tests/standalone_2/io/http_linklocal_ipv6_test.dart
@@ -42,7 +42,7 @@
           .then((request) => request.close())
           .then((response) {
         print(
-            'reponse: status code: ${response.statusCode}, reason: ${response.reasonPhrase}');
+            'response: status code: ${response.statusCode}, reason: ${response.reasonPhrase}');
         int bytes = 0;
         response.listen((data) {
           bytes += data.length;
diff --git a/tools/VERSION b/tools/VERSION
index 5e77a13..0ab344f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 191
+PRERELEASE 192
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/line_doc_comments.dart b/tools/line_doc_comments.dart
index b4a5c92..c15beb7 100755
--- a/tools/line_doc_comments.dart
+++ b/tools/line_doc_comments.dart
@@ -18,7 +18,7 @@
     print('Converts "/**"-style block doc comments in a directory ');
     print('containing Dart code to "///"-style line doc comments.');
     print('');
-    print('Usage: line_doc_coments.dart <dir>');
+    print('Usage: line_doc_comments.dart <dir>');
     return;
   }