///|
pub(all) enum Ast {
Null(loc~ : Location)
Bool(Bool, loc~ : Location)
Str(String, loc~ : Location)
Float(String, loc~ : Location)
Arr(Vector[Ast], loc~ : Location)
Obj(Vector[(String, Ast)], loc~ : Location)
} derive(Debug, Eq)
///|
pub fn Ast::loc(self : Self) -> Location {
match self {
Null(loc~) => loc
Bool(_, loc~) => loc
Str(_, loc~) => loc
Float(_, loc~) => loc
Arr(_, loc~) => loc
Obj(_, loc~) => loc
}
}