@@ -19433,7 +19433,7 @@ const char* AbstractType::NullabilitySuffix(
19433
19433
case Nullability::kNonNullable:
19434
19434
return "";
19435
19435
case Nullability::kLegacy:
19436
- return (FLAG_show_internal_names || name_visibility == kInternalName )
19436
+ return (FLAG_show_internal_names || name_visibility != kUserVisibleName )
19437
19437
? "*"
19438
19438
: "";
19439
19439
default:
@@ -19455,6 +19455,13 @@ StringPtr AbstractType::UserVisibleName() const {
19455
19455
return Symbols::New(thread, printer.buffer());
19456
19456
}
19457
19457
19458
+ StringPtr AbstractType::ScrubbedName() const {
19459
+ Thread* thread = Thread::Current();
19460
+ ZoneTextBuffer printer(thread->zone());
19461
+ PrintName(kScrubbedName, &printer);
19462
+ return Symbols::New(thread, printer.buffer());
19463
+ }
19464
+
19458
19465
void AbstractType::PrintName(NameVisibility name_visibility,
19459
19466
BaseTextBuffer* printer) const {
19460
19467
if (IsTypeRef()) {
@@ -19464,11 +19471,9 @@ void AbstractType::PrintName(NameVisibility name_visibility,
19464
19471
ref_type.PrintName(name_visibility, printer);
19465
19472
return;
19466
19473
}
19467
- ASSERT(name_visibility != kScrubbedName);
19468
19474
Thread* thread = Thread::Current();
19469
19475
Zone* zone = thread->zone();
19470
19476
Class& cls = Class::Handle(zone);
19471
- String& name_str = String::Handle(zone);
19472
19477
if (IsTypeParameter()) {
19473
19478
const TypeParameter& type_param = TypeParameter::Cast(*this);
19474
19479
printer->AddString(String::Handle(type_param.name()).ToCString());
@@ -19494,14 +19499,7 @@ void AbstractType::PrintName(NameVisibility name_visibility,
19494
19499
cls = type_class();
19495
19500
// Do not print the full vector, but only the declared type parameters.
19496
19501
num_type_params = cls.NumTypeParameters();
19497
- if (name_visibility == kInternalName) {
19498
- name_str = cls.Name();
19499
- printer->AddString(name_str.ToCString());
19500
- } else {
19501
- ASSERT(name_visibility == kUserVisibleName);
19502
- // Map internal types to their corresponding public interfaces.
19503
- printer->AddString(cls.UserVisibleNameCString());
19504
- }
19502
+ printer->AddString(cls.NameCString(name_visibility));
19505
19503
if (num_type_params > num_args) {
19506
19504
first_type_param_index = 0;
19507
19505
if (!IsFinalized() || IsBeingFinalized()) {
0 commit comments