Skip to content
This repository was archived by the owner on May 21, 2019. It is now read-only.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 16376ed

Browse files
committedFeb 15, 2012
<rdar://problem/10062621>
New public API for handling formatters: creating, deleting, modifying categories, and formatters, and managing type/formatter association. This provides SB classes for each of the main object types involved in providing formatter support: SBTypeCategory SBTypeFilter SBTypeFormat SBTypeSummary SBTypeSynthetic plus, an SBTypeNameSpecifier class that is used on the public API layer to abstract the notion that formatters can be applied to plain type-names as well as to regular expressions For naming consistency, this patch also renames a lot of formatters-related classes. Plus, the changes in how flags are handled that started with summaries is now extended to other classes as well. A new enum (lldb::eTypeOption) is meant to support this on the public side. The patch also adds several new calls to the formatter infrastructure that are used to implement by-index accessing and several other design changes required to accommodate the new API layer. An architectural change is introduced in that backing objects for formatters now become writable. On the public API layer, CoW is implemented to prevent unwanted propagation of changes. Lastly, there are some modifications in how the "default" category is constructed and managed in relation to other categories. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150558 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 52d0d02 commit 16376ed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4421
-490
lines changed
 

‎include/lldb/API/SBDebugger.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,36 @@ class SBDebugger
241241
void
242242
SetCloseInputOnEOF (bool b);
243243

244+
SBTypeCategory
245+
GetCategory (const char* category_name);
246+
247+
SBTypeCategory
248+
CreateCategory (const char* category_name);
249+
250+
bool
251+
DeleteCategory (const char* category_name);
252+
253+
uint32_t
254+
GetNumCategories ();
255+
256+
SBTypeCategory
257+
GetCategoryAtIndex (uint32_t);
258+
259+
SBTypeCategory
260+
GetDefaultCategory();
261+
262+
SBTypeFormat
263+
GetFormatForType (SBTypeNameSpecifier);
264+
265+
SBTypeSummary
266+
GetSummaryForType (SBTypeNameSpecifier);
267+
268+
SBTypeFilter
269+
GetFilterForType (SBTypeNameSpecifier);
270+
271+
SBTypeSynthetic
272+
GetSyntheticForType (SBTypeNameSpecifier);
273+
244274
private:
245275

246276
friend class SBInputReader;

‎include/lldb/API/SBDefines.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ class SBSymbolContextList;
5959
class SBTarget;
6060
class SBThread;
6161
class SBType;
62+
class SBTypeCategory;
63+
class SBTypeFilter;
64+
class SBTypeFormat;
65+
class SBTypeNameSpecifier;
66+
class SBTypeSummary;
67+
class SBTypeSynthetic;
6268
class SBTypeList;
6369
class SBValue;
6470
class SBValueList;

0 commit comments

Comments
 (0)
This repository has been archived.