Expand description
HIR provides high-level, object-oriented access to Mun code. It is constructed by first parsing Mun code with the mun_syntax crate and then it is lowered into HIR constructs, names are resolved, and type checking is performed. HIR is the input for both the compiler as well as the language server.
Re-exports
Modules
Semantics
provides the means to get semantic information from syntax trees that are not
necessarily part of the compilation process. This is useful when you want to extract information
from a modified source file in the context of the current state.Macros
Structs
Representative struct for the query group.
The body of an item (function, const etc.).
Representative struct for the query group.
FileId
is an integer which uniquely identifies a file. File paths are messy and
system-dependent, so most of the code should work directly with FileId
, without inspecting the
path. The mapping between FileId
and path and SourceRoot
is constant. A file rename is
represented as a pair of deletion/creation.Representative struct for the query group.
InFile<T>
stores a value of T
inside a particular file/syntax tree.The result of type inference: A mapping from expressions and patterns to types.
Representative struct for the query group.
Represents an id of a module inside a package.
Name
is a wrapper around string, which is used in mun_hir for both references
and declarations.A
Package
describes a single package.Represents the id of a single package, all packages have a unique id, the main package and all
dependent packages.
Represents information about a set of packages in a compilation
Representative struct for the query group.
Files are grouped into source roots. A source root is a directory on the file systems which is
watched for changes. Typically it corresponds to a single library.
A list of substitutions for generic parameters.
External representation of a type. This should be cheap to clone.
Enums
Similar to
ast::PatKind
Represents the kind of memory management a struct uses.
A kind of type.
Visibility of an item, modules resolved.
Traits
The
AstDatabase
provides queries that transform text from the SourceDatabase
into an
Abstract Syntax Tree (AST).A trait implemented for items that can be related back to their source. The
HasSource::source
method returns the source location of its instance.The
InternDatabase
maps certain datastructures to ids. These ids refer to instances of
concepts like a Function
, Struct
or TypeAlias
in a semi-stable way.Database which stores all significant input facts: source code and project model.
Functions
Returns a resolver applicable to the specified expression