aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/core/yql_func_stack.h
blob: 764f3dba1cbcabb48aedaf5863f04ee0989dbe03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include <yql/essentials/ast/yql_expr.h>
#include <util/generic/stack.h>
#include <util/generic/strbuf.h>

namespace NYql {

class TFunctionStack {
public:
    void EnterFrame(const TExprNode& input, TExprContext& ctx);
    void LeaveFrame(const TExprNode& input, TExprContext& ctx);
    void Reset();
    void MarkUsed();

private:
    TStack<std::pair<TStringBuf, bool>> CurrentFunctions_;
};

}