logo
Expand description

This module contains the intermediate representation of the code in the form of an object tree

Structs

A component is a type in the language which can be instantiated, Or is materialized for repeated expression.

The full document (a complete file)

An Element is an instantiation of a Component

If the parent element is a repeated element, this has information about the models

Used sub types for a root component

Enums

Functions

Make the geometry of the injected_parent that of the old_elem. And the old_elem will cover the injected_parent

Find the parent element to a given element. (since there is no parent mapping we need to fo an exhaustive search)

This function replace the root element of a repeated element. the previous root becomes the only child of the new root element. Note that no reference to the base component must exist outside of repeated_element.base_type

Call the visitor for each children of the element recursively, starting with the element itself

Same as recurse_elem but include the elements form sub_components

Same as recurse_elem but include the elements form sub_components

Same as recurse_elem, but will take the children from the element as to not keep the element borrow

Create a Type for this node

Create a Type::Object from a syntax_nodes::ObjectType

Visit all expression in this component and sub components

Visit all named reference in this component and sub component

Visit all the named reference in an element But does not recurse in sub-elements. (unlike visit_all_named_references which recurse)

This visit the binding attached to this element, but does not recurse in children elements Also does not recurse within the expressions.

Type Definitions