mod analyze;
mod common;
mod debug;
mod decision;
mod promotion;
mod simplify;
pub(crate) mod traverse;
pub(crate) use analyze::analyze_hir;
pub use common::{
HirAssign, HirBinaryExpr, HirBinaryOpKind, HirBlock, HirCallExpr, HirCallStmt, HirCapture,
HirClose, HirClosureExpr, HirDecisionExpr, HirDecisionNode, HirDecisionNodeRef,
HirDecisionTarget, HirExpr, HirGenericFor, HirGlobalRef, HirGoto, HirIf, HirLValue, HirLabel,
HirLabelId, HirLocalDecl, HirLogicalExpr, HirModule, HirNumericFor, HirProto, HirProtoRef,
HirRecordField, HirRepeat, HirReturn, HirStmt, HirTableAccess, HirTableConstructor,
HirTableField, HirTableKey, HirTableSetList, HirToBeClosed, HirUnaryExpr, HirUnaryOpKind,
HirUnresolvedExpr, HirUnstructured, HirWhile, LocalId, ParamId, TempId, UpvalueId,
};
pub use crate::parser::{ProtoLineRange, ProtoSignature};
pub use debug::dump_hir;
pub(crate) use simplify::synthesize_readable_pure_logical_expr;