[material_ui] Standardize M3 and M3E token template base class names (#12675)

Work towards https://github.com/flutter/flutter/issues/191088

**Ports over https://github.com/flutter/packages/pull/12209 which landed on the `m3e_migration` feature branch.**

### Original PR description

As title. Related to https://github.com/flutter/flutter/issues/187899

## Pre-Review Checklist

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
diff --git a/packages/material_ui/tool/gen_defaults/README.md b/packages/material_ui/tool/gen_defaults/README.md
index 5658112..1d7a0e6 100644
--- a/packages/material_ui/tool/gen_defaults/README.md
+++ b/packages/material_ui/tool/gen_defaults/README.md
@@ -14,7 +14,7 @@
 ## Templates
 
 There is a template file for every component that needs defaults from the token
-database. These templates are implemented as subclasses of either `M3TokenTemplate` or `M3ETokenTemplate`.
+database. These templates are implemented as subclasses of either `TokenTemplateM3` or `TokenTemplateM3E`.
 
 Templates need to override the `generateContents` method to provide the
 generated code block as a string.
diff --git a/packages/material_ui/tool/gen_defaults/templates/template.dart b/packages/material_ui/tool/gen_defaults/templates/template.dart
index e9ba810..70ad11d 100644
--- a/packages/material_ui/tool/gen_defaults/templates/template.dart
+++ b/packages/material_ui/tool/gen_defaults/templates/template.dart
@@ -12,16 +12,16 @@
 enum _MaterialVersion { material3, material3Expressive }
 
 /// A template for generating Material 3 component defaults.
-abstract class M3TokenTemplate extends TokenTemplate {
-  const M3TokenTemplate();
+abstract class TokenTemplateM3 extends TokenTemplate {
+  const TokenTemplateM3();
 
   @override
   _MaterialVersion get _version => _MaterialVersion.material3;
 }
 
 /// A template for generating Material 3 Expressive component defaults.
-abstract class M3ETokenTemplate extends TokenTemplate {
-  const M3ETokenTemplate();
+abstract class TokenTemplateM3E extends TokenTemplate {
+  const TokenTemplateM3E();
 
   @override
   _MaterialVersion get _version => _MaterialVersion.material3Expressive;
@@ -52,7 +52,7 @@
   static final RegExp _nameRegExp = RegExp(r'^[A-Z][a-zA-Z0-9]*( [A-Z][a-zA-Z0-9]*)*$');
 
   /// The name of the template, which corresponds to the target file name.
-  /// E.g., 'Icon Button' for generating 'icon_button_m3_defaults.g.dart'.
+  /// E.g., 'Icon Button' for generating 'icon_button_defaults_m3.g.dart'.
   String get name;
 
   /// The path of the parent file relative to `lib/src`.
@@ -154,8 +154,8 @@
   void generateFile({bool verbose = false}) {
     final String snakeName = name.toLowerCase().replaceAll(' ', '_');
     final String outputFileName = switch (_version) {
-      _MaterialVersion.material3 => '${snakeName}_m3_defaults.g.dart',
-      _MaterialVersion.material3Expressive => '${snakeName}_m3e_defaults.g.dart',
+      _MaterialVersion.material3 => '${snakeName}_defaults_m3.g.dart',
+      _MaterialVersion.material3Expressive => '${snakeName}_defaults_m3e.g.dart',
     };
     final fileName = '$materialLib/$outputFileName';
     if (verbose) {
diff --git a/packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart b/packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart
index b8676b9..26eaf48 100644
--- a/packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart
+++ b/packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart
@@ -25,16 +25,16 @@
 
     for (final isM3E in <bool>[true, false]) {
       TokenTemplate buttonTemplate() =>
-          isM3E ? M3EIconButtonTemplate(testPath()) : M3IconButtonTemplate(testPath());
+          isM3E ? IconButtonTemplateM3E(testPath()) : IconButtonTemplateM3(testPath());
 
       String filePath() {
-        final fileName = 'icon_button_m3${isM3E ? 'e' : ''}_defaults.g.dart';
+        final fileName = 'icon_button_defaults_m3${isM3E ? 'e' : ''}.g.dart';
         return '${testPath()}/$fileName';
       }
 
       group(isM3E ? 'M3E Template' : 'M3 Template', () {
         test(
-          'will generate a part file ending in icon_button_m3${isM3E ? 'e' : ''}_defaults.g.dart',
+          'will generate a part file ending in icon_button_defaults_m3${isM3E ? 'e' : ''}.g.dart',
           () {
             buttonTemplate().generateFile(verbose: true);
             expect(File(filePath()).existsSync(), isTrue);
@@ -69,12 +69,12 @@
     }
 
     test('color generates color expression', () {
-      final template = M3IconButtonTemplate(testPath());
+      final template = IconButtonTemplateM3(testPath());
       expect(template.color(TokenColorRole.onSurface, '_colors'), '_colors.onSurface');
     });
 
     test('colorWithOpacity generates color expression with opacity', () {
-      final template = M3IconButtonTemplate(testPath());
+      final template = IconButtonTemplateM3(testPath());
       expect(
         template.colorWithOpacity(TokenColorRole.onSurface, 0.12, '_colors'),
         '_colors.onSurface.withOpacity(0.12)',
@@ -86,7 +86,7 @@
     });
 
     test('shape generates shape expressions', () {
-      final template = M3IconButtonTemplate(testPath());
+      final template = IconButtonTemplateM3(testPath());
       expect(
         template.shape(
           const ShapeStruct(
@@ -126,7 +126,7 @@
     });
 
     test('shape throws UnsupportedError for unsupported shape family', () {
-      final template = M3IconButtonTemplate(testPath());
+      final template = IconButtonTemplateM3(testPath());
       expect(
         () => template.shape(
           const ShapeStruct(
@@ -146,12 +146,11 @@
         ),
       );
     });
-
     test('will run dart format over the generated file', () {
       final template = UnformattedTemplate(testPath());
       template.generateFile();
 
-      final file = File('${testPath()}/unformatted_m3_defaults.g.dart');
+      final file = File('${testPath()}/unformatted_defaults_m3.g.dart');
       expect(file.readAsStringSync(), contains(formattedClass));
     });
 
diff --git a/packages/material_ui/tool/gen_defaults/test/test_fixtures/test_templates.dart b/packages/material_ui/tool/gen_defaults/test/test_fixtures/test_templates.dart
index 735382c..7ea99fd 100644
--- a/packages/material_ui/tool/gen_defaults/test/test_fixtures/test_templates.dart
+++ b/packages/material_ui/tool/gen_defaults/test/test_fixtures/test_templates.dart
@@ -5,8 +5,8 @@
 import '../../templates/template.dart';
 import 'icon_button_token_data.dart';
 
-class M3EIconButtonTemplate extends M3ETokenTemplate {
-  M3EIconButtonTemplate(this.customMaterialLib);
+class IconButtonTemplateM3E extends TokenTemplateM3E {
+  IconButtonTemplateM3E(this.customMaterialLib);
 
   final String customMaterialLib;
 
@@ -30,8 +30,8 @@
   }
 }
 
-class M3IconButtonTemplate extends M3TokenTemplate {
-  M3IconButtonTemplate(this.customMaterialLib);
+class IconButtonTemplateM3 extends TokenTemplateM3 {
+  IconButtonTemplateM3(this.customMaterialLib);
 
   final String customMaterialLib;
 
@@ -66,7 +66,7 @@
   }
 }
 
-class UnformattedTemplate extends M3TokenTemplate {
+class UnformattedTemplate extends TokenTemplateM3 {
   UnformattedTemplate(this.customMaterialLib);
 
   final String customMaterialLib;
@@ -91,7 +91,7 @@
   }
 }
 
-class InvalidTemplate extends M3TokenTemplate {
+class InvalidTemplate extends TokenTemplateM3 {
   InvalidTemplate(this.customMaterialLib);
 
   final String customMaterialLib;
@@ -115,7 +115,7 @@
   }
 }
 
-class SnakeCaseNameTemplate extends M3TokenTemplate {
+class SnakeCaseNameTemplate extends TokenTemplateM3 {
   SnakeCaseNameTemplate(this.customMaterialLib);
 
   final String customMaterialLib;