Struct DocTranslatorVTable#
Defined in File doc_translator.h
Struct Documentation#
-
struct DocTranslatorVTable#
Engine callbacks borrowed for the translator’s lifetime.
Public Members
-
TVMFFIAny (*translate)(DocTranslatorObj *translator, ffi::AnyView value, const ffi::Object *destination) noexcept#
Translate a value with an optional pre-mapped destination.
- Param translator:
The borrowed translation context.
- Param value:
The borrowed input value.
- Param destination:
A borrowed Var, or nullptr when no binding is requested.
- Return:
An owning Expected<Optional<ExprDoc>> encoded as TVMFFIAny. None means emission completed the request; errors use Expected’s error encoding.
-
TVMFFIAny (*alloc_id)(DocTranslatorObj *translator, ffi::AnyView hint) noexcept#
Reserve an identifier without mapping a variable.
- Param translator:
The borrowed translation context.
- Param hint:
The borrowed string name hint.
- Return:
An owning Expected<IdDoc> encoded as TVMFFIAny, including errors.
-
TVMFFIAny (*var_get_or_alloc_id)(DocTranslatorObj *translator, ffi::AnyView var, bool explicit_def) noexcept#
Find or allocate a variable’s identifier.
- Param translator:
The borrowed translation context.
- Param var:
The borrowed variable.
- Param explicit_def:
Whether to remove the binding from pending definitions.
- Return:
An owning Expected<IdDoc> encoded as TVMFFIAny, including errors.
-
TVMFFIAny (*get_implicit_defs)(DocTranslatorObj *translator) noexcept#
Get the current variable scope’s pending definitions.
- Param translator:
The borrowed translation context.
- Return:
An owning Expected<Dict<Var, IdDoc>> encoded as TVMFFIAny, including errors.
-
TVMFFIAny (*begin_var_scope)(DocTranslatorObj *translator) noexcept#
Begin a lexical variable scope.
- Param translator:
The borrowed translation context.
- Return:
Expected<void> encoded as TVMFFIAny, including errors.
-
TVMFFIAny (*end_var_scope)(DocTranslatorObj *translator) noexcept#
End the current lexical variable scope.
- Param translator:
The borrowed translation context.
- Return:
Expected<void> encoded as TVMFFIAny, including errors.
-
TVMFFIAny (*translate)(DocTranslatorObj *translator, ffi::AnyView value, const ffi::Object *destination) noexcept#