const AST *ast_cls(const loc_t &loc, std::vector<ASTRange> *ranges, bool negated)
{
    AST *ast = new AST(loc, AST::CLS);
    ast->cls.ranges = ranges;
    ast->cls.negated = negated;
    return ast;
}
const AST *ast_cls(const loc_t &loc, std::vector<ASTRange> *ranges, bool negated)
{
    AST *ast = new AST(loc, AST::CLS);
    ast->cls.ranges = ranges;
    ast->cls.negated = negated;
    return ast;
}