Skip to main content

Module expr

Module expr 

Source

Structs§

LetAnnotation
The type a let declares for its variable: let xs: int[] = [];.
Span
A span of code in a Source’s contents.

Enums§

Expr
ImportBinding
What an import adds to the scope of the file that writes it.
IsTarget
What the right side of is names.
OperatorForm
How an operator reaches the method a type defines.
StructRest
Where a struct literal written with .. takes the fields it does not write from.

Constants§

METHOD_SEP
Separator between a type name and a method name in a mangled method symbol.
OPERATOR_SYMBOLS
The operator symbols a method may be named after, as a diagnostic lists them. Unary minus is written - like subtraction; the parameter count tells the two apart.
UNARY_MINUS_METHOD
The method name unary minus takes.

Functions§

closure_free_names
The names an anonymous function reads or writes from the scope it is written in, in the order they first appear.
code_captures_variable
Whether an anonymous function written anywhere in code reads or writes name from the scope around it.
code_modifies_variable
is_operator_method
Whether a method name is one of the operators, so it is declared with an operator symbol rather than an identifier.
is_unary_operator_method
Whether an operator method takes one operand rather than two.
mangle_method
Builds the mangled free-function symbol an impl Type { fn method ... } lowers to.
operator_method
The method an operator symbol resolves to on a type that defines one, and the form the call takes.
operator_method_answers_bool
Whether an operator method has to hand back a bool.
self_operator_method
The operator method this node reaches on the body’s own receiver, for a node whose receiver is self.
symbol_of_expr
var_assign