Skip to main content

Crate ferroui_markup_xaml_loader

Crate ferroui_markup_xaml_loader 

Source
Expand description

ferroui-markup-xaml-loader

The XAML language of the framework: the compiler extensions (language definition, well-known types, AST nodes, transformers) that turn a parsed XAML document into the typed AST the back ends consume. The crate builds on xamlx and mirrors the layout of the upstream loader project module for module:

ModuleUpstreamContents
compiler_extensionsCompilerExtensions/language, well-known types, nodes, transformers
parsersMarkup.Xaml/Parsersparsers shared with the markup runtime
back_end(none)what the interpreter and the emitter of Rust source share
[testing](none)the in-memory framework fixture for unit tests (feature testing)

There is no IL back end. Types that generate IL upstream carry their data and document the semantics a back end has to implement; see the table in compiler_extensions.

Modules§

back_end
What the run-time and the build-time back end share, read from the transformed AST alone. What the two back ends share: the run-time back end (crate::runtime, the interpreter of the transformed AST) and the build-time back end ([crate::rust_emitter], the emitter of Rust source over the same AST).
compiler_extensions
Port of Markup.Xaml.Loader/CompilerExtensions: the framework’s XAML language definition on top of xamlx.
core_table
The closed table of runtime library types, shared by the run-time and the build-time type system. The closed table of runtime library (System.*) types markup can name, as data: what both type systems of the compiler define from it (docs/porting/xaml.md, 9.5.1 and 9.5.5).
parsers
Parsers shared by the XAML compiler extensions and the markup runtime.
runtime
The run-time back end: the run-time type system and the AST interpreter. The run-time back end of the XAML compiler.

Structs§

DocumentGroup
The document of a class with the documents it includes (FerroRuntimeXamlLoader::document_group).
FerroRuntimeXamlLoader
Loads XAML at run time.
FerroXamlIlRuntimeCompiler
Loads documents at run time.