luaur-analysis 0.1.0

Luau type checker and type inference (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::records::binding::Binding;
use crate::records::symbol::Symbol;
use luaur_ast::records::location::Location;
use luaur_ast::records::position::Position;

pub fn is_binding_legal_at_current_position(
    symbol: &Symbol,
    binding: &Binding,
    pos: Position,
) -> bool {
    if !symbol.local.is_null() {
        return binding.location.end < pos;
    }

    binding.location == Location::default() || !binding.location.containsClosed(pos)
}