[dart2js] InterfaceType tweak
Avoid duplicate empty lists.
Change-Id: Ibad5f4263a5cef8f7086473d9eebc13612323ebb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177040
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
diff --git a/pkg/compiler/lib/src/elements/types.dart b/pkg/compiler/lib/src/elements/types.dart
index 8a660e2..bfd7666 100644
--- a/pkg/compiler/lib/src/elements/types.dart
+++ b/pkg/compiler/lib/src/elements/types.dart
@@ -313,8 +313,13 @@
final ClassEntity element;
final List<DartType> typeArguments;
- InterfaceType._(this.element, this.typeArguments)
- : assert(typeArguments.every((e) => e != null));
+ InterfaceType._allocate(this.element, this.typeArguments);
+
+ factory InterfaceType._(ClassEntity element, List<DartType> typeArguments) {
+ assert(typeArguments.every((e) => e != null));
+ if (typeArguments.isEmpty) typeArguments = const [];
+ return InterfaceType._allocate(element, typeArguments);
+ }
factory InterfaceType._readFromDataSource(
DataSource source, List<FunctionTypeVariable> functionTypeVariables) {