Reland "Do not append `!` to type names in tests that exercise NullabilitySuffix.none."

This is a reland of 890d12fa47c7b7b1ee5d45041e5d55f425d6fc75

Original change's description:
> Do not append `!` to type names in tests that exercise NullabilitySuffix.none.
> 
> Appending `!` is confusing because it suggests a non-nullable version
> of the type.  But the absence of a `?` or `*` suffix doesn't mean the
> type is non-nullable.  For type parameters, the type might or might
> permit null depending on how it is instantiated.
> 
> Change-Id: I3c98ddeb80816cc82e00e2692977e66c9fb51170
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99373
> Reviewed-by: Dan Rubel <danrubel@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Paul Berry <paulberry@google.com>

Change-Id: Ifbb3caea8881839e16ac959f962adc831b792ec6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99448
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index f3a5c7f..267f338 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -2964,7 +2964,6 @@
         buffer.write('*');
         break;
       case NullabilitySuffix.none:
-        buffer.write('!');
         break;
     }
   }
diff --git a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
index a7f158a..820678a 100644
--- a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
@@ -36,7 +36,7 @@
     assertNoTestErrors();
 
     assertType(findNode.typeName('int? a'), 'int?');
-    assertType(findNode.typeName('int b'), 'int!');
+    assertType(findNode.typeName('int b'), 'int');
   }
 
   test_local_returnType_interfaceType() async {
@@ -50,7 +50,7 @@
     assertNoTestErrors();
 
     assertType(findNode.typeName('int? f'), 'int?');
-    assertType(findNode.typeName('int g'), 'int!');
+    assertType(findNode.typeName('int g'), 'int');
   }
 
   @failingTest
@@ -80,7 +80,7 @@
     assertNoTestErrors();
 
     assertType(findNode.typeName('int? a'), 'int?');
-    assertType(findNode.typeName('int b'), 'int!');
+    assertType(findNode.typeName('int b'), 'int');
   }
 
   test_local_variable_interfaceType_generic() async {
@@ -96,9 +96,9 @@
     assertNoTestErrors();
 
     assertType(findNode.typeName('List<int?>? a'), 'List<int?>?');
-    assertType(findNode.typeName('List<int>? b'), 'List<int!>?');
-    assertType(findNode.typeName('List<int?> c'), 'List<int?>!');
-    assertType(findNode.typeName('List<int> d'), 'List<int!>!');
+    assertType(findNode.typeName('List<int>? b'), 'List<int>?');
+    assertType(findNode.typeName('List<int?> c'), 'List<int?>');
+    assertType(findNode.typeName('List<int> d'), 'List<int>');
   }
 
   test_local_variable_typeParameter() async {
@@ -112,7 +112,7 @@
     await resolveTestFile();
     assertNoTestErrors();
 
-    assertType(findNode.typeName('T a'), 'T!');
+    assertType(findNode.typeName('T a'), 'T');
     assertType(findNode.typeName('T? b'), 'T?');
   }
 
@@ -125,7 +125,7 @@
 ''');
     await resolveTestFile();
     assertNoTestErrors();
-    assertType(findNode.postfix('x!'), 'Object!');
+    assertType(findNode.postfix('x!'), 'Object');
   }
 
   test_typedef_classic() async {
@@ -139,7 +139,7 @@
     await resolveTestFile();
     assertNoTestErrors();
 
-    assertType(findNode.typeName('F? a'), '(bool!, String?) → int??');
+    assertType(findNode.typeName('F? a'), '(bool, String?) → int??');
   }
 
   @failingTest
@@ -177,9 +177,9 @@
     await resolveTestFile();
     assertNoTestErrors();
 
-    assertType(findNode.typeName('A {} // 1'), 'A!');
-    assertType(findNode.typeName('A {} // 2'), 'A!');
-    assertType(findNode.typeName('A {} // 3'), 'A!');
+    assertType(findNode.typeName('A {} // 1'), 'A');
+    assertType(findNode.typeName('A {} // 2'), 'A');
+    assertType(findNode.typeName('A {} // 3'), 'A');
   }
 
   test_classTypeAlias_hierarchy() async {
@@ -193,9 +193,9 @@
     await resolveTestFile();
     assertNoTestErrors();
 
-    assertType(findNode.typeName('A with'), 'A!');
-    assertType(findNode.typeName('B implements'), 'B!');
-    assertType(findNode.typeName('C;'), 'C!');
+    assertType(findNode.typeName('A with'), 'A');
+    assertType(findNode.typeName('B implements'), 'B');
+    assertType(findNode.typeName('C;'), 'C');
   }
 
   test_local_variable_interfaceType_notMigrated() async {
@@ -222,7 +222,7 @@
     await resolveTestFile();
     assertNoTestErrors();
 
-    assertType(findNode.typeName('A {} // 1'), 'A!');
-    assertType(findNode.typeName('A {} // 2'), 'A!');
+    assertType(findNode.typeName('A {} // 1'), 'A');
+    assertType(findNode.typeName('A {} // 2'), 'A');
   }
 }