diff --git a/pkg/compiler/lib/src/kernel/dart2js_target.dart b/pkg/compiler/lib/src/kernel/dart2js_target.dart
index 7037ab7..6a9e9f0 100644
--- a/pkg/compiler/lib/src/kernel/dart2js_target.dart
+++ b/pkg/compiler/lib/src/kernel/dart2js_target.dart
@@ -21,7 +21,7 @@
 
 import '../options.dart';
 import 'invocation_mirror_constants.dart';
-import 'transformations/modular/lowering.dart' as modularTransforms;
+import 'transformations/modular/transform.dart' as modularTransforms;
 
 const Iterable<String> _allowedDartSchemePaths = [
   'async',
diff --git a/pkg/compiler/lib/src/kernel/transformations/global/lowering.dart b/pkg/compiler/lib/src/kernel/transformations/global/transform.dart
similarity index 84%
rename from pkg/compiler/lib/src/kernel/transformations/global/lowering.dart
rename to pkg/compiler/lib/src/kernel/transformations/global/transform.dart
index 7e4aa1b..983714d 100644
--- a/pkg/compiler/lib/src/kernel/transformations/global/lowering.dart
+++ b/pkg/compiler/lib/src/kernel/transformations/global/transform.dart
@@ -11,14 +11,14 @@
 
 void transformLibraries(
     List<Library> libraries, CoreTypes coreTypes, CompilerOptions options) {
-  final transformer = _Lowering(coreTypes, options);
+  final transformer = _GlobalTransformer(coreTypes, options);
   libraries.forEach(transformer.visitLibrary);
 }
 
-class _Lowering extends Transformer {
+class _GlobalTransformer extends Transformer {
   final JsGetFlagLowering _jsGetFlagLowering;
 
-  _Lowering(CoreTypes coreTypes, CompilerOptions options)
+  _GlobalTransformer(CoreTypes coreTypes, CompilerOptions options)
       : _jsGetFlagLowering = JsGetFlagLowering(coreTypes, options);
 
   @override
diff --git a/pkg/compiler/lib/src/kernel/transformations/modular/lowering.dart b/pkg/compiler/lib/src/kernel/transformations/modular/transform.dart
similarity index 96%
rename from pkg/compiler/lib/src/kernel/transformations/modular/lowering.dart
rename to pkg/compiler/lib/src/kernel/transformations/modular/transform.dart
index 5f37887..afcb525 100644
--- a/pkg/compiler/lib/src/kernel/transformations/modular/lowering.dart
+++ b/pkg/compiler/lib/src/kernel/transformations/modular/transform.dart
@@ -19,11 +19,11 @@
 /// transforming children nodes.
 void transformLibraries(List<Library> libraries, CoreTypes coreTypes,
     ClassHierarchy hierarchy, CompilerOptions? options) {
-  final transformer = _Lowering(coreTypes, hierarchy, options);
+  final transformer = _ModularTransformer(coreTypes, hierarchy, options);
   libraries.forEach(transformer.visitLibrary);
 }
 
-class _Lowering extends Transformer {
+class _ModularTransformer extends Transformer {
   final FactorySpecializer factorySpecializer;
   final LateLowering _lateLowering;
   final AwaitLowering _awaitLowering;
@@ -31,7 +31,7 @@
 
   Member? _currentMember;
 
-  _Lowering(
+  _ModularTransformer(
       CoreTypes coreTypes, ClassHierarchy hierarchy, CompilerOptions? _options)
       : factorySpecializer = FactorySpecializer(coreTypes, hierarchy),
         _lateLowering = LateLowering(coreTypes, _options),
diff --git a/pkg/compiler/lib/src/phase/load_kernel.dart b/pkg/compiler/lib/src/phase/load_kernel.dart
index f4ed908..d678507 100644
--- a/pkg/compiler/lib/src/phase/load_kernel.dart
+++ b/pkg/compiler/lib/src/phase/load_kernel.dart
@@ -23,7 +23,7 @@
 import '../kernel/front_end_adapter.dart';
 import '../kernel/dart2js_target.dart'
     show Dart2jsTarget, implicitlyUsedLibraries;
-import '../kernel/transformations/global/lowering.dart' as globalTransforms;
+import '../kernel/transformations/global/transform.dart' as globalTransforms;
 import '../options.dart';
 
 class Input {
