aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/ast/serialize/yql_expr_serialize.h
blob: 1496f609e8294bc5c8a93cf1d4e9a7bd12ce4563 (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>

namespace NYql {

struct TSerializedExprGraphComponents {
    enum : ui16 {
        Graph = 0x00,
        Positions = 0x01
    };
};

TString SerializeGraph(const TExprNode& node, TExprContext& ctx, ui16 components = TSerializedExprGraphComponents::Graph);
TExprNode::TPtr DeserializeGraph(TPositionHandle pos, TStringBuf buffer, TExprContext& ctx);
TExprNode::TPtr DeserializeGraph(TPosition pos, TStringBuf buffer, TExprContext& ctx);

} // namespace NYql