diff --git a/pkg/analysis_server/test/search/element_references_test.dart b/pkg/analysis_server/test/search/element_references_test.dart
index 21a4e6b..2bc7a79 100644
--- a/pkg/analysis_server/test/search/element_references_test.dart
+++ b/pkg/analysis_server/test/search/element_references_test.dart
@@ -58,9 +58,9 @@
   }
 
   Future<void> test_constructor_named_potential() async {
-    // Constructors in other classes shouldn't be considered potential matches,
-    // nor should unresolved method calls, since constructor call sites are
-    // statically bound to their targets).
+    // Constructors in other classes shouldn't be considered potential matches.
+    // Unresolved method calls should also not be considered potential matches,
+    // because constructor call sites are statically bound to their targets.
     addTestFile('''
 class A {
   A.named(p); // A
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index 1e652a3..61462f2 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -2811,7 +2811,7 @@
 
     var enclosingClass = _enclosingClass;
     if (enclosingClass == null) {
-      // The field is in an extension and should handled elsewhere.
+      // The field is in an extension and should be handled elsewhere.
       return;
     }
     var hasConstConstructor = enclosingClass.constructors.any((c) => c.isConst);
diff --git a/pkg/compiler/lib/src/ssa/optimize.dart b/pkg/compiler/lib/src/ssa/optimize.dart
index f90ed78..9faff8ee 100644
--- a/pkg/compiler/lib/src/ssa/optimize.dart
+++ b/pkg/compiler/lib/src/ssa/optimize.dart
@@ -1566,7 +1566,7 @@
         return assignField();
       }
       // TODO(sra): Implement inlining of setters with checks for new rti. The
-      // check and field assignment for the setter should inlined if this is
+      // check and field assignment for the setter should be inlined if this is
       // the only call to the setter, or the current function already computes
       // the type of the field.
       node.needsCheck = true;
diff --git a/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart b/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
index ccd60c9..9acfe5e 100644
--- a/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
@@ -2675,7 +2675,7 @@
             //      //   {Super.method, Class.method}
             //    }
             //
-            // Maybe we should recognized this.
+            // Maybe we should recognize this.
             interfaceMembers.addAll(implementedMembers);
 
             /// Normally, if only one member defines the interface member there
diff --git a/tools/VERSION b/tools/VERSION
index 8a31d56..7668db3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 15
 PATCH 0
-PRERELEASE 41
+PRERELEASE 42
 PRERELEASE_PATCH 0
\ No newline at end of file
