summaryrefslogtreecommitdiffstats
path: root/yql/essentials/minikql/mkql_program_builder.cpp
diff options
context:
space:
mode:
authoratarasov5 <[email protected]>2025-05-14 14:41:50 +0300
committeratarasov5 <[email protected]>2025-05-14 14:56:21 +0300
commit1565ceee67746697db75e898d9f6ebb51232bc5f (patch)
treea7851e1c17965654194ae5a9d000b50223348db2 /yql/essentials/minikql/mkql_program_builder.cpp
parent75945316e2777e65ff19c9aafc661efbecad682a (diff)
YQL-19765: Store IHash, ICompare, IEquate by type value instead of pointer
commit_hash:9e278f075e1a9c899d4ef9c137eee25958597358
Diffstat (limited to 'yql/essentials/minikql/mkql_program_builder.cpp')
-rw-r--r--yql/essentials/minikql/mkql_program_builder.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/yql/essentials/minikql/mkql_program_builder.cpp b/yql/essentials/minikql/mkql_program_builder.cpp
index b472f648575..adff3a372ac 100644
--- a/yql/essentials/minikql/mkql_program_builder.cpp
+++ b/yql/essentials/minikql/mkql_program_builder.cpp
@@ -72,11 +72,11 @@ class TJavascriptTypeChecker : public TExploringNodeVisitor {
void EnsureScriptSpecificTypes(
EScriptType scriptType,
TCallableType* funcType,
- const TTypeEnvironment& env)
+ std::vector<TNode*>& nodeStack)
{
switch (scriptType) {
case EScriptType::Lua:
- return TLuaTypeChecker().Walk(funcType, env);
+ return TLuaTypeChecker().Walk(funcType, nodeStack);
case EScriptType::Python:
case EScriptType::Python2:
case EScriptType::Python3:
@@ -94,9 +94,9 @@ void EnsureScriptSpecificTypes(
case EScriptType::SystemPython3_11:
case EScriptType::SystemPython3_12:
case EScriptType::SystemPython3_13:
- return TPythonTypeChecker().Walk(funcType, env);
+ return TPythonTypeChecker().Walk(funcType, nodeStack);
case EScriptType::Javascript:
- return TJavascriptTypeChecker().Walk(funcType, env);
+ return TJavascriptTypeChecker().Walk(funcType, nodeStack);
default:
MKQL_ENSURE(false, "Unknown script type " << static_cast<ui32>(scriptType));
}
@@ -4166,7 +4166,7 @@ TRuntimeNode TProgramBuilder::ScriptUdf(
MKQL_ENSURE(funcType->IsCallable(), "type must be callable");
auto scriptType = NKikimr::NMiniKQL::ScriptTypeFromStr(moduleName);
MKQL_ENSURE(scriptType != EScriptType::Unknown, "unknown script type '" << moduleName << "'");
- EnsureScriptSpecificTypes(scriptType, static_cast<TCallableType*>(funcType), Env);
+ EnsureScriptSpecificTypes(scriptType, static_cast<TCallableType*>(funcType), Env.GetNodeStack());
auto scriptTypeStr = IsCustomPython(scriptType) ? moduleName : ScriptTypeAsStr(CanonizeScriptType(scriptType));
@@ -6148,7 +6148,7 @@ bool CanExportType(TType* type, const TTypeEnvironment& env) {
}
TExploringNodeVisitor explorer;
- explorer.Walk(type, env);
+ explorer.Walk(type, env.GetNodeStack());
bool canExport = true;
for (auto& node : explorer.GetNodes()) {
switch (static_cast<TType*>(node)->GetKind()) {