Skip to main content

Module place

Module place 

Source
Expand description

Place resolution: syn::Expr β†’ ContractPlace.

Semantic resolution of contract places (arguments, locals, field projections, iter()/each_element() element projection, unwrap_some() enum downcast) against rustc’s type context. This layer depends only on types.rs and crate helpers, so both the property builder (builder.rs) and the pest-based expression converter (pest_conv.rs) can share it without a dependency cycle.

FunctionsΒ§

detect_array_for_each πŸ”’
Check if the given expression refers to a function parameter whose type is an array. If so, return a ContractPlace for that parameter to be used as the for_each container.
parse_contract_place πŸ”’
parse_expr_into_local_and_ty πŸ”’
parse_named_place πŸ”’
resolve_next_field πŸ”’
resolve_place_from_ident πŸ”’
Resolve a place given its base identifier and field-name list directly, without going through a syn expression. Used by the pest converter.
resolve_projection_from_base_ident πŸ”’
resolve_projection_from_struct_ident πŸ”’
strip_iter_elements πŸ”’
Strip IterElements from a property arg and return the container place (without the projection) if IterElements was present.