[ddc] Make escapeIdentifier API non-nullable
All uses either already pass a non-nullable String or assert that
the returned value is non-nullable which would be equivalent to
asserting that the value passed is not null.
Change-Id: I6308a8b39bc5ee08db6741145ed7b8a983c33118
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/365662
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
diff --git a/pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart b/pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart
index 75ff49c..a109325 100644
--- a/pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart
+++ b/pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart
@@ -30,7 +30,7 @@
final Pattern _syntheticTypeCharacters = RegExp('[&^#.|]');
-String? escapeIdentifier(String? identifier) {
+String escapeIdentifier(String identifier) {
// Remove the special characters used to encode mixin application class names
// and extension method / parameter names which are legal in Kernel, but not
// in JavaScript.
@@ -38,7 +38,7 @@
// Note, there is an implicit assumption here that we won't have
// collisions since everything is mapped to \$. That may work out fine given
// how these are synthesized, but may need to revisit.
- return identifier?.replaceAll(_syntheticTypeCharacters, r'$');
+ return identifier.replaceAll(_syntheticTypeCharacters, r'$');
}
/// Returns the escaped name for class [node].
@@ -48,7 +48,7 @@
///
/// In the current encoding, generic classes are generated in a function scope
/// which avoids name clashes of the escaped class name.
-String getLocalClassName(Class node) => escapeIdentifier(node.name)!;
+String getLocalClassName(Class node) => escapeIdentifier(node.name);
/// Returns the escaped name for the type parameter [node].
///
@@ -58,10 +58,10 @@
/* TypeParameter | StructuralParameter */ Object node) {
assert(node is TypeParameter || node is StructuralParameter);
if (node is TypeParameter) {
- return escapeIdentifier(node.name)!;
+ return escapeIdentifier(node.name!);
} else {
node as StructuralParameter;
- return escapeIdentifier(node.name)!;
+ return escapeIdentifier(node.name!);
}
}
diff --git a/pkg/dev_compiler/lib/src/kernel/type_table.dart b/pkg/dev_compiler/lib/src/kernel/type_table.dart
index 92fedbb..4c6c2ea 100644
--- a/pkg/dev_compiler/lib/src/kernel/type_table.dart
+++ b/pkg/dev_compiler/lib/src/kernel/type_table.dart
@@ -153,7 +153,7 @@
TypeTable(String name, this._runtimeCall)
: typeContainer = ModuleItemContainer<DartType>.asObject(name,
- keyToString: (DartType t) => escapeIdentifier(_typeString(t))!);
+ keyToString: (DartType t) => escapeIdentifier(_typeString(t)));
/// Returns true if [type] is already recorded in the table.
bool _isNamed(DartType type) =>
@@ -267,7 +267,7 @@
// TODO(40273) Remove prepended text when we have a better way to hide
// these names from debug tools.
_unboundTypeIds[type] =
- js_ast.TemporaryId(escapeIdentifier('__t\$${_typeString(type)}')!);
+ js_ast.TemporaryId(escapeIdentifier('__t\$${_typeString(type)}'));
}
for (var free in freeVariables) {