Class PrinterConfigObj#

Inheritance Relationships#

Base Type#

  • public ffi::Object

Class Documentation#

class PrinterConfigObj : public ffi::Object#

Public Functions

template<typename T>
inline T GetExtraConfig(const ffi::String &key, T fallback) const#

Look up a value in extra_config with type cast and fallback.

Keys are conventionally namespaced as “<dialect>.<knob>” (e.g. “ir.prefix”, “tirx.prefix”).

ffi::Array<ffi::String> GetBuiltinKeywords()#

Public Members

ffi::Array<ffi::String> binding_names = {}#

A stack that tracks the names of the binding hierarchy.

bool show_meta = false#

Whether or not to show metadata.

bool verbose_expr = false#

Whether or not to verbose print expressions.

int indent_spaces = 4#

Number of spaces used for indentation.

bool print_line_numbers = false#

Whether to print line numbers.

int num_context_lines = -1#

Number of context lines to print around the underlined text.

bool render_invisible_path_info = true#

Whether to render access-path context for invisible underlined paths. Defaults true.

ffi::Array<ffi::reflection::AccessPath> path_to_underline#
ffi::Map<ffi::reflection::AccessPath, ffi::String> path_to_annotate#

ffi::Object path to be annotated.

ffi::Array<ffi::ObjectRef> obj_to_underline = ffi::Array<ffi::ObjectRef>()#

ffi::Object to be underlined.

ffi::Map<ffi::ObjectRef, ffi::String> obj_to_annotate = ffi::Map<ffi::ObjectRef, ffi::String>()#

ffi::Object to be annotated.

ffi::Map<ffi::String, ffi::Any> extra_config#

Generic extension map for dialect-specific config knobs.

Keys are conventionally namespaced as “<dialect>.<knob>”, e.g.: “ir.prefix” — the IR prefix (default “I”) “tirx.prefix” — the TIR prefix (default “T”)

Use GetExtraConfig<T>(key, fallback) to read values with a typed fallback.

Public Static Functions

static inline void RegisterReflection()#
static inline int32_t _GetOrAllocRuntimeTypeIndex()#
static inline int32_t RuntimeTypeIndex() noexcept#