1use std::sync::atomic::AtomicBool;
2
3pub mod emit_js;
4pub mod gen_ir;
5
6static CODEGEN_MODE: AtomicBool = AtomicBool::new(true);
8
9static CODEGEN_SKIP_ARITY_CHECK: AtomicBool = AtomicBool::new(false);
10
11pub const COMPILE_ERRORS_FILE: &str = "calcit.build-errors";
12
13pub fn codegen_mode() -> bool {
14 CODEGEN_MODE.load(std::sync::atomic::Ordering::Relaxed)
15}
16
17pub fn set_codegen_mode(b: bool) {
19 CODEGEN_MODE.store(b, std::sync::atomic::Ordering::Relaxed);
20}
21
22pub fn set_code_gen_skip_arity_check(b: bool) {
24 if b {
25 println!("WARN: skip arity check in js codegen")
26 }
27 CODEGEN_SKIP_ARITY_CHECK.store(b, std::sync::atomic::Ordering::Relaxed)
28}
29
30pub fn skip_arity_check() -> bool {
32 CODEGEN_SKIP_ARITY_CHECK.load(std::sync::atomic::Ordering::Relaxed)
33}