From 2f1506822cc4d6ace5d6bfb45e384d60cc2ae3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Sinan=20A=C4=9Facan?= Date: Sat, 9 Dec 2023 09:44:44 +0000 Subject: [PATCH] [dart2wasm] Skip synthetic mixin class names in type name list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reduces optimized binary size (with names section) of devtools from 10,322,431 to 10,153,197 bytes (-1.6%). Change-Id: Ife9f803846a054cfbe3910008dc62d51d7a2c7bd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340564 Reviewed-by: Martin Kustermann Commit-Queue: Ömer Ağacan --- pkg/dart2wasm/lib/types.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/dart2wasm/lib/types.dart b/pkg/dart2wasm/lib/types.dart index f04302eef71..511e7c353a2 100644 --- a/pkg/dart2wasm/lib/types.dart +++ b/pkg/dart2wasm/lib/types.dart @@ -209,8 +209,12 @@ class Types { // class ID. If we ever change that logic, we will need to change this code. List typeNames = []; for (ClassInfo classInfo in translator.classes) { - String className = classInfo.cls?.name ?? ''; - typeNames.add(className); + Class? cls = classInfo.cls; + if (cls == null || cls.isAnonymousMixin) { + typeNames.add(""); + } else { + typeNames.add(cls.name); + } } return typeNames; }