Skip to content
This repository was archived by the owner on Apr 2, 2020. It is now read-only.

Commit a6891e0

Browse files
committed
Add LLDB formatters for types that live primarily in FoundationBase.
1 parent 134157e commit a6891e0

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

source/Plugins/Language/Swift/SwiftLanguage.cpp

+56
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,8 @@ static void LoadSwiftFormatters(lldb::TypeCategoryImplSP swift_category_sp) {
563563
ConstString("CoreGraphics.CGFloat"), summary_flags);
564564
AddStringSummary(swift_category_sp, "${var.native}",
565565
ConstString("Foundation.CGFloat"), summary_flags);
566+
AddStringSummary(swift_category_sp, "${var.native}",
567+
ConstString("FoundationBase.CGFloat"), summary_flags);
566568
#endif // LLDB_DISABLE_PYTHON
567569
}
568570

@@ -585,6 +587,11 @@ LoadFoundationValueTypesFormatters(lldb::TypeCategoryImplSP swift_category_sp) {
585587
"Foundation.Date summary provider", ConstString("Foundation.Date"),
586588
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
587589

590+
lldb_private::formatters::AddCXXSummary(
591+
swift_category_sp, lldb_private::formatters::swift::Date_SummaryProvider,
592+
"FoundationBase.Date summary provider", ConstString("FoundationBase.Date"),
593+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
594+
588595
lldb_private::formatters::AddCXXSummary(
589596
swift_category_sp,
590597
lldb_private::formatters::swift::NotificationName_SummaryProvider,
@@ -597,40 +604,80 @@ LoadFoundationValueTypesFormatters(lldb::TypeCategoryImplSP swift_category_sp) {
597604
"Notification.Name summary provider",
598605
ConstString("Foundation.Notification.Name"),
599606
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
607+
lldb_private::formatters::AddCXXSummary(
608+
swift_category_sp,
609+
lldb_private::formatters::swift::NotificationName_SummaryProvider,
610+
"Notification.Name summary provider",
611+
ConstString("FoundationBase.Notification.Type.Name"),
612+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
613+
lldb_private::formatters::AddCXXSummary(
614+
swift_category_sp,
615+
lldb_private::formatters::swift::NotificationName_SummaryProvider,
616+
"Notification.Name summary provider",
617+
ConstString("FoundationBase.Notification.Name"),
618+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
600619

601620
lldb_private::formatters::AddCXXSummary(
602621
swift_category_sp, lldb_private::formatters::swift::URL_SummaryProvider,
603622
"URL summary provider", ConstString("Foundation.URL"),
604623
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
624+
lldb_private::formatters::AddCXXSummary(
625+
swift_category_sp, lldb_private::formatters::swift::URL_SummaryProvider,
626+
"URL summary provider", ConstString("FoundationBase.URL"),
627+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
605628

606629
lldb_private::formatters::AddCXXSummary(
607630
swift_category_sp,
608631
lldb_private::formatters::swift::IndexPath_SummaryProvider,
609632
"IndexPath summary provider", ConstString("Foundation.IndexPath"),
610633
summary_flags);
634+
lldb_private::formatters::AddCXXSummary(
635+
swift_category_sp,
636+
lldb_private::formatters::swift::IndexPath_SummaryProvider,
637+
"IndexPath summary provider", ConstString("FoundationBase.IndexPath"),
638+
summary_flags);
611639

612640
lldb_private::formatters::AddCXXSummary(
613641
swift_category_sp,
614642
lldb_private::formatters::swift::Measurement_SummaryProvider,
615643
"Measurement summary provider",
616644
ConstString("Foundation.Measurement<Foundation.Unit>"),
617645
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
646+
lldb_private::formatters::AddCXXSummary(
647+
swift_category_sp,
648+
lldb_private::formatters::swift::Measurement_SummaryProvider,
649+
"Measurement summary provider",
650+
ConstString("FoundationBase.Measurement<FoundationBase.Unit>"),
651+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
618652

619653
lldb_private::formatters::AddCXXSummary(
620654
swift_category_sp, lldb_private::formatters::swift::UUID_SummaryProvider,
621655
"UUID summary provider", ConstString("Foundation.UUID"),
622656
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
657+
lldb_private::formatters::AddCXXSummary(
658+
swift_category_sp, lldb_private::formatters::swift::UUID_SummaryProvider,
659+
"UUID summary provider", ConstString("FoundationBase.UUID"),
660+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
623661

624662
lldb_private::formatters::AddCXXSummary(
625663
swift_category_sp, lldb_private::formatters::swift::Data_SummaryProvider,
626664
"Data summary provider", ConstString("Foundation.Data"),
627665
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
666+
lldb_private::formatters::AddCXXSummary(
667+
swift_category_sp, lldb_private::formatters::swift::Data_SummaryProvider,
668+
"Data summary provider", ConstString("FoundationBase.Data"),
669+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
628670

629671
lldb_private::formatters::AddCXXSummary(
630672
swift_category_sp,
631673
lldb_private::formatters::swift::Decimal_SummaryProvider,
632674
"Decimal summary provider", ConstString("Foundation.Decimal"),
633675
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
676+
lldb_private::formatters::AddCXXSummary(
677+
swift_category_sp,
678+
lldb_private::formatters::swift::Decimal_SummaryProvider,
679+
"Decimal summary provider", ConstString("FoundationBase.Decimal"),
680+
TypeSummaryImpl::Flags(summary_flags).SetDontShowChildren(true));
634681

635682
lldb_private::formatters::AddCXXSynthetic(
636683
swift_category_sp,
@@ -641,6 +688,15 @@ LoadFoundationValueTypesFormatters(lldb::TypeCategoryImplSP swift_category_sp) {
641688
.SetCascades(true)
642689
.SetSkipReferences(false)
643690
.SetNonCacheable(false));
691+
lldb_private::formatters::AddCXXSynthetic(
692+
swift_category_sp,
693+
lldb_private::formatters::swift::URLComponentsSyntheticFrontEndCreator,
694+
"URLComponents synthetic children",
695+
ConstString("FoundationBase.URLComponents"), SyntheticChildren::Flags()
696+
.SetSkipPointers(true)
697+
.SetCascades(true)
698+
.SetSkipReferences(false)
699+
.SetNonCacheable(false));
644700
#endif
645701
}
646702

0 commit comments

Comments
 (0)