summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-06-17 22:36:46 +0300
committervvvv <[email protected]>2025-06-18 11:03:43 +0300
commit80d6f567b04024db1404525203859e917f332a26 (patch)
tree99089cfafe65181ca5e494701f8161a739f91252
parentd5f0dda360b9549364860b3389a403ede0dd94ec (diff)
YQL-20086 ast
commit_hash:0e0d69f0fdbf5c5d7bb8e4f69f8aba70afed226a
-rw-r--r--yql/essentials/ast/yql_ast.h80
-rw-r--r--yql/essentials/ast/yql_expr.cpp118
-rw-r--r--yql/essentials/ast/yql_expr.h430
-rw-r--r--yql/essentials/ast/yql_expr_builder.cpp392
-rw-r--r--yql/essentials/ast/yql_expr_builder.h30
-rw-r--r--yql/essentials/ast/yql_pos_handle.h2
-rw-r--r--yql/essentials/ast/yql_type_string.cpp254
7 files changed, 653 insertions, 653 deletions
diff --git a/yql/essentials/ast/yql_ast.h b/yql/essentials/ast/yql_ast.h
index aaae6f53a1e..83adced26c8 100644
--- a/yql/essentials/ast/yql_ast.h
+++ b/yql/essentials/ast/yql_ast.h
@@ -53,85 +53,85 @@ struct TAstNode {
}
inline EType GetType() const {
- return Type;
+ return Type_;
}
inline bool IsAtom() const {
- return Type == Atom;
+ return Type_ == Atom;
}
inline bool IsList() const {
- return Type == List;
+ return Type_ == List;
}
inline bool IsListOfSize(ui32 len) const {
- return Type == List && ListCount == len;
+ return Type_ == List && ListCount_ == len;
}
inline TPosition GetPosition() const {
- return Position;
+ return Position_;
}
inline void SetPosition(TPosition position) {
- Position = position;
+ Position_ = position;
}
inline TStringBuf GetContent() const {
Y_ABORT_UNLESS(IsAtom());
- return TStringBuf(Data.A.Content, Data.A.Size);
+ return TStringBuf(Data_.A.Content, Data_.A.Size);
}
inline void SetContent(TStringBuf newContent, TMemoryPool& pool) {
Y_ABORT_UNLESS(IsAtom());
auto poolContent = pool.AppendString(newContent);
- Data.A.Content = poolContent.data();
- Data.A.Size = poolContent.size();
+ Data_.A.Content = poolContent.data();
+ Data_.A.Size = poolContent.size();
}
inline void SetLiteralContent(TStringBuf newContent) {
Y_ABORT_UNLESS(IsAtom());
- Data.A.Content = newContent.data();
- Data.A.Size = newContent.size();
+ Data_.A.Content = newContent.data();
+ Data_.A.Size = newContent.size();
}
inline ui32 GetFlags() const {
Y_ABORT_UNLESS(IsAtom());
- return Data.A.Flags;
+ return Data_.A.Flags;
}
inline void SetFlags(ui32 flags) {
Y_ABORT_UNLESS(IsAtom());
- Data.A.Flags = flags;
+ Data_.A.Flags = flags;
}
inline ui32 GetChildrenCount() const {
Y_ABORT_UNLESS(IsList());
- return ListCount;
+ return ListCount_;
}
inline const TAstNode* GetChild(ui32 index) const {
Y_ABORT_UNLESS(IsList());
- Y_ABORT_UNLESS(index < ListCount);
- if (ListCount <= SmallListCount) {
- return Data.S.Children[index];
+ Y_ABORT_UNLESS(index < ListCount_);
+ if (ListCount_ <= SmallListCount) {
+ return Data_.S.Children[index];
} else {
- return Data.L.Children[index];
+ return Data_.L.Children[index];
}
}
inline TAstNode* GetChild(ui32 index) {
Y_ABORT_UNLESS(IsList());
- Y_ABORT_UNLESS(index < ListCount);
- if (ListCount <= SmallListCount) {
- return Data.S.Children[index];
+ Y_ABORT_UNLESS(index < ListCount_);
+ if (ListCount_ <= SmallListCount) {
+ return Data_.S.Children[index];
} else {
- return Data.L.Children[index];
+ return Data_.L.Children[index];
}
}
-
+
inline TArrayRef<TAstNode* const> GetChildren() const {
Y_ABORT_UNLESS(IsList());
- return {ListCount <= SmallListCount ? Data.S.Children : Data.L.Children, ListCount};
+ return {ListCount_ <= SmallListCount ? Data_.S.Children : Data_.L.Children, ListCount_};
}
static inline TAstNode* NewAtom(TPosition position, TStringBuf content, TMemoryPool& pool, ui32 flags = TNodeFlags::Default) {
@@ -187,37 +187,37 @@ struct TAstNode {
inline ~TAstNode() {}
void Destroy() {
- TString().swap(Position.File);
+ TString().swap(Position_.File);
}
private:
inline TAstNode(TPosition position, TStringBuf content, ui32 flags)
- : Position(position)
- , Type(Atom)
- , ListCount(0)
+ : Position_(position)
+ , Type_(Atom)
+ , ListCount_(0)
{
- Data.A.Content = content.data();
- Data.A.Size = content.size();
- Data.A.Flags = flags;
+ Data_.A.Content = content.data();
+ Data_.A.Size = content.size();
+ Data_.A.Flags = flags;
}
inline TAstNode(TPosition position, TAstNode** children, ui32 childrenCount)
- : Position(position)
- , Type(List)
- , ListCount(childrenCount)
+ : Position_(position)
+ , Type_(List)
+ , ListCount_(childrenCount)
{
if (childrenCount <= SmallListCount) {
for (ui32 index = 0; index < childrenCount; ++index) {
- Data.S.Children[index] = children[index];
+ Data_.S.Children[index] = children[index];
}
} else {
- Data.L.Children = children;
+ Data_.L.Children = children;
}
}
- TPosition Position;
- const EType Type;
- const ui32 ListCount;
+ TPosition Position_;
+ const EType Type_;
+ const ui32 ListCount_;
struct TAtom {
const char* Content;
@@ -237,7 +237,7 @@ private:
TAtom A;
TListType L;
TSmallList S;
- } Data;
+ } Data_;
};
enum class ESyntaxType {
diff --git a/yql/essentials/ast/yql_expr.cpp b/yql/essentials/ast/yql_expr.cpp
index fb60a08476b..c5fa94ca732 100644
--- a/yql/essentials/ast/yql_expr.cpp
+++ b/yql/essentials/ast/yql_expr.cpp
@@ -2805,7 +2805,7 @@ TExprNode::TPtr TExprContext::ExactChangeChildren(const TExprNode& node, TExprNo
newNode->SetTypeAnn(node.GetTypeAnn());
newNode->CopyConstraints(node);
newNode->SetState(node.GetState());
- newNode->Result = node.Result;
+ newNode->Result_ = node.Result_;
ExprNodes.emplace_back(newNode.Get());
return newNode;
}
@@ -2816,7 +2816,7 @@ TExprNode::TPtr TExprContext::ExactShallowCopy(const TExprNode& node) {
newNode->SetTypeAnn(node.GetTypeAnn());
newNode->CopyConstraints(node);
newNode->SetState(node.GetState());
- newNode->Result = node.Result;
+ newNode->Result_ = node.Result_;
ExprNodes.emplace_back(newNode.Get());
return newNode;
}
@@ -3062,7 +3062,7 @@ bool TDataExprParamsType::Validate(TPositionHandle position, TExprContext& ctx)
}
bool TItemExprType::Validate(TPosition position, TExprContext& ctx) const {
- return ValidateName(position, Name, "member", ctx);
+ return ValidateName(position, Name_, "member", ctx);
}
bool TItemExprType::Validate(TPositionHandle position, TExprContext& ctx) const {
@@ -3071,11 +3071,11 @@ bool TItemExprType::Validate(TPositionHandle position, TExprContext& ctx) const
TStringBuf TItemExprType::GetCleanName(bool isVirtual) const {
if (!isVirtual) {
- return Name;
+ return Name_;
}
- YQL_ENSURE(Name.StartsWith(YqlVirtualPrefix));
- return Name.SubStr(YqlVirtualPrefix.size());
+ YQL_ENSURE(Name_.StartsWith(YqlVirtualPrefix));
+ return Name_.SubStr(YqlVirtualPrefix.size());
}
const TItemExprType* TItemExprType::GetCleanItem(bool isVirtual, TExprContext& ctx) const {
@@ -3083,13 +3083,13 @@ const TItemExprType* TItemExprType::GetCleanItem(bool isVirtual, TExprContext& c
return this;
}
- YQL_ENSURE(Name.StartsWith(YqlVirtualPrefix));
- return ctx.MakeType<TItemExprType>(Name.SubStr(YqlVirtualPrefix.size()), ItemType);
+ YQL_ENSURE(Name_.StartsWith(YqlVirtualPrefix));
+ return ctx.MakeType<TItemExprType>(Name_.SubStr(YqlVirtualPrefix.size()), ItemType_);
}
bool TMultiExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (Items.size() > Max<ui16>()) {
- ctx.AddError(TIssue(position, TStringBuilder() << "Too many elements: " << Items.size()));
+ if (Items_.size() > Max<ui16>()) {
+ ctx.AddError(TIssue(position, TStringBuilder() << "Too many elements: " << Items_.size()));
return false;
}
@@ -3101,8 +3101,8 @@ bool TMultiExprType::Validate(TPositionHandle position, TExprContext& ctx) const
}
bool TTupleExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (Items.size() > Max<ui16>()) {
- ctx.AddError(TIssue(position, TStringBuilder() << "Too many tuple elements: " << Items.size()));
+ if (Items_.size() > Max<ui16>()) {
+ ctx.AddError(TIssue(position, TStringBuilder() << "Too many tuple elements: " << Items_.size()));
return false;
}
@@ -3114,13 +3114,13 @@ bool TTupleExprType::Validate(TPositionHandle position, TExprContext& ctx) const
}
bool TStructExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (Items.size() > Max<ui16>()) {
- ctx.AddError(TIssue(position, TStringBuilder() << "Too many struct members: " << Items.size()));
+ if (Items_.size() > Max<ui16>()) {
+ ctx.AddError(TIssue(position, TStringBuilder() << "Too many struct members: " << Items_.size()));
return false;
}
TString lastName;
- for (auto& item : Items) {
+ for (auto& item : Items_) {
if (!item->Validate(position, ctx)) {
return false;
}
@@ -3141,20 +3141,20 @@ bool TStructExprType::Validate(TPositionHandle position, TExprContext& ctx) cons
}
bool TVariantExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (UnderlyingType->GetKind() == ETypeAnnotationKind::Tuple) {
- if (!UnderlyingType->Cast<TTupleExprType>()->GetSize()) {
+ if (UnderlyingType_->GetKind() == ETypeAnnotationKind::Tuple) {
+ if (!UnderlyingType_->Cast<TTupleExprType>()->GetSize()) {
ctx.AddError(TIssue(position, TStringBuilder() << "Empty tuple is not allowed as underlying type"));
return false;
}
}
- else if (UnderlyingType->GetKind() == ETypeAnnotationKind::Struct) {
- if (!UnderlyingType->Cast<TStructExprType>()->GetSize()) {
+ else if (UnderlyingType_->GetKind() == ETypeAnnotationKind::Struct) {
+ if (!UnderlyingType_->Cast<TStructExprType>()->GetSize()) {
ctx.AddError(TIssue(position, TStringBuilder() << "Empty struct is not allowed as underlying type"));
return false;
}
}
else {
- ctx.AddError(TIssue(position, TStringBuilder() << "Expected tuple or struct, but got:" << *UnderlyingType));
+ ctx.AddError(TIssue(position, TStringBuilder() << "Expected tuple or struct, but got:" << *UnderlyingType_));
return false;
}
@@ -3191,15 +3191,15 @@ ui32 TVariantExprType::MakeFlags(const TTypeAnnotationNode* underlyingType) {
bool TDictExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (KeyType->IsHashable() && KeyType->IsEquatable()) {
+ if (KeyType_->IsHashable() && KeyType_->IsEquatable()) {
return true;
}
- if (KeyType->IsComparableInternal()) {
+ if (KeyType_->IsComparableInternal()) {
return true;
}
- ctx.AddError(TIssue(position, TStringBuilder() << "Expected hashable and equatable or internally comparable dict key type, but got: " << *KeyType));
+ ctx.AddError(TIssue(position, TStringBuilder() << "Expected hashable and equatable or internally comparable dict key type, but got: " << *KeyType_));
return false;
}
@@ -3208,14 +3208,14 @@ bool TDictExprType::Validate(TPositionHandle position, TExprContext& ctx) const
}
bool TCallableExprType::Validate(TPosition position, TExprContext& ctx) const {
- if (OptionalArgumentsCount > Arguments.size()) {
- ctx.AddError(TIssue(position, TStringBuilder() << "Too many optional arguments: " << OptionalArgumentsCount
- << ", function has only " << Arguments.size() << " arguments"));
+ if (OptionalArgumentsCount_ > Arguments_.size()) {
+ ctx.AddError(TIssue(position, TStringBuilder() << "Too many optional arguments: " << OptionalArgumentsCount_
+ << ", function has only " << Arguments_.size() << " arguments"));
return false;
}
- for (ui32 index = Arguments.size() - OptionalArgumentsCount; index < Arguments.size(); ++index) {
- auto type = Arguments[index].Type;
+ for (ui32 index = Arguments_.size() - OptionalArgumentsCount_; index < Arguments_.size(); ++index) {
+ auto type = Arguments_[index].Type;
if (type->GetKind() != ETypeAnnotationKind::Optional) {
ctx.AddError(TIssue(position, TStringBuilder() << "Expected optional type for argument: " << (index + 1)
<< " because it's an optional argument, but got: " << *type));
@@ -3224,9 +3224,9 @@ bool TCallableExprType::Validate(TPosition position, TExprContext& ctx) const {
}
bool startedNames = false;
- std::unordered_set<std::string_view> usedNames(Arguments.size());
- for (ui32 index = 0; index < Arguments.size(); ++index) {
- bool hasName = !Arguments[index].Name.empty();
+ std::unordered_set<std::string_view> usedNames(Arguments_.size());
+ for (ui32 index = 0; index < Arguments_.size(); ++index) {
+ bool hasName = !Arguments_[index].Name.empty();
if (startedNames) {
if (!hasName) {
ctx.AddError(TIssue(position, TStringBuilder() << "Unexpected positional argument at position "
@@ -3238,8 +3238,8 @@ bool TCallableExprType::Validate(TPosition position, TExprContext& ctx) const {
}
if (hasName) {
- if (!usedNames.insert(Arguments[index].Name).second) {
- ctx.AddError(TIssue(position, TStringBuilder() << "Duplication of named argument: " << Arguments[index].Name));
+ if (!usedNames.insert(Arguments_[index].Name).second) {
+ ctx.AddError(TIssue(position, TStringBuilder() << "Duplication of named argument: " << Arguments_[index].Name));
return false;
}
}
@@ -3253,7 +3253,7 @@ bool TCallableExprType::Validate(TPositionHandle position, TExprContext& ctx) co
}
bool TTaggedExprType::Validate(TPosition position, TExprContext& ctx) const {
- return ValidateName(position, Tag, "tag", ctx);
+ return ValidateName(position, Tag_, "tag", ctx);
}
bool TTaggedExprType::Validate(TPositionHandle position, TExprContext& ctx) const {
@@ -3261,7 +3261,7 @@ bool TTaggedExprType::Validate(TPositionHandle position, TExprContext& ctx) cons
}
const TString& TPgExprType::GetName() const {
- return NPg::LookupType(TypeId).Name;
+ return NPg::LookupType(TypeId_).Name;
}
ui32 TPgExprType::GetFlags(ui32 typeId) {
@@ -3329,14 +3329,14 @@ TExprContext::TExprContext(ui64 nextUniqueId)
: StringPool(4096)
, NextUniqueId(nextUniqueId)
, Frozen(false)
- , PositionSet(
+ , PositionSet_(
16,
[this](TPositionHandle p) { return GetHash(p); },
[this](TPositionHandle a, TPositionHandle b) { return IsEqual(a, b); }
)
{
auto handle = AppendPosition(TPosition());
- YQL_ENSURE(handle.Handle == 0);
+ YQL_ENSURE(handle.Handle_ == 0);
IssueManager.SetWarningToErrorTreatMessage(
"Treat warning as error mode enabled. "
"To disable it use \"pragma warning(\"default\", <code>);\"");
@@ -3344,24 +3344,24 @@ TExprContext::TExprContext(ui64 nextUniqueId)
}
TPositionHandle TExprContext::AppendPosition(const TPosition& pos) {
- YQL_ENSURE(Positions.size() <= Max<ui32>(), "Too many positions");
+ YQL_ENSURE(Positions_.size() <= Max<ui32>(), "Too many positions");
TPositionHandle handle;
- handle.Handle = (ui32)Positions.size();
- Positions.push_back(pos);
+ handle.Handle_ = (ui32)Positions_.size();
+ Positions_.push_back(pos);
- auto inserted = PositionSet.insert(handle);
+ auto inserted = PositionSet_.insert(handle);
if (inserted.second) {
return handle;
}
- Positions.pop_back();
+ Positions_.pop_back();
return *inserted.first;
}
TPosition TExprContext::GetPosition(TPositionHandle handle) const {
- YQL_ENSURE(handle.Handle < Positions.size(), "Unknown PositionHandle");
- return Positions[handle.Handle];
+ YQL_ENSURE(handle.Handle_ < Positions_.size(), "Unknown PositionHandle");
+ return Positions_[handle.Handle_];
}
TExprContext::~TExprContext() {
@@ -3395,15 +3395,15 @@ void TExprContext::Reset() {
}
bool TExprContext::IsEqual(TPositionHandle a, TPositionHandle b) const {
- YQL_ENSURE(a.Handle < Positions.size());
- YQL_ENSURE(b.Handle < Positions.size());
- return Positions[a.Handle] == Positions[b.Handle];
+ YQL_ENSURE(a.Handle_ < Positions_.size());
+ YQL_ENSURE(b.Handle_ < Positions_.size());
+ return Positions_[a.Handle_] == Positions_[b.Handle_];
}
size_t TExprContext::GetHash(TPositionHandle p) const {
- YQL_ENSURE(p.Handle < Positions.size());
+ YQL_ENSURE(p.Handle_ < Positions_.size());
- const TPosition& pos = Positions[p.Handle];
+ const TPosition& pos = Positions_[p.Handle_];
size_t h = ComputeHash(pos.File);
h = CombineHashes(h, NumericHash(pos.Row));
return CombineHashes(h, NumericHash(pos.Column));
@@ -3682,27 +3682,27 @@ bool CompareExprTreeParts(const TExprNode& one, const TExprNode& two, const TNod
class TCacheKeyBuilder {
public:
TString Process(const TExprNode& root) {
- SHA256_Init(&Sha);
+ SHA256_Init(&Sha_);
unsigned char hash[SHA256_DIGEST_LENGTH];
Visit(root);
- SHA256_Final(hash, &Sha);
+ SHA256_Final(hash, &Sha_);
return TString((const char*)hash, sizeof(hash));
}
private:
void Visit(const TExprNode& node) {
- auto [it, inserted] = Visited.emplace(&node, Visited.size());
- SHA256_Update(&Sha, &it->second, sizeof(it->second));
+ auto [it, inserted] = Visited_.emplace(&node, Visited_.size());
+ SHA256_Update(&Sha_, &it->second, sizeof(it->second));
if (!inserted) {
return;
}
ui32 type = node.Type();
- SHA256_Update(&Sha, &type, sizeof(type));
+ SHA256_Update(&Sha_, &type, sizeof(type));
if (node.Type() == TExprNode::EType::Atom || node.Type() == TExprNode::EType::Callable) {
ui32 textLen = node.Content().size();
- SHA256_Update(&Sha, &textLen, sizeof(textLen));
- SHA256_Update(&Sha, node.Content().data(), textLen);
+ SHA256_Update(&Sha_, &textLen, sizeof(textLen));
+ SHA256_Update(&Sha_, node.Content().data(), textLen);
}
if (node.Type() == TExprNode::EType::Atom || node.Type() == TExprNode::EType::Argument || node.Type() == TExprNode::EType::World) {
@@ -3710,15 +3710,15 @@ private:
}
ui32 len = node.ChildrenSize();
- SHA256_Update(&Sha, &len, sizeof(len));
+ SHA256_Update(&Sha_, &len, sizeof(len));
for (const auto& child : node.Children()) {
Visit(*child);
}
}
private:
- SHA256_CTX Sha;
- TNodeMap<ui64> Visited;
+ SHA256_CTX Sha_;
+ TNodeMap<ui64> Visited_;
};
TString MakeCacheKey(const TExprNode& root) {
diff --git a/yql/essentials/ast/yql_expr.h b/yql/essentials/ast/yql_expr.h
index 5becfbb3e31..10165414f38 100644
--- a/yql/essentials/ast/yql_expr.h
+++ b/yql/essentials/ast/yql_expr.h
@@ -197,10 +197,10 @@ void ReportError(TExprContext& ctx, const TIssue& issue);
class TTypeAnnotationNode {
protected:
TTypeAnnotationNode(ETypeAnnotationKind kind, ui32 flags, ui64 hash, ui64 usedPgExtensions)
- : Kind(kind)
- , Flags(flags)
- , Hash(hash)
- , UsedPgExtensions(usedPgExtensions)
+ : Kind_(kind)
+ , Flags_(flags)
+ , Hash_(hash)
+ , UsedPgExtensions_(usedPgExtensions)
{
}
@@ -231,7 +231,7 @@ public:
}
ETypeAnnotationKind GetKind() const {
- return Kind;
+ return Kind_;
}
bool ReturnsWorld() const;
@@ -322,15 +322,15 @@ public:
}
ui32 GetFlags() const {
- return Flags;
+ return Flags_;
}
ui64 GetHash() const {
- return Hash;
+ return Hash_;
}
ui64 GetUsedPgExtensions() const {
- return UsedPgExtensions;
+ return UsedPgExtensions_;
}
bool Equals(const TTypeAnnotationNode& node) const;
@@ -376,10 +376,10 @@ protected:
}
private:
- const ETypeAnnotationKind Kind;
- const ui32 Flags;
- const ui64 Hash;
- const ui64 UsedPgExtensions;
+ const ETypeAnnotationKind Kind_;
+ const ui32 Flags_;
+ const ui64 Hash_;
+ const ui64 UsedPgExtensions_;
};
class TUnitExprType : public TTypeAnnotationNode {
@@ -408,7 +408,7 @@ public:
TTupleExprType(ui64 hash, const TTypeAnnotationNode::TListType& items)
: TTypeAnnotationNode(KindValue, CombineFlags(items), hash, CombinePgExtensions(items))
- , Items(items)
+ , Items_(items)
{
}
@@ -423,11 +423,11 @@ public:
}
size_t GetSize() const {
- return Items.size();
+ return Items_.size();
}
const TTypeAnnotationNode::TListType& GetItems() const {
- return Items;
+ return Items_;
}
bool operator==(const TTupleExprType& other) const {
@@ -448,7 +448,7 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
private:
- TTypeAnnotationNode::TListType Items;
+ TTypeAnnotationNode::TListType Items_;
};
class TMultiExprType : public TTypeAnnotationNode {
@@ -457,7 +457,7 @@ public:
TMultiExprType(ui64 hash, const TTypeAnnotationNode::TListType& items)
: TTypeAnnotationNode(KindValue, CombineFlags(items), hash, CombinePgExtensions(items))
- , Items(items)
+ , Items_(items)
{
}
@@ -472,11 +472,11 @@ public:
}
size_t GetSize() const {
- return Items.size();
+ return Items_.size();
}
const TTypeAnnotationNode::TListType& GetItems() const {
- return Items;
+ return Items_;
}
bool operator==(const TMultiExprType& other) const {
@@ -497,7 +497,7 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
private:
- TTypeAnnotationNode::TListType Items;
+ TTypeAnnotationNode::TListType Items_;
};
struct TExprContext;
@@ -512,8 +512,8 @@ public:
TItemExprType(ui64 hash, const TStringBuf& name, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags(), hash, itemType->GetUsedPgExtensions())
- , Name(name)
- , ItemType(itemType)
+ , Name_(name)
+ , ItemType_(itemType)
{
}
@@ -528,13 +528,13 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
const TStringBuf& GetName() const {
- return Name;
+ return Name_;
}
TStringBuf GetCleanName(bool isVirtual) const;
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TItemExprType& other) const {
@@ -544,8 +544,8 @@ public:
const TItemExprType* GetCleanItem(bool isVirtual, TExprContext& ctx) const;
private:
- const TStringBuf Name;
- const TTypeAnnotationNode* ItemType;
+ const TStringBuf Name_;
+ const TTypeAnnotationNode* ItemType_;
};
class TStructExprType : public TTypeAnnotationNode {
@@ -568,7 +568,7 @@ public:
TStructExprType(ui64 hash, const TVector<const TItemExprType*>& items)
: TTypeAnnotationNode(KindValue, TypeNonComparable | CombineFlags(items), hash, CombinePgExtensions(items))
- , Items(items)
+ , Items_(items)
{
}
@@ -587,20 +587,20 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
size_t GetSize() const {
- return Items.size();
+ return Items_.size();
}
const TVector<const TItemExprType*>& GetItems() const {
- return Items;
+ return Items_;
}
TMaybe<ui32> FindItem(const TStringBuf& name) const {
- auto it = LowerBound(Items.begin(), Items.end(), name, TItemLess());
- if (it == Items.end() || (*it)->GetName() != name) {
+ auto it = LowerBound(Items_.begin(), Items_.end(), name, TItemLess());
+ if (it == Items_.end() || (*it)->GetName() != name) {
return TMaybe<ui32>();
}
- return it - Items.begin();
+ return it - Items_.begin();
}
TMaybe<ui32> FindItemI(const TStringBuf& name, bool* isVirtual) const {
@@ -616,8 +616,8 @@ public:
}
TMaybe<ui32> ret;
- for (ui32 i = 0; i < Items.size(); ++i) {
- if (AsciiEqualsIgnoreCase(nameToSearch, Items[i]->GetName())) {
+ for (ui32 i = 0; i < Items_.size(); ++i) {
+ if (AsciiEqualsIgnoreCase(nameToSearch, Items_[i]->GetName())) {
if (ret) {
return Nothing();
}
@@ -635,8 +635,8 @@ public:
}
const TTypeAnnotationNode* FindItemType(const TStringBuf& name) const {
- const auto it = LowerBound(Items.begin(), Items.end(), name, TItemLess());
- if (it == Items.end() || (*it)->GetName() != name) {
+ const auto it = LowerBound(Items_.begin(), Items_.end(), name, TItemLess());
+ if (it == Items_.end() || (*it)->GetName() != name) {
return nullptr;
}
@@ -644,7 +644,7 @@ public:
}
TMaybe<TStringBuf> FindMistype(const TStringBuf& name) const {
- for (const auto& item: Items) {
+ for (const auto& item: Items_) {
if (NLevenshtein::Distance(name, item->GetName()) < DefaultMistypeDistance) {
return item->GetName();
}
@@ -670,9 +670,9 @@ public:
TString ToString() const {
TStringBuilder sb;
- for (std::size_t i = 0; i < Items.size(); i++) {
- sb << i << ": " << Items[i]->GetName() << "(" << FormatType(Items[i]->GetItemType()) << ")";
- if (i != Items.size() - 1) {
+ for (std::size_t i = 0; i < Items_.size(); i++) {
+ sb << i << ": " << Items_[i]->GetName() << "(" << FormatType(Items_[i]->GetItemType()) << ")";
+ if (i != Items_.size() - 1) {
sb << ", ";
}
}
@@ -681,7 +681,7 @@ public:
}
private:
- TVector<const TItemExprType*> Items;
+ TVector<const TItemExprType*> Items_;
};
class TListExprType : public TTypeAnnotationNode {
@@ -690,7 +690,7 @@ public:
TListExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags() | TypeHasDynamicSize, hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -700,7 +700,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TListExprType& other) const {
@@ -708,7 +708,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TStreamExprType : public TTypeAnnotationNode {
@@ -717,7 +717,7 @@ public:
TStreamExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags() | TypeNonPersistable, hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -727,7 +727,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TStreamExprType& other) const {
@@ -735,7 +735,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TFlowExprType : public TTypeAnnotationNode {
@@ -744,7 +744,7 @@ public:
TFlowExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags() | TypeNonPersistable, hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -754,7 +754,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TFlowExprType& other) const {
@@ -762,7 +762,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TBlockExprType : public TTypeAnnotationNode {
@@ -771,7 +771,7 @@ public:
TBlockExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags() | TypeNonPersistable, hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -781,7 +781,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TBlockExprType& other) const {
@@ -789,7 +789,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TScalarExprType : public TTypeAnnotationNode {
@@ -798,7 +798,7 @@ public:
TScalarExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, itemType->GetFlags() | TypeNonPersistable, hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -808,7 +808,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TScalarExprType& other) const {
@@ -816,7 +816,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TDataExprType : public TTypeAnnotationNode {
@@ -825,7 +825,7 @@ public:
TDataExprType(ui64 hash, EDataSlot slot)
: TTypeAnnotationNode(KindValue, GetFlags(slot), hash, 0)
- , Slot(slot)
+ , Slot_(slot)
{
}
@@ -864,25 +864,25 @@ public:
}
EDataSlot GetSlot() const {
- return Slot;
+ return Slot_;
}
TStringBuf GetName() const {
- return NUdf::GetDataTypeInfo(Slot).Name;
+ return NUdf::GetDataTypeInfo(Slot_).Name;
}
bool operator==(const TDataExprType& other) const {
- return Slot == other.Slot;
+ return Slot_ == other.Slot_;
}
private:
- EDataSlot Slot;
+ EDataSlot Slot_;
};
class TDataExprParamsType : public TDataExprType {
public:
TDataExprParamsType(ui64 hash, EDataSlot slot, const TStringBuf& one, const TStringBuf& two)
- : TDataExprType(hash, slot), One(one), Two(two)
+ : TDataExprType(hash, slot), One_(one), Two_(two)
{}
static ui64 MakeHash(EDataSlot slot, const TStringBuf& one, const TStringBuf& two) {
@@ -895,11 +895,11 @@ public:
}
const TStringBuf& GetParamOne() const {
- return One;
+ return One_;
}
const TStringBuf& GetParamTwo() const {
- return Two;
+ return Two_;
}
bool operator==(const TDataExprParamsType& other) const {
@@ -910,7 +910,7 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
private:
- const TStringBuf One, Two;
+ const TStringBuf One_, Two_;
};
class TPgExprType : public TTypeAnnotationNode {
@@ -920,7 +920,7 @@ public:
// TODO: TypeHasDynamicSize for Pg types
TPgExprType(ui64 hash, ui32 typeId)
: TTypeAnnotationNode(KindValue, GetFlags(typeId), hash, GetPgExtensionsMask(typeId))
- , TypeId(typeId)
+ , TypeId_(typeId)
{
}
@@ -932,11 +932,11 @@ public:
const TString& GetName() const;
ui32 GetId() const {
- return TypeId;
+ return TypeId_;
}
bool operator==(const TPgExprType& other) const {
- return TypeId == other.TypeId;
+ return TypeId_ == other.TypeId_;
}
private:
@@ -944,7 +944,7 @@ private:
ui64 GetPgExtensionsMask(ui32 typeId);
private:
- ui32 TypeId;
+ ui32 TypeId_;
};
ui64 MakePgExtensionMask(ui32 extensionIndex);
@@ -975,7 +975,7 @@ public:
TOptionalExprType(ui64 hash, const TTypeAnnotationNode* itemType)
: TTypeAnnotationNode(KindValue, GetFlags(itemType), hash, itemType->GetUsedPgExtensions())
- , ItemType(itemType)
+ , ItemType_(itemType)
{
}
@@ -998,7 +998,7 @@ public:
}
const TTypeAnnotationNode* GetItemType() const {
- return ItemType;
+ return ItemType_;
}
bool operator==(const TOptionalExprType& other) const {
@@ -1006,7 +1006,7 @@ public:
}
private:
- const TTypeAnnotationNode* ItemType;
+ const TTypeAnnotationNode* ItemType_;
};
class TVariantExprType : public TTypeAnnotationNode {
@@ -1015,7 +1015,7 @@ public:
TVariantExprType(ui64 hash, const TTypeAnnotationNode* underlyingType)
: TTypeAnnotationNode(KindValue, MakeFlags(underlyingType), hash, underlyingType->GetUsedPgExtensions())
- , UnderlyingType(underlyingType)
+ , UnderlyingType_(underlyingType)
{
}
@@ -1025,7 +1025,7 @@ public:
}
const TTypeAnnotationNode* GetUnderlyingType() const {
- return UnderlyingType;
+ return UnderlyingType_;
}
bool operator==(const TVariantExprType& other) const {
@@ -1038,7 +1038,7 @@ public:
static ui32 MakeFlags(const TTypeAnnotationNode* underlyingType);
private:
- const TTypeAnnotationNode* UnderlyingType;
+ const TTypeAnnotationNode* UnderlyingType_;
};
class TTypeExprType : public TTypeAnnotationNode {
@@ -1047,7 +1047,7 @@ public:
TTypeExprType(ui64 hash, const TTypeAnnotationNode* type)
: TTypeAnnotationNode(KindValue, TypeNonPersistable | TypeNonComputable | (type->GetFlags() & TypeHasError), hash, 0)
- , Type(type)
+ , Type_(type)
{
}
@@ -1057,7 +1057,7 @@ public:
}
const TTypeAnnotationNode* GetType() const {
- return Type;
+ return Type_;
}
bool operator==(const TTypeExprType& other) const {
@@ -1065,7 +1065,7 @@ public:
}
private:
- const TTypeAnnotationNode* Type;
+ const TTypeAnnotationNode* Type_;
};
class TDictExprType : public TTypeAnnotationNode {
@@ -1076,8 +1076,8 @@ public:
: TTypeAnnotationNode(KindValue, TypeNonComparable | TypeHasDynamicSize |
keyType->GetFlags() | payloadType->GetFlags(), hash,
keyType->GetUsedPgExtensions() | payloadType->GetUsedPgExtensions())
- , KeyType(keyType)
- , PayloadType(payloadType)
+ , KeyType_(keyType)
+ , PayloadType_(payloadType)
{
}
@@ -1090,11 +1090,11 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
const TTypeAnnotationNode* GetKeyType() const {
- return KeyType;
+ return KeyType_;
}
const TTypeAnnotationNode* GetPayloadType() const {
- return PayloadType;
+ return PayloadType_;
}
bool operator==(const TDictExprType& other) const {
@@ -1103,8 +1103,8 @@ public:
}
private:
- const TTypeAnnotationNode* KeyType;
- const TTypeAnnotationNode* PayloadType;
+ const TTypeAnnotationNode* KeyType_;
+ const TTypeAnnotationNode* PayloadType_;
};
class TVoidExprType : public TTypeAnnotationNode {
@@ -1166,15 +1166,15 @@ public:
TCallableExprType(ui64 hash, const TTypeAnnotationNode* returnType, const TVector<TArgumentInfo>& arguments
, size_t optionalArgumentsCount, const TStringBuf& payload)
: TTypeAnnotationNode(KindValue, MakeFlags(arguments, returnType), hash, returnType->GetUsedPgExtensions())
- , ReturnType(returnType)
- , Arguments(arguments)
- , OptionalArgumentsCount(optionalArgumentsCount)
- , Payload(payload)
+ , ReturnType_(returnType)
+ , Arguments_(arguments)
+ , OptionalArgumentsCount_(optionalArgumentsCount)
+ , Payload_(payload)
{
- for (ui32 i = 0; i < Arguments.size(); ++i) {
- const auto& arg = Arguments[i];
+ for (ui32 i = 0; i < Arguments_.size(); ++i) {
+ const auto& arg = Arguments_[i];
if (!arg.Name.empty()) {
- IndexByName.insert({ arg.Name, i });
+ IndexByName_.insert({ arg.Name, i });
}
}
}
@@ -1198,23 +1198,23 @@ public:
}
const TTypeAnnotationNode* GetReturnType() const {
- return ReturnType;
+ return ReturnType_;
}
size_t GetOptionalArgumentsCount() const {
- return OptionalArgumentsCount;
+ return OptionalArgumentsCount_;
}
const TStringBuf& GetPayload() const {
- return Payload;
+ return Payload_;
}
size_t GetArgumentsSize() const {
- return Arguments.size();
+ return Arguments_.size();
}
const TVector<TArgumentInfo>& GetArguments() const {
- return Arguments;
+ return Arguments_;
}
bool operator==(const TCallableExprType& other) const {
@@ -1243,8 +1243,8 @@ public:
bool Validate(TPositionHandle position, TExprContext& ctx) const;
TMaybe<ui32> ArgumentIndexByName(const TStringBuf& name) const {
- auto it = IndexByName.find(name);
- if (it == IndexByName.end()) {
+ auto it = IndexByName_.find(name);
+ if (it == IndexByName_.end()) {
return {};
}
@@ -1263,11 +1263,11 @@ private:
}
private:
- const TTypeAnnotationNode* ReturnType;
- TVector<TArgumentInfo> Arguments;
- const size_t OptionalArgumentsCount;
- const TStringBuf Payload;
- THashMap<TStringBuf, ui32> IndexByName;
+ const TTypeAnnotationNode* ReturnType_;
+ TVector<TArgumentInfo> Arguments_;
+ const size_t OptionalArgumentsCount_;
+ const TStringBuf Payload_;
+ THashMap<TStringBuf, ui32> IndexByName_;
};
class TGenericExprType : public TTypeAnnotationNode {
@@ -1295,7 +1295,7 @@ public:
TResourceExprType(ui64 hash, const TStringBuf& tag)
: TTypeAnnotationNode(KindValue, TypeNonPersistable | TypeHasManyValues, hash, 0)
- , Tag(tag)
+ , Tag_(tag)
{}
static ui64 MakeHash(const TStringBuf& tag) {
@@ -1305,15 +1305,15 @@ public:
}
const TStringBuf& GetTag() const {
- return Tag;
+ return Tag_;
}
bool operator==(const TResourceExprType& other) const {
- return Tag == other.Tag;
+ return Tag_ == other.Tag_;
}
private:
- const TStringBuf Tag;
+ const TStringBuf Tag_;
};
class TTaggedExprType : public TTypeAnnotationNode {
@@ -1322,8 +1322,8 @@ public:
TTaggedExprType(ui64 hash, const TTypeAnnotationNode* baseType, const TStringBuf& tag)
: TTypeAnnotationNode(KindValue, baseType->GetFlags(), hash, baseType->GetUsedPgExtensions())
- , BaseType(baseType)
- , Tag(tag)
+ , BaseType_(baseType)
+ , Tag_(tag)
{}
static ui64 MakeHash(const TTypeAnnotationNode* baseType, const TStringBuf& tag) {
@@ -1334,23 +1334,23 @@ public:
}
const TStringBuf& GetTag() const {
- return Tag;
+ return Tag_;
}
const TTypeAnnotationNode* GetBaseType() const {
- return BaseType;
+ return BaseType_;
}
bool operator==(const TTaggedExprType& other) const {
- return Tag == other.Tag && GetBaseType() == other.GetBaseType();
+ return Tag_ == other.Tag_ && GetBaseType() == other.GetBaseType();
}
bool Validate(TPosition position, TExprContext& ctx) const;
bool Validate(TPositionHandle position, TExprContext& ctx) const;
private:
- const TTypeAnnotationNode* BaseType;
- const TStringBuf Tag;
+ const TTypeAnnotationNode* BaseType_;
+ const TStringBuf Tag_;
};
class TErrorExprType : public TTypeAnnotationNode {
@@ -1359,7 +1359,7 @@ public:
TErrorExprType(ui64 hash, const TIssue& error)
: TTypeAnnotationNode(KindValue, TypeHasError, hash, 0)
- , Error(error)
+ , Error_(error)
{}
static ui64 MakeHash(const TIssue& error) {
@@ -1367,15 +1367,15 @@ public:
}
const TIssue& GetError() const {
- return Error;
+ return Error_;
}
bool operator==(const TErrorExprType& other) const {
- return Error == other.Error;
+ return Error_ == other.Error_;
}
private:
- const TIssue Error;
+ const TIssue Error_;
};
class TEmptyListExprType : public TTypeAnnotationNode {
@@ -1417,11 +1417,11 @@ public:
};
inline bool TTypeAnnotationNode::ReturnsWorld() const {
- if (Kind == ETypeAnnotationKind::World) {
+ if (Kind_ == ETypeAnnotationKind::World) {
return true;
}
- if (Kind == ETypeAnnotationKind::Tuple) {
+ if (Kind_ == ETypeAnnotationKind::Tuple) {
auto tuple = static_cast<const TTupleExprType*>(this);
if (tuple->GetSize() == 2 && tuple->GetItems()[0]->GetKind() == ETypeAnnotationKind::World) {
return true;
@@ -1436,15 +1436,15 @@ inline bool TTypeAnnotationNode::Equals(const TTypeAnnotationNode& node) const {
return true;
}
- if (Hash != node.GetHash()) {
+ if (Hash_ != node.GetHash()) {
return false;
}
- if (Kind != node.GetKind()) {
+ if (Kind_ != node.GetKind()) {
return false;
}
- switch (Kind) {
+ switch (Kind_) {
case ETypeAnnotationKind::Unit:
return static_cast<const TUnitExprType&>(*this) == static_cast<const TUnitExprType&>(node);
@@ -1531,7 +1531,7 @@ inline bool TTypeAnnotationNode::Equals(const TTypeAnnotationNode& node) const {
}
inline void TTypeAnnotationNode::Accept(TTypeAnnotationVisitor& visitor) const {
- switch (Kind) {
+ switch (Kind_) {
case ETypeAnnotationKind::Unit:
return visitor.Visit(static_cast<const TUnitExprType&>(*this));
case ETypeAnnotationKind::Tuple:
@@ -1650,7 +1650,7 @@ public:
};
static TPtr GetResult(const TPtr& node) {
- return node->Type() == Callable ? node->Result : node;
+ return node->Type() == Callable ? node->Result_ : node;
}
const TExprNode& GetResult() const {
@@ -1659,37 +1659,37 @@ public:
return *this;
}
- YQL_ENSURE(Result);
- return *Result;
+ YQL_ENSURE(Result_);
+ return *Result_;
}
bool HasResult() const {
ENSURE_NOT_DELETED
- return bool(Result);
+ return bool(Result_);
}
void SetResult(TPtr&& result) {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- Result = std::move(result);
+ Result_ = std::move(result);
}
const std::shared_ptr<TListType>& GetWorldLinks() const {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- return WorldLinks;
+ return WorldLinks_;
}
std::shared_ptr<TListType>& GetWorldLinks() {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- return WorldLinks;
+ return WorldLinks_;
}
void SetWorldLinks(std::shared_ptr<TListType>&& links) {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- WorldLinks = std::move(links);
+ WorldLinks_ = std::move(links);
}
bool IsCallable(const std::string_view& name) const {
@@ -1775,13 +1775,13 @@ public:
bool ForDisclosing() const {
ENSURE_NOT_DELETED
- return Type() == TExprNode::List && ShallBeDisclosed;
+ return Type() == TExprNode::List && ShallBeDisclosed_;
}
void SetDisclosing() {
ENSURE_NOT_DELETED
Y_ENSURE(Type() == TExprNode::List, "Must be list.");
- ShallBeDisclosed = true;
+ ShallBeDisclosed_ = true;
}
ui32 GetFlagsToCompare() const {
@@ -1798,26 +1798,26 @@ public:
bool StartsExecution() const {
ENSURE_NOT_DELETED
- return State == EState::ExecutionComplete
- || State == EState::ExecutionInProgress
- || State == EState::ExecutionRequired
- || State == EState::ExecutionPending
+ return State_ == EState::ExecutionComplete
+ || State_ == EState::ExecutionInProgress
+ || State_ == EState::ExecutionRequired
+ || State_ == EState::ExecutionPending
|| HasResult();
}
bool IsComplete() const {
- YQL_ENSURE(HasLambdaScope);
- return !OuterLambda;
+ YQL_ENSURE(HasLambdaScope_);
+ return !OuterLambda_;
}
bool IsLiteralList() const {
YQL_ENSURE(IsList());
- return LiteralList;
+ return LiteralList_;
}
void SetLiteralList(bool literal) {
YQL_ENSURE(IsList());
- LiteralList = literal;
+ LiteralList_ = literal;
}
void Ref() {
@@ -1831,8 +1831,8 @@ public:
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
if (!--RefCount_) {
- Result.Reset();
- WorldLinks.reset();
+ Result_.Reset();
+ WorldLinks_.reset();
Children_.clear();
Constraints_.Clear();
MarkDead();
@@ -1981,52 +1981,52 @@ public:
const TConstraintNode* GetConstraint(TStringBuf name) const {
ENSURE_NOT_DELETED
- Y_ENSURE(static_cast<EState>(State) >= EState::ConstrComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::ConstrComplete);
return Constraints_.GetConstraint(name);
}
template <class TConstraintType>
const TConstraintType* GetConstraint() const {
ENSURE_NOT_DELETED
- Y_ENSURE(static_cast<EState>(State) >= EState::ConstrComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::ConstrComplete);
return Constraints_.GetConstraint<TConstraintType>();
}
const TConstraintNode::TListType& GetAllConstraints() const {
ENSURE_NOT_DELETED
- Y_ENSURE(static_cast<EState>(State) >= EState::ConstrComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::ConstrComplete);
return Constraints_.GetAllConstraints();
}
const TConstraintSet& GetConstraintSet() const {
ENSURE_NOT_DELETED
- Y_ENSURE(static_cast<EState>(State) >= EState::ConstrComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::ConstrComplete);
return Constraints_;
}
void AddConstraint(const TConstraintNode* node) {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- Y_ENSURE(static_cast<EState>(State) >= EState::TypeComplete);
- Y_ENSURE(static_cast<EState>(State) < EState::ExecutionRequired);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::TypeComplete);
+ Y_ENSURE(static_cast<EState>(State_) < EState::ExecutionRequired);
Constraints_.AddConstraint(node);
- State = EState::ConstrComplete;
+ State_ = EState::ConstrComplete;
}
void CopyConstraints(const TExprNode& node) {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- Y_ENSURE(static_cast<EState>(State) >= EState::TypeComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::TypeComplete);
Constraints_ = node.Constraints_;
- State = EState::ConstrComplete;
+ State_ = EState::ConstrComplete;
}
void SetConstraints(const TConstraintSet& constraints) {
ENSURE_NOT_DELETED
ENSURE_NOT_FROZEN
- Y_ENSURE(static_cast<EState>(State) >= EState::TypeComplete);
+ Y_ENSURE(static_cast<EState>(State_) >= EState::TypeComplete);
Constraints_ = constraints;
- State = EState::ConstrComplete;
+ State_ = EState::ConstrComplete;
}
static TPtr NewAtom(ui64 uniqueId, TPositionHandle pos, const TStringBuf& content, ui32 flags) {
@@ -2108,7 +2108,7 @@ public:
void SetTypeAnn(const TTypeAnnotationNode* typeAnn) {
TypeAnnotation_ = typeAnn;
- State = TypeAnnotation_ ? EState::TypeComplete : EState::Initial;
+ State_ = TypeAnnotation_ ? EState::TypeComplete : EState::Initial;
}
const TTypeAnnotationNode* GetTypeAnn() const {
@@ -2116,93 +2116,93 @@ public:
}
EState GetState() const {
- return State;
+ return State_;
}
void SetState(EState state) {
- State = state;
+ State_ = state;
}
ui32 GetArgIndex() const {
YQL_ENSURE(Type() == EType::Argument);
- return ArgIndex;
+ return ArgIndex_;
}
void SetArgIndex(ui32 argIndex) {
YQL_ENSURE(Type() == EType::Argument);
YQL_ENSURE(argIndex <= Max<ui16>());
- ArgIndex = (ui16)argIndex;
+ ArgIndex_ = (ui16)argIndex;
}
ui64 GetHash() const {
- Y_DEBUG_ABORT_UNLESS(HashAbove == HashBelow);
- return HashAbove;
+ Y_DEBUG_ABORT_UNLESS(HashAbove_ == HashBelow_);
+ return HashAbove_;
}
void SetHash(ui64 hash) {
- HashAbove = HashBelow = hash;
+ HashAbove_ = HashBelow_ = hash;
}
ui64 GetHashAbove() const {
- return HashAbove;
+ return HashAbove_;
}
void SetHashAbove(ui64 hash) {
- HashAbove = hash;
+ HashAbove_ = hash;
}
ui64 GetHashBelow() const {
- return HashBelow;
+ return HashBelow_;
}
void SetHashBelow(ui64 hash) {
- HashBelow = hash;
+ HashBelow_ = hash;
}
ui64 GetBloom() const {
- return Bloom;
+ return Bloom_;
}
void SetBloom(ui64 bloom) {
- Bloom = bloom;
+ Bloom_ = bloom;
}
// return pair of outer and inner lambda.
std::optional<std::pair<const TExprNode*, const TExprNode*>> GetDependencyScope() const {
- if (HasLambdaScope) {
- return std::make_pair(OuterLambda, InnerLambda);
+ if (HasLambdaScope_) {
+ return std::make_pair(OuterLambda_, InnerLambda_);
}
return std::nullopt;
}
void SetDependencyScope(const TExprNode* outerLambda, const TExprNode* innerLambda) {
Y_DEBUG_ABORT_UNLESS(outerLambda == innerLambda || outerLambda->GetLambdaLevel() < innerLambda->GetLambdaLevel(), "Wrong scope of closures.");
- HasLambdaScope = 1;
- OuterLambda = outerLambda;
- InnerLambda = innerLambda;
+ HasLambdaScope_ = 1;
+ OuterLambda_ = outerLambda;
+ InnerLambda_ = innerLambda;
}
- ui16 GetLambdaLevel() const { return LambdaLevel; }
- void SetLambdaLevel(ui16 lambdaLevel) { LambdaLevel = lambdaLevel; }
+ ui16 GetLambdaLevel() const { return LambdaLevel_; }
+ void SetLambdaLevel(ui16 lambdaLevel) { LambdaLevel_ = lambdaLevel; }
bool IsUsedInDependsOn() const {
YQL_ENSURE(Type() == EType::Argument);
- return UsedInDependsOn;
+ return UsedInDependsOn_;
}
void SetUsedInDependsOn() {
YQL_ENSURE(Type() == EType::Argument);
- UsedInDependsOn = 1;
+ UsedInDependsOn_ = 1;
}
void SetUnorderedChildren() {
YQL_ENSURE(Type() == EType::List || Type() == EType::Callable);
- UnordChildren = 1;
+ UnordChildren_ = 1;
}
bool UnorderedChildren() const {
YQL_ENSURE(Type() == EType::List || Type() == EType::Callable);
- return bool(UnordChildren);
+ return bool(UnordChildren_);
}
~TExprNode() {
@@ -2229,16 +2229,16 @@ private:
, Content_(content)
, UniqueId_(uniqueId)
, Position_(position)
- , ContentSize(contentSize)
+ , ContentSize_(contentSize)
, Type_(type)
, Flags_(flags)
, ExprFlags_(TExprFlags::Default)
- , State(EState::Initial)
- , HasLambdaScope(0)
- , UsedInDependsOn(0)
- , UnordChildren(0)
- , ShallBeDisclosed(0)
- , LiteralList(0)
+ , State_(EState::Initial)
+ , HasLambdaScope_(0)
+ , UsedInDependsOn_(0)
+ , UnordChildren_(0)
+ , ShallBeDisclosed_(0)
+ , LiteralList_(0)
{}
TExprNode(const TExprNode&) = delete;
@@ -2263,7 +2263,7 @@ private:
}
TStringBuf ContentUnchecked() const {
- return TStringBuf(Content_, ContentSize);
+ return TStringBuf(Content_, ContentSize_);
}
TListType Children_;
@@ -2271,43 +2271,43 @@ private:
const char* Content_ = nullptr;
- const TExprNode* OuterLambda = nullptr;
- const TExprNode* InnerLambda = nullptr;
+ const TExprNode* OuterLambda_ = nullptr;
+ const TExprNode* InnerLambda_ = nullptr;
- TPtr Result;
+ TPtr Result_;
- std::shared_ptr<TListType> WorldLinks;
+ std::shared_ptr<TListType> WorldLinks_;
- ui64 HashAbove = 0ULL;
- ui64 HashBelow = 0ULL;
- ui64 Bloom = 0ULL;
+ ui64 HashAbove_ = 0ULL;
+ ui64 HashBelow_ = 0ULL;
+ ui64 Bloom_ = 0ULL;
const ui64 UniqueId_;
const TTypeAnnotationNode* TypeAnnotation_ = nullptr;
const TPositionHandle Position_;
ui32 RefCount_ = 0U;
- const ui32 ContentSize;
+ const ui32 ContentSize_;
- ui16 ArgIndex = ui16(-1);
- ui16 LambdaLevel = 0; // filled together with OuterLambda
- ui16 IntermediateHashesCount = 0;
+ ui16 ArgIndex_ = ui16(-1);
+ ui16 LambdaLevel_ = 0; // filled together with OuterLambda
+ ui16 IntermediateHashesCount_ = 0;
static_assert(TypeMask <= 7, "EType wont fit in 3 bits, increase Type_ bitfield size");
static_assert(TNodeFlags::FlagsMask <= 7, "TNodeFlags wont fit in 3 bits, increase Flags_ bitfield size");
static_assert(TExprFlags::FlagsMask <= 3, "TExprFlags wont fit in 2 bits, increase ExprFlags_ bitfield size");
static_assert(int(EState::Last) <= 16, "EState wont fit in 4 bits, increase State bitfield size");
struct {
- ui8 Type_ : 3;
- ui8 Flags_ : 3;
- ui8 ExprFlags_ : 2;
-
- EState State : 4;
- ui8 HasLambdaScope : 1;
- ui8 UsedInDependsOn : 1;
- ui8 UnordChildren : 1;
- ui8 ShallBeDisclosed: 1;
- ui8 LiteralList : 1;
+ ui8 Type_ : 3; // NOLINT(readability-identifier-naming)
+ ui8 Flags_ : 3; // NOLINT(readability-identifier-naming)
+ ui8 ExprFlags_ : 2; // NOLINT(readability-identifier-naming)
+
+ EState State_ : 4; // NOLINT(readability-identifier-naming)
+ ui8 HasLambdaScope_ : 1; // NOLINT(readability-identifier-naming)
+ ui8 UsedInDependsOn_ : 1; // NOLINT(readability-identifier-naming)
+ ui8 UnordChildren_ : 1; // NOLINT(readability-identifier-naming)
+ ui8 ShallBeDisclosed_ : 1; // NOLINT(readability-identifier-naming)
+ ui8 LiteralList_ : 1; // NOLINT(readability-identifier-naming)
};
};
@@ -2580,17 +2580,17 @@ struct TExprContext : private TNonCopyable {
TFreezeGuard& operator=(const TFreezeGuard&) = delete;
TFreezeGuard(TExprContext& ctx)
- : Ctx(ctx)
+ : Ctx_(ctx)
{
- Ctx.Freeze();
+ Ctx_.Freeze();
}
~TFreezeGuard() {
- Ctx.UnFreeze();
+ Ctx_.UnFreeze();
}
private:
- TExprContext& Ctx;
+ TExprContext& Ctx_;
};
TIssueManager IssueManager;
@@ -2840,8 +2840,8 @@ private:
bool IsEqual(TPositionHandle a, TPositionHandle b) const;
size_t GetHash(TPositionHandle p) const;
- std::unordered_set<TPositionHandle, TPositionHandleHasher, TPositionHandleEqualPred> PositionSet;
- std::deque<TPosition> Positions;
+ std::unordered_set<TPositionHandle, TPositionHandleHasher, TPositionHandleEqualPred> PositionSet_;
+ std::deque<TPosition> Positions_;
};
template <typename T, typename... Args>
diff --git a/yql/essentials/ast/yql_expr_builder.cpp b/yql/essentials/ast/yql_expr_builder.cpp
index 5468cadd2cc..f459937be45 100644
--- a/yql/essentials/ast/yql_expr_builder.cpp
+++ b/yql/essentials/ast/yql_expr_builder.cpp
@@ -4,292 +4,292 @@
namespace NYql {
TExprNodeBuilder::TExprNodeBuilder(TPositionHandle pos, TExprContext& ctx)
- : Ctx(ctx)
- , Parent(nullptr)
- , ParentReplacer(nullptr)
- , Container(nullptr)
- , Pos(pos)
- , CurrentNode(nullptr)
+ : Ctx_(ctx)
+ , Parent_(nullptr)
+ , ParentReplacer_(nullptr)
+ , Container_(nullptr)
+ , Pos_(pos)
+ , CurrentNode_(nullptr)
{}
TExprNodeBuilder::TExprNodeBuilder(TPositionHandle pos, TExprContext& ctx, ExtArgsFuncType extArgsFunc)
- : Ctx(ctx)
- , Parent(nullptr)
- , ParentReplacer(nullptr)
- , Container(nullptr)
- , Pos(pos)
- , CurrentNode(nullptr)
- , ExtArgsFunc(extArgsFunc)
+ : Ctx_(ctx)
+ , Parent_(nullptr)
+ , ParentReplacer_(nullptr)
+ , Container_(nullptr)
+ , Pos_(pos)
+ , CurrentNode_(nullptr)
+ , ExtArgsFunc_(extArgsFunc)
{}
TExprNodeBuilder::TExprNodeBuilder(TPositionHandle pos, TExprNodeBuilder* parent, const TExprNode::TPtr& container)
- : Ctx(parent->Ctx)
- , Parent(parent)
- , ParentReplacer(nullptr)
- , Container(std::move(container))
- , Pos(pos)
- , CurrentNode(nullptr)
+ : Ctx_(parent->Ctx_)
+ , Parent_(parent)
+ , ParentReplacer_(nullptr)
+ , Container_(std::move(container))
+ , Pos_(pos)
+ , CurrentNode_(nullptr)
{
- if (Parent) {
- ExtArgsFunc = Parent->ExtArgsFunc;
+ if (Parent_) {
+ ExtArgsFunc_ = Parent_->ExtArgsFunc_;
}
}
TExprNodeBuilder::TExprNodeBuilder(TPositionHandle pos, TExprNodeReplaceBuilder* parentReplacer)
- : Ctx(parentReplacer->Owner->Ctx)
- , Parent(nullptr)
- , ParentReplacer(parentReplacer)
- , Container(nullptr)
- , Pos(pos)
- , CurrentNode(nullptr)
+ : Ctx_(parentReplacer->Owner_->Ctx_)
+ , Parent_(nullptr)
+ , ParentReplacer_(parentReplacer)
+ , Container_(nullptr)
+ , Pos_(pos)
+ , CurrentNode_(nullptr)
{
}
TExprNode::TPtr TExprNodeBuilder::Build() {
- Y_ENSURE(CurrentNode, "No current node");
- Y_ENSURE(!Parent, "Build is allowed only on top level");
- if (CurrentNode->Type() == TExprNode::Lambda) {
- Y_ENSURE(CurrentNode->ChildrenSize() > 0U, "Lambda is not complete");
+ Y_ENSURE(CurrentNode_, "No current node");
+ Y_ENSURE(!Parent_, "Build is allowed only on top level");
+ if (CurrentNode_->Type() == TExprNode::Lambda) {
+ Y_ENSURE(CurrentNode_->ChildrenSize() > 0U, "Lambda is not complete");
}
- return CurrentNode;
+ return CurrentNode_;
}
TExprNodeBuilder& TExprNodeBuilder::Seal() {
- Y_ENSURE(Parent, "Seal is allowed only on non-top level");
- if (Container->Type() == TExprNode::Lambda) {
- if (CurrentNode) {
- Y_ENSURE(Container->ChildrenSize() == 1, "Lambda is already complete.");
- Container->Children_.emplace_back(std::move(CurrentNode));
+ Y_ENSURE(Parent_, "Seal is allowed only on non-top level");
+ if (Container_->Type() == TExprNode::Lambda) {
+ if (CurrentNode_) {
+ Y_ENSURE(Container_->ChildrenSize() == 1, "Lambda is already complete.");
+ Container_->Children_.emplace_back(std::move(CurrentNode_));
} else {
- Y_ENSURE(Container->ChildrenSize() > 0U, "Lambda isn't complete.");
+ Y_ENSURE(Container_->ChildrenSize() > 0U, "Lambda isn't complete.");
}
}
- return *Parent;
+ return *Parent_;
}
TExprNodeReplaceBuilder& TExprNodeBuilder::Done() {
- Y_ENSURE(ParentReplacer, "Done is allowed only if parent is a replacer");
- Y_ENSURE(CurrentNode, "No current node");
- for (auto& body : ParentReplacer->Body)
- body = Ctx.ReplaceNode(std::move(body), ParentReplacer->CurrentNode ? *ParentReplacer->CurrentNode : *ParentReplacer->Args->Child(ParentReplacer->CurrentIndex), CurrentNode);
- return *ParentReplacer;
+ Y_ENSURE(ParentReplacer_, "Done is allowed only if parent is a replacer");
+ Y_ENSURE(CurrentNode_, "No current node");
+ for (auto& body : ParentReplacer_->Body_)
+ body = Ctx_.ReplaceNode(std::move(body), ParentReplacer_->CurrentNode_ ? *ParentReplacer_->CurrentNode_ : *ParentReplacer_->Args_->Child(ParentReplacer_->CurrentIndex_), CurrentNode_);
+ return *ParentReplacer_;
}
TExprNodeBuilder& TExprNodeBuilder::Atom(ui32 index, TPositionHandle pos, const TStringBuf& content, ui32 flags) {
- Y_ENSURE(Container && !Container->IsLambda(), "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index,
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_ && !Container_->IsLambda(), "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index,
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- auto child = Ctx.NewAtom(pos, content, flags);
- Container->Children_.push_back(child);
+ auto child = Ctx_.NewAtom(pos, content, flags);
+ Container_->Children_.push_back(child);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Atom(TPositionHandle pos, const TStringBuf& content, ui32 flags) {
- Y_ENSURE(!Container || Container->IsLambda(), "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = Ctx.NewAtom(pos, content, flags);
+ Y_ENSURE(!Container_ || Container_->IsLambda(), "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = Ctx_.NewAtom(pos, content, flags);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Atom(ui32 index, const TStringBuf& content, ui32 flags) {
- return Atom(index, Pos, content, flags);
+ return Atom(index, Pos_, content, flags);
}
TExprNodeBuilder& TExprNodeBuilder::Atom(const TStringBuf& content, ui32 flags) {
- return Atom(Pos, content, flags);
+ return Atom(Pos_, content, flags);
}
TExprNodeBuilder& TExprNodeBuilder::Atom(ui32 index, ui32 literalIndexValue) {
- return Atom(index, Pos, Ctx.GetIndexAsString(literalIndexValue), TNodeFlags::Default);
+ return Atom(index, Pos_, Ctx_.GetIndexAsString(literalIndexValue), TNodeFlags::Default);
}
TExprNodeBuilder& TExprNodeBuilder::Atom(ui32 literalIndexValue) {
- return Atom(Pos, Ctx.GetIndexAsString(literalIndexValue), TNodeFlags::Default);
+ return Atom(Pos_, Ctx_.GetIndexAsString(literalIndexValue), TNodeFlags::Default);
}
TExprNodeBuilder TExprNodeBuilder::List(ui32 index, TPositionHandle pos) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- const auto child = Ctx.NewList(pos, {});
- Container->Children_.push_back(child);
+ const auto child = Ctx_.NewList(pos, {});
+ Container_->Children_.push_back(child);
return TExprNodeBuilder(pos, this, child);
}
TExprNodeBuilder TExprNodeBuilder::List(TPositionHandle pos) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = Ctx.NewList(pos, {});
- return TExprNodeBuilder(pos, this, CurrentNode);
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = Ctx_.NewList(pos, {});
+ return TExprNodeBuilder(pos, this, CurrentNode_);
}
TExprNodeBuilder TExprNodeBuilder::List(ui32 index) {
- return List(index, Pos);
+ return List(index, Pos_);
}
TExprNodeBuilder TExprNodeBuilder::List() {
- return List(Pos);
+ return List(Pos_);
}
TExprNodeBuilder& TExprNodeBuilder::Add(ui32 index, const TExprNode::TPtr& child) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
Y_ENSURE(child, "child should not be nullptr");
- Container->Children_.push_back(child);
+ Container_->Children_.push_back(child);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Add(ui32 index, TExprNode::TPtr&& child) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
Y_ENSURE(child, "child should not be nullptr");
- Container->Children_.push_back(std::move(child));
+ Container_->Children_.push_back(std::move(child));
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Add(TExprNode::TListType&& children) {
- Y_ENSURE(Container && Container->Type() != TExprNode::Lambda, "Container expected");
- Y_ENSURE(Container->Children_.empty(), "container should be empty");
- Container->Children_ = std::move(children);
+ Y_ENSURE(Container_ && Container_->Type() != TExprNode::Lambda, "Container expected");
+ Y_ENSURE(Container_->Children_.empty(), "container should be empty");
+ Container_->Children_ = std::move(children);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Set(TExprNode::TPtr&& body) {
- Y_ENSURE(Container && Container->Type() == TExprNode::Lambda, "Lambda expected");
- Y_ENSURE(!CurrentNode, "Lambda already has a body");
- CurrentNode = std::move(body);
+ Y_ENSURE(Container_ && Container_->Type() == TExprNode::Lambda, "Lambda expected");
+ Y_ENSURE(!CurrentNode_, "Lambda already has a body");
+ CurrentNode_ = std::move(body);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Set(const TExprNode::TPtr& body) {
- Y_ENSURE(Container && Container->Type() == TExprNode::Lambda, "Lambda expected");
- Y_ENSURE(!CurrentNode, "Lambda already has a body");
- CurrentNode = body;
+ Y_ENSURE(Container_ && Container_->Type() == TExprNode::Lambda, "Lambda expected");
+ Y_ENSURE(!CurrentNode_, "Lambda already has a body");
+ CurrentNode_ = body;
return *this;
}
TExprNodeBuilder TExprNodeBuilder::Callable(ui32 index, TPositionHandle pos, const TStringBuf& content) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- auto child = Ctx.NewCallable(pos, content, {});
- Container->Children_.push_back(child);
+ auto child = Ctx_.NewCallable(pos, content, {});
+ Container_->Children_.push_back(child);
return TExprNodeBuilder(pos, this, child);
}
TExprNodeBuilder TExprNodeBuilder::Callable(TPositionHandle pos, const TStringBuf& content) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = Ctx.NewCallable(pos, content, {});
- return TExprNodeBuilder(pos, this, CurrentNode);
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = Ctx_.NewCallable(pos, content, {});
+ return TExprNodeBuilder(pos, this, CurrentNode_);
}
TExprNodeBuilder TExprNodeBuilder::Callable(ui32 index, const TStringBuf& content) {
- return Callable(index, Pos, content);
+ return Callable(index, Pos_, content);
}
TExprNodeBuilder TExprNodeBuilder::Callable(const TStringBuf& content) {
- return Callable(Pos, content);
+ return Callable(Pos_, content);
}
TExprNodeBuilder& TExprNodeBuilder::World(ui32 index, TPositionHandle pos) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- auto child = Ctx.NewWorld(pos);
- Container->Children_.push_back(child);
+ auto child = Ctx_.NewWorld(pos);
+ Container_->Children_.push_back(child);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::World(TPositionHandle pos) {
- Y_ENSURE(!Container, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = Ctx.NewWorld(pos);
+ Y_ENSURE(!Container_, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = Ctx_.NewWorld(pos);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::World(ui32 index) {
- return World(index, Pos);
+ return World(index, Pos_);
}
TExprNodeBuilder& TExprNodeBuilder::World() {
- return World(Pos);
+ return World(Pos_);
}
TExprNodeBuilder TExprNodeBuilder::Lambda(ui32 index, TPositionHandle pos) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- auto child = Ctx.NewLambda(pos, Ctx.NewArguments(pos, {}), nullptr);
- Container->Children_.push_back(child);
+ auto child = Ctx_.NewLambda(pos, Ctx_.NewArguments(pos, {}), nullptr);
+ Container_->Children_.push_back(child);
return TExprNodeBuilder(pos, this, child);
}
TExprNodeBuilder TExprNodeBuilder::Lambda(TPositionHandle pos) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = Ctx.NewLambda(pos, Ctx.NewArguments(pos, {}), nullptr);
- return TExprNodeBuilder(pos, this, CurrentNode);
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = Ctx_.NewLambda(pos, Ctx_.NewArguments(pos, {}), nullptr);
+ return TExprNodeBuilder(pos, this, CurrentNode_);
}
TExprNodeBuilder TExprNodeBuilder::Lambda(ui32 index) {
- return Lambda(index, Pos);
+ return Lambda(index, Pos_);
}
TExprNodeBuilder TExprNodeBuilder::Lambda() {
- return Lambda(Pos);
+ return Lambda(Pos_);
}
TExprNodeBuilder& TExprNodeBuilder::Param(TPositionHandle pos, const TStringBuf& name) {
Y_ENSURE(!name.empty(), "Empty parameter name is not allowed");
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->Type() == TExprNode::Lambda, "Container must be a lambda");
- Y_ENSURE(!CurrentNode, "Lambda already has a body");
- for (auto arg : Container->Head().Children()) {
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->Type() == TExprNode::Lambda, "Container must be a lambda");
+ Y_ENSURE(!CurrentNode_, "Lambda already has a body");
+ for (auto arg : Container_->Head().Children()) {
Y_ENSURE(arg->Content() != name, "Duplicate of lambda param name: " << name);
}
- Container->Head().Children_.push_back(Ctx.NewArgument(pos, name));
+ Container_->Head().Children_.push_back(Ctx_.NewArgument(pos, name));
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Param(const TStringBuf& name) {
- return Param(Pos, name);
+ return Param(Pos_, name);
}
TExprNodeBuilder& TExprNodeBuilder::Params(const TStringBuf& name, ui32 width) {
Y_ENSURE(!name.empty(), "Empty parameter name is not allowed");
for (ui32 i = 0U; i < width; ++i)
- Param(Pos, TString(name) += ToString(i));
+ Param(Pos_, TString(name) += ToString(i));
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Arg(ui32 index, const TStringBuf& name) {
Y_ENSURE(!name.empty(), "Empty parameter name is not allowed");
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
auto arg = FindArgument(name);
- Container->Children_.push_back(arg);
+ Container_->Children_.push_back(arg);
return *this;
}
TExprNodeBuilder& TExprNodeBuilder::Arg(const TStringBuf& name) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = FindArgument(name);
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = FindArgument(name);
return *this;
}
@@ -305,9 +305,9 @@ TExprNodeBuilder& TExprNodeBuilder::Arg(const TStringBuf& name, ui32 toIndex) {
TExprNodeBuilder& TExprNodeBuilder::Arg(const TExprNodePtr& arg) {
Y_ENSURE(arg->Type() == TExprNode::Argument, "Argument expected");
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- CurrentNode = arg;
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ CurrentNode_ = arg;
return *this;
}
@@ -326,13 +326,13 @@ TExprNodeBuilder& TExprNodeBuilder::Args(const TStringBuf& name, ui32 toIndex) {
}
TExprNode::TPtr TExprNodeBuilder::FindArgument(const TStringBuf& name) {
- for (auto builder = this; builder; builder = builder->Parent) {
- while (builder->ParentReplacer) {
- builder = builder->ParentReplacer->Owner;
+ for (auto builder = this; builder; builder = builder->Parent_) {
+ while (builder->ParentReplacer_) {
+ builder = builder->ParentReplacer_->Owner_;
}
- if (builder->Container && builder->Container->IsLambda()) {
- for (const auto& arg : builder->Container->Head().Children()) {
+ if (builder->Container_ && builder->Container_->IsLambda()) {
+ for (const auto& arg : builder->Container_->Head().Children()) {
if (arg->Content() == name) {
return arg;
}
@@ -340,8 +340,8 @@ TExprNode::TPtr TExprNodeBuilder::FindArgument(const TStringBuf& name) {
}
}
- if (ExtArgsFunc) {
- if (const auto arg = ExtArgsFunc(name)) {
+ if (ExtArgsFunc_) {
+ if (const auto arg = ExtArgsFunc_(name)) {
return arg;
}
}
@@ -350,17 +350,17 @@ TExprNode::TPtr TExprNodeBuilder::FindArgument(const TStringBuf& name) {
}
TExprNodeReplaceBuilder TExprNodeBuilder::Apply(ui32 index, const TExprNode& lambda) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
- return TExprNodeReplaceBuilder(this, Container, lambda.HeadPtr(), GetLambdaBody(lambda));
+ return TExprNodeReplaceBuilder(this, Container_, lambda.HeadPtr(), GetLambdaBody(lambda));
}
TExprNodeReplaceBuilder TExprNodeBuilder::Apply(const TExprNode& lambda) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
- return TExprNodeReplaceBuilder(this, Container, lambda.HeadPtr(), GetLambdaBody(lambda));
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
+ return TExprNodeReplaceBuilder(this, Container_, lambda.HeadPtr(), GetLambdaBody(lambda));
}
TExprNodeReplaceBuilder TExprNodeBuilder::Apply(ui32 index, const TExprNode::TPtr& lambda) {
@@ -372,56 +372,56 @@ TExprNodeReplaceBuilder TExprNodeBuilder::Apply(const TExprNode::TPtr& lambda) {
}
TExprNodeReplaceBuilder TExprNodeBuilder::ApplyPartial(ui32 index, TExprNode::TPtr args, TExprNode::TPtr body) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
Y_ENSURE(!args || args->IsArguments());
- return TExprNodeReplaceBuilder(this, Container, std::move(args), std::move(body));
+ return TExprNodeReplaceBuilder(this, Container_, std::move(args), std::move(body));
}
TExprNodeReplaceBuilder TExprNodeBuilder::ApplyPartial(ui32 index, TExprNode::TPtr args, TExprNode::TListType body) {
- Y_ENSURE(Container, "Container expected");
- Y_ENSURE(Container->ChildrenSize() == index + (Container->IsLambda() ? 1U : 0U),
- "Container position mismatch, expected: " << Container->ChildrenSize() <<
+ Y_ENSURE(Container_, "Container expected");
+ Y_ENSURE(Container_->ChildrenSize() == index + (Container_->IsLambda() ? 1U : 0U),
+ "Container position mismatch, expected: " << Container_->ChildrenSize() <<
", actual: " << index);
Y_ENSURE(!args || args->IsArguments());
- return TExprNodeReplaceBuilder(this, Container, std::move(args), std::move(body));
+ return TExprNodeReplaceBuilder(this, Container_, std::move(args), std::move(body));
}
TExprNodeReplaceBuilder TExprNodeBuilder::ApplyPartial(TExprNode::TPtr args, TExprNode::TPtr body) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
Y_ENSURE(!args || args->IsArguments());
- return TExprNodeReplaceBuilder(this, Container, std::move(args), std::move(body));
+ return TExprNodeReplaceBuilder(this, Container_, std::move(args), std::move(body));
}
TExprNodeReplaceBuilder TExprNodeBuilder::ApplyPartial(TExprNode::TPtr args, TExprNode::TListType body) {
- Y_ENSURE(!Container || Container->Type() == TExprNode::Lambda, "No container expected");
- Y_ENSURE(!CurrentNode, "Node is already build");
+ Y_ENSURE(!Container_ || Container_->Type() == TExprNode::Lambda, "No container expected");
+ Y_ENSURE(!CurrentNode_, "Node is already build");
Y_ENSURE(!args || args->IsArguments());
- return TExprNodeReplaceBuilder(this, Container, std::move(args), std::move(body));
+ return TExprNodeReplaceBuilder(this, Container_, std::move(args), std::move(body));
}
TExprNodeReplaceBuilder::TExprNodeReplaceBuilder(TExprNodeBuilder* owner, TExprNode::TPtr container,
TExprNode::TPtr&& args, TExprNode::TPtr&& body)
- : Owner(owner)
- , Container(std::move(container))
- , Args(std::move(args))
- , Body({std::move(body)})
- , CurrentIndex(0)
- , CurrentNode(nullptr)
+ : Owner_(owner)
+ , Container_(std::move(container))
+ , Args_(std::move(args))
+ , Body_({std::move(body)})
+ , CurrentIndex_(0)
+ , CurrentNode_(nullptr)
{
}
TExprNodeReplaceBuilder::TExprNodeReplaceBuilder(TExprNodeBuilder* owner, TExprNode::TPtr container,
TExprNode::TPtr&& args, TExprNode::TListType&& body)
- : Owner(owner)
- , Container(std::move(container))
- , Args(std::move(args))
- , Body(std::move(body))
- , CurrentIndex(0)
- , CurrentNode(nullptr)
+ : Owner_(owner)
+ , Container_(std::move(container))
+ , Args_(std::move(args))
+ , Body_(std::move(body))
+ , CurrentIndex_(0)
+ , CurrentNode_(nullptr)
{
}
@@ -434,27 +434,27 @@ TExprNodeReplaceBuilder::TExprNodeReplaceBuilder(TExprNodeBuilder* owner, TExprN
TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::With(
ui32 argIndex, const TStringBuf& toName) {
- Y_ENSURE(Args, "No arguments");
- Y_ENSURE(argIndex < Args->ChildrenSize(), "Wrong argument index");
- Body = Owner->Ctx.ReplaceNodes(std::move(Body), {{Args->Child(argIndex), Owner->FindArgument(toName)}});
+ Y_ENSURE(Args_, "No arguments");
+ Y_ENSURE(argIndex < Args_->ChildrenSize(), "Wrong argument index");
+ Body_ = Owner_->Ctx_.ReplaceNodes(std::move(Body_), {{Args_->Child(argIndex), Owner_->FindArgument(toName)}});
return *this;
}
TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::With(
ui32 argIndex, TExprNode::TPtr toNode) {
- Y_ENSURE(Args, "No arguments");
- Y_ENSURE(argIndex < Args->ChildrenSize(), "Wrong argument index");
- Body = Owner->Ctx.ReplaceNodes(std::move(Body), {{Args->Child(argIndex), std::move(toNode)}});
+ Y_ENSURE(Args_, "No arguments");
+ Y_ENSURE(argIndex < Args_->ChildrenSize(), "Wrong argument index");
+ Body_ = Owner_->Ctx_.ReplaceNodes(std::move(Body_), {{Args_->Child(argIndex), std::move(toNode)}});
return *this;
}
TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::With(const TStringBuf& toName) {
- Y_ENSURE(Args, "No arguments");
+ Y_ENSURE(Args_, "No arguments");
Y_ENSURE(!toName.empty(), "Empty parameter name is not allowed");
- TNodeOnNodeOwnedMap replaces(Args->ChildrenSize());
- for (ui32 i = 0U; i < Args->ChildrenSize(); ++i)
- Y_ENSURE(replaces.emplace(Args->Child(i), Owner->FindArgument(TString(toName) += ToString(i))).second, "Must be uinique.");
- Body = Owner->Ctx.ReplaceNodes(std::move(Body), replaces);
+ TNodeOnNodeOwnedMap replaces(Args_->ChildrenSize());
+ for (ui32 i = 0U; i < Args_->ChildrenSize(); ++i)
+ Y_ENSURE(replaces.emplace(Args_->Child(i), Owner_->FindArgument(TString(toName) += ToString(i))).second, "Must be uinique.");
+ Body_ = Owner_->Ctx_.ReplaceNodes(std::move(Body_), replaces);
return *this;
}
@@ -469,33 +469,33 @@ TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::With(ui32 argIndex, const TStr
}
TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::WithNode(const TExprNode& fromNode, TExprNode::TPtr&& toNode) {
- Body = Owner->Ctx.ReplaceNodes(std::move(Body), {{&fromNode, std::move(toNode)}});
+ Body_ = Owner_->Ctx_.ReplaceNodes(std::move(Body_), {{&fromNode, std::move(toNode)}});
return *this;
}
TExprNodeReplaceBuilder& TExprNodeReplaceBuilder::WithNode(const TExprNode& fromNode, const TStringBuf& toName) {
- return WithNode(fromNode, Owner->FindArgument(toName));
+ return WithNode(fromNode, Owner_->FindArgument(toName));
}
TExprNodeBuilder TExprNodeReplaceBuilder::With(ui32 argIndex) {
- CurrentIndex = argIndex;
- return TExprNodeBuilder(Owner->Pos, this);
+ CurrentIndex_ = argIndex;
+ return TExprNodeBuilder(Owner_->Pos_, this);
}
TExprNodeBuilder TExprNodeReplaceBuilder::WithNode(TExprNode::TPtr&& fromNode) {
- CurrentNode = std::move(fromNode);
- return TExprNodeBuilder(Owner->Pos, this);
+ CurrentNode_ = std::move(fromNode);
+ return TExprNodeBuilder(Owner_->Pos_, this);
}
TExprNodeBuilder& TExprNodeReplaceBuilder::Seal() {
- if (Container) {
- std::move(Body.begin(), Body.end(), std::back_inserter(Container->Children_));
+ if (Container_) {
+ std::move(Body_.begin(), Body_.end(), std::back_inserter(Container_->Children_));
} else {
- Y_ENSURE(1U == Body.size() && Body.front(), "Expected single node.");
- Owner->CurrentNode = std::move(Body.front());
+ Y_ENSURE(1U == Body_.size() && Body_.front(), "Expected single node.");
+ Owner_->CurrentNode_ = std::move(Body_.front());
}
- Body.clear();
- return *Owner;
+ Body_.clear();
+ return *Owner_;
}
} // namespace NYql
diff --git a/yql/essentials/ast/yql_expr_builder.h b/yql/essentials/ast/yql_expr_builder.h
index db816359eb9..18f7b1daafe 100644
--- a/yql/essentials/ast/yql_expr_builder.h
+++ b/yql/essentials/ast/yql_expr_builder.h
@@ -95,13 +95,13 @@ private:
TExprNodePtr FindArgument(const TStringBuf& name);
private:
- TExprContext& Ctx;
- TExprNodeBuilder* Parent;
- TExprNodeReplaceBuilder* ParentReplacer;
- TExprNodePtr Container;
- TPositionHandle Pos;
- TExprNodePtr CurrentNode;
- ExtArgsFuncType ExtArgsFunc;
+ TExprContext& Ctx_;
+ TExprNodeBuilder* Parent_;
+ TExprNodeReplaceBuilder* ParentReplacer_;
+ TExprNodePtr Container_;
+ TPositionHandle Pos_;
+ TExprNodePtr CurrentNode_;
+ ExtArgsFuncType ExtArgsFunc_;
};
namespace NNodes {
@@ -143,13 +143,13 @@ public:
NNodes::TNodeBuilder<TBuildAdapter, TNode> With(ui32 argIndex) {
TBuildAdapter adapter(*this);
- NNodes::TNodeBuilder<TBuildAdapter, TNode> builder(Owner->Ctx, Owner->Pos,
+ NNodes::TNodeBuilder<TBuildAdapter, TNode> builder(Owner_->Ctx_, Owner_->Pos_,
[adapter, argIndex](const TNode& node) mutable -> TBuildAdapter& {
adapter.Builder = adapter.Builder.With(argIndex, node.Get());
return adapter;
},
[adapter] (const TStringBuf& argName) {
- return adapter.Builder.Owner->FindArgument(argName);
+ return adapter.Builder.Owner_->FindArgument(argName);
});
return builder;
@@ -163,12 +163,12 @@ public:
}
private:
- TExprNodeBuilder* Owner;
- TExprNodePtr Container;
- TExprNodePtr Args;
- TExprNodeList Body;
- ui32 CurrentIndex;
- TExprNodePtr CurrentNode;
+ TExprNodeBuilder* Owner_;
+ TExprNodePtr Container_;
+ TExprNodePtr Args_;
+ TExprNodeList Body_;
+ ui32 CurrentIndex_;
+ TExprNodePtr CurrentNode_;
};
} // namespace NYql
diff --git a/yql/essentials/ast/yql_pos_handle.h b/yql/essentials/ast/yql_pos_handle.h
index e00cf63a78c..eecf9173868 100644
--- a/yql/essentials/ast/yql_pos_handle.h
+++ b/yql/essentials/ast/yql_pos_handle.h
@@ -7,7 +7,7 @@ namespace NYql {
struct TPositionHandle {
friend struct TExprContext;
private:
- ui32 Handle = 0; // 0 is guaranteed to represent default-constructed TPosition
+ ui32 Handle_ = 0; // 0 is guaranteed to represent default-constructed TPosition
};
}
diff --git a/yql/essentials/ast/yql_type_string.cpp b/yql/essentials/ast/yql_type_string.cpp
index 20c86034090..cfb144ce62c 100644
--- a/yql/essentials/ast/yql_type_string.cpp
+++ b/yql/essentials/ast/yql_type_string.cpp
@@ -15,7 +15,7 @@
#define EXPECT_AND_SKIP_TOKEN_IMPL(token, message, result) \
do { \
- if (Y_LIKELY(Token == token)) { \
+ if (Y_LIKELY(Token_ == token)) { \
GetNextToken(); \
} else { \
AddError(message); \
@@ -186,11 +186,11 @@ public:
TTypeParser(
TStringBuf str, TIssues& issues,
TPosition position, TMemoryPool& pool)
- : Str(str)
- , Issues(issues)
- , Position(position)
- , Index(0)
- , Pool(pool)
+ : Str_(str)
+ , Issues_(issues)
+ , Position_(position)
+ , Index_(0)
+ , Pool_(pool)
{
GetNextToken();
}
@@ -208,7 +208,7 @@ private:
TAstNode* ParseType() {
TAstNode* type = nullptr;
- switch (Token) {
+ switch (Token_) {
case '(': return ParseCallableType();
case TOKEN_STRING:
@@ -243,7 +243,7 @@ private:
case TOKEN_TZDATE32:
case TOKEN_TZDATETIME64:
case TOKEN_TZTIMESTAMP64:
- type = MakeDataType(Identifier);
+ type = MakeDataType(Identifier_);
GetNextToken();
break;
@@ -350,11 +350,11 @@ private:
break;
default:
- if (Identifier.empty()) {
+ if (Identifier_.empty()) {
return AddError("Expected type");
}
- auto id = Identifier;
+ auto id = Identifier_;
if (id.SkipPrefix("pg")) {
if (NPg::HasType(TString(id))) {
type = MakePgType(id);
@@ -368,12 +368,12 @@ private:
}
if (!type) {
- return AddError(TString("Unknown type: '") + Identifier + "\'");
+ return AddError(TString("Unknown type: '") + Identifier_ + "\'");
}
}
if (type) {
- while (Token == '?') {
+ while (Token_ == '?') {
type = MakeOptionalType(type);
GetNextToken();
}
@@ -382,15 +382,15 @@ private:
}
char LookaheadNonSpaceChar() {
- size_t i = Index;
- while (i < Str.size() && isspace(Str[i])) {
+ size_t i = Index_;
+ while (i < Str_.size() && isspace(Str_[i])) {
i++;
}
- return (i < Str.size()) ? Str[i] : -1;
+ return (i < Str_.size()) ? Str_[i] : -1;
}
int GetNextToken() {
- return Token = ReadNextToken();
+ return Token_ = ReadNextToken();
}
int ReadNextToken() {
@@ -399,32 +399,32 @@ private:
Move();
}
- TokenBegin = Position;
+ TokenBegin_ = Position_;
if (AtEnd()) {
return TOKEN_EOF;
}
// clear last readed indentifier
- Identifier = {};
+ Identifier_ = {};
char lastChar = Get();
if (lastChar == '_' || isalnum(lastChar)) { // identifier
- size_t start = Index;
+ size_t start = Index_;
while (!AtEnd()) {
lastChar = Get();
if (lastChar == '_' || isalnum(lastChar)) Move();
else break;
}
- Identifier = Str.SubString(start, Index - start);
- return TokenTypeFromStr(Identifier);
+ Identifier_ = Str_.SubString(start, Index_ - start);
+ return TokenTypeFromStr(Identifier_);
} else if (lastChar == '\'') { // escaped identifier
Move(); // skip '\''
if (AtEnd()) return TOKEN_EOF;
- UnescapedIdentifier.clear();
- TStringOutput sout(UnescapedIdentifier);
- TStringBuf atom = Str.SubStr(Index);
+ UnescapedIdentifier_.clear();
+ TStringOutput sout(UnescapedIdentifier_);
+ TStringBuf atom = Str_.SubStr(Index_);
size_t readBytes = 0;
EUnescapeResult unescapeResunt =
UnescapeArbitraryAtom(atom, '\'', &sout, &readBytes);
@@ -438,7 +438,7 @@ private:
if (AtEnd()) return TOKEN_EOF;
- Identifier = UnescapedIdentifier;
+ Identifier_ = UnescapedIdentifier_;
return TOKEN_ESCAPED_IDENTIFIER;
} else {
Move(); // skip last char
@@ -465,14 +465,14 @@ private:
// (1) parse argements
for (;;) {
- if (Token == TOKEN_EOF) {
+ if (Token_ == TOKEN_EOF) {
if (optArgsStarted) {
return AddError("Expected ']'");
}
return AddError("Expected ')'");
}
- if (Token == ']' || Token == ')') {
+ if (Token_ == ']' || Token_ == ')') {
break;
}
@@ -481,30 +481,30 @@ private:
lastWasTypeStatement = false;
}
- if (Token == '[') {
+ if (Token_ == '[') {
optArgsStarted = true;
GetNextToken(); // eat '['
- } else if (Token == ':') {
+ } else if (Token_ == ':') {
return AddError("Expected non empty argument name");
- } else if (IsTypeKeyword(Token) || Token == '(' || // '(' - begin of callable type
- Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER)
+ } else if (IsTypeKeyword(Token_) || Token_ == '(' || // '(' - begin of callable type
+ Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER)
{
TStringBuf argName;
ui32 argNameFlags = TNodeFlags::Default;
if (LookaheadNonSpaceChar() == ':') {
namedArgsStarted = true;
- argName = Identifier;
+ argName = Identifier_;
- if (Token == TOKEN_ESCAPED_IDENTIFIER) {
+ if (Token_ == TOKEN_ESCAPED_IDENTIFIER) {
argNameFlags = TNodeFlags::ArbitraryContent;
}
GetNextToken(); // eat name
EXPECT_AND_SKIP_TOKEN(':', nullptr);
- if (Token == TOKEN_EOF) {
+ if (Token_ == TOKEN_EOF) {
return AddError("Expected type of named argument");
}
} else {
@@ -531,7 +531,7 @@ private:
}
ui32 argFlags = 0;
- if (Token == '{') {
+ if (Token_ == '{') {
if (!ParseCallableArgFlags(argFlags)) return nullptr;
}
@@ -572,7 +572,7 @@ private:
// (4) parse payload
TStringBuf payload;
- if (Token == '{') {
+ if (Token_ == '{') {
if (!ParseCallablePayload(payload)) return nullptr;
}
@@ -583,7 +583,7 @@ private:
bool ParseCallableArgFlags(ui32& argFlags) {
GetNextToken(); // eat '{'
- if (Token != TOKEN_IDENTIFIER || Identifier != TStringBuf("Flags")) {
+ if (Token_ != TOKEN_IDENTIFIER || Identifier_ != TStringBuf("Flags")) {
AddError("Expected Flags field");
return false;
}
@@ -592,13 +592,13 @@ private:
EXPECT_AND_SKIP_TOKEN(':', false);
for (;;) {
- if (Token == TOKEN_IDENTIFIER) {
- if (Identifier == TStringBuf("AutoMap")) {
+ if (Token_ == TOKEN_IDENTIFIER) {
+ if (Identifier_ == TStringBuf("AutoMap")) {
argFlags |= NUdf::ICallablePayload::TArgumentFlags::AutoMap;
- } else if (Identifier == TStringBuf("NoYield")) {
+ } else if (Identifier_ == TStringBuf("NoYield")) {
argFlags |= NUdf::ICallablePayload::TArgumentFlags::NoYield;
} else {
- AddError(TString("Unknown flag name: ") + Identifier);
+ AddError(TString("Unknown flag name: ") + Identifier_);
return false;
}
GetNextToken(); // eat flag name
@@ -607,9 +607,9 @@ private:
return false;
}
- if (Token == '}') {
+ if (Token_ == '}') {
break;
- } else if (Token == '|') {
+ } else if (Token_ == '|') {
GetNextToken(); // eat '|'
} else {
AddError("Expected '}' or '|'");
@@ -623,7 +623,7 @@ private:
bool ParseCallablePayload(TStringBuf& payload) {
GetNextToken(); // eat '{'
- if (Token != TOKEN_IDENTIFIER && Identifier != TStringBuf("Payload")) {
+ if (Token_ != TOKEN_IDENTIFIER && Identifier_ != TStringBuf("Payload")) {
AddError("Expected Payload field");
return false;
}
@@ -631,8 +631,8 @@ private:
GetNextToken(); // eat 'Payload'
EXPECT_AND_SKIP_TOKEN(':', false);
- if (Token == TOKEN_IDENTIFIER || Token == TOKEN_ESCAPED_IDENTIFIER) {
- payload = Identifier;
+ if (Token_ == TOKEN_IDENTIFIER || Token_ == TOKEN_ESCAPED_IDENTIFIER) {
+ payload = Identifier_;
GetNextToken(); // eat payload data
} else {
AddError("Expected payload data");
@@ -714,10 +714,10 @@ private:
EXPECT_AND_SKIP_TOKEN('<', nullptr);
TString file;
- if (Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER)
+ if (Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER)
{
- file = Identifier;
+ file = Identifier_;
} else {
return AddError("Expected file name");
}
@@ -725,26 +725,26 @@ private:
GetNextToken(); // eat file name
EXPECT_AND_SKIP_TOKEN(':', nullptr);
ui32 line;
- if (!(Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER) || !TryFromString(Identifier, line)) {
+ if (!(Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER) || !TryFromString(Identifier_, line)) {
return AddError("Expected line");
}
GetNextToken();
EXPECT_AND_SKIP_TOKEN(':', nullptr);
ui32 column;
- if (!(Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER) || !TryFromString(Identifier, column)) {
+ if (!(Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER) || !TryFromString(Identifier_, column)) {
return AddError("Expected column");
}
GetNextToken();
EXPECT_AND_SKIP_TOKEN(':', nullptr);
TString message;
- if (Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER)
+ if (Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER)
{
- message = Identifier;
+ message = Identifier_;
} else {
return AddError("Expected message");
}
@@ -758,12 +758,12 @@ private:
GetNextToken(); // eat keyword
EXPECT_AND_SKIP_TOKEN('(', nullptr);
- const auto precision = Identifier;
+ const auto precision = Identifier_;
GetNextToken(); // eat keyword
EXPECT_AND_SKIP_TOKEN(',', nullptr);
- const auto scale = Identifier;
+ const auto scale = Identifier_;
GetNextToken(); // eat keyword
EXPECT_AND_SKIP_TOKEN(')', nullptr);
@@ -813,16 +813,16 @@ private:
TSmallVec<TAstNode*> items;
items.push_back(nullptr); // reserve for type callable
- if (Token != '>') {
+ if (Token_ != '>') {
for (;;) {
auto itemType = ParseType();
if (!itemType) return nullptr;
items.push_back(itemType);
- if (Token == '>') {
+ if (Token_ == '>') {
break;
- } else if (Token == ',') {
+ } else if (Token_ == ',') {
GetNextToken();
} else {
return AddError("Expected '>' or ','");
@@ -845,13 +845,13 @@ private:
TAstNode* ParseStructTypeImpl() {
TMap<TString, TAstNode*> members;
- if (Token != '>') {
+ if (Token_ != '>') {
for (;;) {
TString name;
- if (Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER)
+ if (Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER)
{
- name = Identifier;
+ name = Identifier_;
} else {
return AddError("Expected struct member name");
}
@@ -870,9 +870,9 @@ private:
members.emplace(std::move(name), type);
- if (Token == '>') {
+ if (Token_ == '>') {
break;
- } else if (Token == ',') {
+ } else if (Token_ == ',') {
GetNextToken();
} else {
return AddError("Expected '>' or ','");
@@ -908,9 +908,9 @@ private:
EXPECT_AND_SKIP_TOKEN('<', nullptr);
TAstNode* underlyingType = nullptr;
- if (Token == TOKEN_IDENTIFIER || Token == TOKEN_ESCAPED_IDENTIFIER) {
+ if (Token_ == TOKEN_IDENTIFIER || Token_ == TOKEN_ESCAPED_IDENTIFIER) {
underlyingType = ParseStructTypeImpl();
- } else if (IsTypeKeyword(Token) || Token == '(') {
+ } else if (IsTypeKeyword(Token_) || Token_ == '(') {
underlyingType = ParseTupleTypeImpl(&TTypeParser::MakeTupleType);
} else {
return AddError("Expected type");
@@ -929,10 +929,10 @@ private:
TMap<TString, TAstNode*> members;
for (;;) {
TString name;
- if (Token == TOKEN_IDENTIFIER ||
- Token == TOKEN_ESCAPED_IDENTIFIER)
+ if (Token_ == TOKEN_IDENTIFIER ||
+ Token_ == TOKEN_ESCAPED_IDENTIFIER)
{
- name = Identifier;
+ name = Identifier_;
} else {
return AddError("Expected name");
}
@@ -946,9 +946,9 @@ private:
GetNextToken(); // eat member name
members.emplace(std::move(name), MakeVoidType());
- if (Token == '>') {
+ if (Token_ == '>') {
break;
- } else if (Token == ',') {
+ } else if (Token_ == ',') {
GetNextToken();
} else {
return AddError("Expected '>' or ','");
@@ -1082,11 +1082,11 @@ private:
GetNextToken(); // eat keyword
EXPECT_AND_SKIP_TOKEN('<', nullptr);
- if (Token != TOKEN_IDENTIFIER && Token != TOKEN_ESCAPED_IDENTIFIER) {
+ if (Token_ != TOKEN_IDENTIFIER && Token_ != TOKEN_ESCAPED_IDENTIFIER) {
return AddError("Expected resource tag");
}
- TStringBuf tag = Identifier;
+ TStringBuf tag = Identifier_;
if (tag.empty()) {
return AddError("Expected non empty resource tag");
}
@@ -1105,11 +1105,11 @@ private:
EXPECT_AND_SKIP_TOKEN(',', nullptr);
- if (Token != TOKEN_IDENTIFIER && Token != TOKEN_ESCAPED_IDENTIFIER) {
+ if (Token_ != TOKEN_IDENTIFIER && Token_ != TOKEN_ESCAPED_IDENTIFIER) {
return AddError("Expected tag of type");
}
- TStringBuf tag = Identifier;
+ TStringBuf tag = Identifier_;
if (tag.empty()) {
return AddError("Expected non empty tag of type");
}
@@ -1214,11 +1214,11 @@ private:
}
TAstNode* MakeAtom(TStringBuf content, ui32 flags = TNodeFlags::Default) {
- return TAstNode::NewAtom(Position, content, Pool, flags);
+ return TAstNode::NewAtom(Position_, content, Pool_, flags);
}
TAstNode* MakeLiteralAtom(TStringBuf content, ui32 flags = TNodeFlags::Default) {
- return TAstNode::NewLiteralAtom(Position, content, Pool, flags);
+ return TAstNode::NewLiteralAtom(Position_, content, Pool_, flags);
}
TAstNode* MakeQuote(TAstNode* node) {
@@ -1238,43 +1238,43 @@ private:
}
TAstNode* MakeList(TAstNode** children, ui32 count) {
- return TAstNode::NewList(Position, children, count, Pool);
+ return TAstNode::NewList(Position_, children, count, Pool_);
}
char Get() const {
- return Str[Index];
+ return Str_[Index_];
}
bool AtEnd() const {
- return Index >= Str.size();
+ return Index_ >= Str_.size();
}
void Move() {
if (AtEnd()) return;
- ++Index;
- ++Position.Column;
+ ++Index_;
+ ++Position_.Column;
- if (!AtEnd() && Str[Index] == '\n') {
- Position.Row++;
- Position.Column = 1;
+ if (!AtEnd() && Str_[Index_] == '\n') {
+ Position_.Row++;
+ Position_.Column = 1;
}
}
TAstNode* AddError(const TString& message) {
- Issues.AddIssue(TIssue(TokenBegin, message));
+ Issues_.AddIssue(TIssue(TokenBegin_, message));
return nullptr;
}
private:
- TStringBuf Str;
- TIssues& Issues;
- TPosition TokenBegin, Position;
- size_t Index;
- int Token;
- TString UnescapedIdentifier;
- TStringBuf Identifier;
- TMemoryPool& Pool;
+ TStringBuf Str_;
+ TIssues& Issues_;
+ TPosition TokenBegin_, Position_;
+ size_t Index_;
+ int Token_;
+ TString UnescapedIdentifier_;
+ TStringBuf Identifier_;
+ TMemoryPool& Pool_;
};
//////////////////////////////////////////////////////////////////////////////
@@ -1290,13 +1290,13 @@ public:
private:
void Visit(const TUnitExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Y_UNUSED(type);
Out_ << TStringBuf("Unit");
}
void Visit(const TMultiExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Multi<");
const auto& items = type.GetItems();
for (ui32 i = 0; i < items.size(); ++i) {
@@ -1309,7 +1309,7 @@ private:
}
void Visit(const TTupleExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Tuple<");
const auto& items = type.GetItems();
for (ui32 i = 0; i < items.size(); ++i) {
@@ -1322,7 +1322,7 @@ private:
}
void Visit(const TStructExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Struct<");
const auto& items = type.GetItems();
for (ui32 i = 0; i < items.size(); ++i) {
@@ -1335,49 +1335,49 @@ private:
}
void Visit(const TItemExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
EscapeArbitraryAtom(type.GetName(), '\'', &Out_);
Out_ << ':';
type.GetItemType()->Accept(*this);
}
void Visit(const TListExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("List<");
type.GetItemType()->Accept(*this);
Out_ << '>';
}
void Visit(const TStreamExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Stream<");
type.GetItemType()->Accept(*this);
Out_ << '>';
}
void Visit(const TFlowExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Flow<");
type.GetItemType()->Accept(*this);
Out_ << '>';
}
void Visit(const TBlockExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Block<");
type.GetItemType()->Accept(*this);
Out_ << '>';
}
void Visit(const TScalarExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Scalar<");
type.GetItemType()->Accept(*this);
Out_ << '>';
}
void Visit(const TDataExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << type.GetName();
if (const auto dataExprParamsType = dynamic_cast<const TDataExprParamsType*>(&type)) {
Out_ << '(' << dataExprParamsType->GetParamOne() << ',' << dataExprParamsType->GetParamTwo() << ')';
@@ -1385,7 +1385,7 @@ private:
}
void Visit(const TPgExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
TStringBuf name = type.GetName();
if (!name.SkipPrefix("_")) {
Out_ << "pg" << name;
@@ -1396,26 +1396,26 @@ private:
void Visit(const TWorldExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("World");
}
void Visit(const TOptionalExprType& type) final {
const TTypeAnnotationNode* itemType = type.GetItemType();
- if (TopLevel || itemType->GetKind() == ETypeAnnotationKind::Callable) {
- TopLevel = false;
+ if (TopLevel_ || itemType->GetKind() == ETypeAnnotationKind::Callable) {
+ TopLevel_ = false;
Out_ << TStringBuf("Optional<");
itemType->Accept(*this);
Out_ << '>';
} else {
- TopLevel = false;
+ TopLevel_ = false;
itemType->Accept(*this);
Out_ << '?';
}
}
void Visit(const TCallableExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
const auto& args = type.GetArguments();
ui32 argsCount = type.GetArgumentsSize();
ui32 optArgsCount =
@@ -1471,21 +1471,21 @@ private:
}
void Visit(const TResourceExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Resource<");
EscapeArbitraryAtom(type.GetTag(), '\'', &Out_);
Out_ << '>';
}
void Visit(const TTypeExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Type<");
type.GetType()->Accept(*this);
Out_ << '>';
}
void Visit(const TDictExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
if (type.GetPayloadType()->GetKind() == ETypeAnnotationKind::Void) {
Out_ << TStringBuf("Set<");
type.GetKeyType()->Accept(*this);
@@ -1501,36 +1501,36 @@ private:
void Visit(const TVoidExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Void");
}
void Visit(const TNullExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Null");
}
void Visit(const TEmptyListExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("EmptyList");
}
void Visit(const TEmptyDictExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("EmptyDict");
}
void Visit(const TGenericExprType& type) final {
Y_UNUSED(type);
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Generic");
}
void Visit(const TTaggedExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Tagged<");
type.GetBaseType()->Accept(*this);
Out_ << ',';
@@ -1539,7 +1539,7 @@ private:
}
void Visit(const TErrorExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
Out_ << TStringBuf("Error<");
auto pos = type.GetError().Position;
EscapeArbitraryAtom(pos.File.empty() ? "<main>" : pos.File, '\'', &Out_);
@@ -1553,7 +1553,7 @@ private:
}
void Visit(const TVariantExprType& type) final {
- TopLevel = false;
+ TopLevel_ = false;
auto underlyingType = type.GetUnderlyingType();
if (underlyingType->GetKind() == ETypeAnnotationKind::Tuple) {
Out_ << TStringBuf("Variant<");
@@ -1592,7 +1592,7 @@ private:
private:
IOutputStream& Out_;
- bool TopLevel = true;
+ bool TopLevel_ = true;
};
} // namespace