luaur-compiler 0.1.2

Luau source-to-bytecode compiler (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::enums::type_constant_folding::Type;
use crate::records::constant::Constant;
use crate::records::cost_visitor::CostVisitor;
use luaur_ast::records::ast_expr::AstExpr;

impl CostVisitor {
    pub fn get_number(&self, node: *mut AstExpr, result: &mut f64) -> bool {
        unsafe {
            if let Some(constant) = (*self.constants).find(&node) {
                if constant.r#type == Type::Type_Number {
                    *result = constant.data.value_number;
                    return true;
                }
            }
        }
        false
    }
}