class PrettyTypeManager

Defined at line 24 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.h

Public Methods

void PrettyTypeManager ()

Defined at line 38 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.cc

void ~PrettyTypeManager ()

Defined at line 44 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.cc

void Add (ExprLanguage lang, IdentifierGlob glob, std::unique_ptr<PrettyType> pretty)

Adds a PrettyType for the givene language/glob.

Defined at line 46 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.cc

PrettyType * GetForType (const Type * type)

Finds a PrettyType associated with the given type object. Returns a non-owning pointer if

found. Returns null if there is nothing registered for this type.

The type can be null which will report no PrettyType.

Defined at line 58 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.cc

bool Format (FormatNode * node, const Type * type, const FormatOptions & options, const fxl::RefPtr<EvalContext> & context, fit::deferred_callback & cb)

Attempts to format the given node with a pretty printer. If there is a pretty-printer it will

take ownership of the callback (and maybe issue it immediately if the formatting was

synchronous) and return true.

The type will not be made concrete for the comparison because some pretty-printers match

typedef names which will get stripped. Therefore, callers may want to call twice, once with a

non-concrete type and once with the concrete one. This function will strip C-V qualifiers

for name comparison since those are always safe to strip.

If there is no pretty type registered, does nothing with the callback and returns false.

Defined at line 104 of file ../../src/developer/debug/zxdb/expr/pretty_type_manager.cc