mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
set fflag false by default
This commit is contained in:
parent
6c820b278e
commit
0de15f2ca4
1 changed files with 33 additions and 19 deletions
|
@ -38,7 +38,7 @@ LUAU_FASTFLAGVARIABLE(DebugLuauLogSolverToJson, false)
|
||||||
LUAU_FASTFLAGVARIABLE(DebugLuauReadWriteProperties, false)
|
LUAU_FASTFLAGVARIABLE(DebugLuauReadWriteProperties, false)
|
||||||
LUAU_FASTFLAGVARIABLE(LuauTypecheckLimitControls, false)
|
LUAU_FASTFLAGVARIABLE(LuauTypecheckLimitControls, false)
|
||||||
LUAU_FASTFLAGVARIABLE(CorrectEarlyReturnInMarkDirty, false)
|
LUAU_FASTFLAGVARIABLE(CorrectEarlyReturnInMarkDirty, false)
|
||||||
LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSetModuleName, true)
|
LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSetModuleName, false)
|
||||||
|
|
||||||
namespace Luau
|
namespace Luau
|
||||||
{
|
{
|
||||||
|
@ -284,9 +284,11 @@ static ErrorVec accumulateErrors(
|
||||||
|
|
||||||
Module& module = *modulePtr;
|
Module& module = *modulePtr;
|
||||||
|
|
||||||
std::sort(module.errors.begin(), module.errors.end(), [](const TypeError& e1, const TypeError& e2) -> bool {
|
std::sort(module.errors.begin(), module.errors.end(),
|
||||||
return e1.location.begin > e2.location.begin;
|
[](const TypeError& e1, const TypeError& e2) -> bool
|
||||||
});
|
{
|
||||||
|
return e1.location.begin > e2.location.begin;
|
||||||
|
});
|
||||||
|
|
||||||
result.insert(result.end(), module.errors.begin(), module.errors.end());
|
result.insert(result.end(), module.errors.begin(), module.errors.end());
|
||||||
}
|
}
|
||||||
|
@ -513,9 +515,11 @@ std::vector<ModuleName> Frontend::checkQueuedModules(std::optional<FrontendOptio
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<ModuleName> queue;
|
std::vector<ModuleName> queue;
|
||||||
bool cycleDetected = parseGraph(queue, name, frontendOptions.forAutocomplete, [&seen](const ModuleName& name) {
|
bool cycleDetected = parseGraph(queue, name, frontendOptions.forAutocomplete,
|
||||||
return seen.contains(name);
|
[&seen](const ModuleName& name)
|
||||||
});
|
{
|
||||||
|
return seen.contains(name);
|
||||||
|
});
|
||||||
|
|
||||||
addBuildQueueItems(buildQueueItems, queue, cycleDetected, seen, frontendOptions);
|
addBuildQueueItems(buildQueueItems, queue, cycleDetected, seen, frontendOptions);
|
||||||
}
|
}
|
||||||
|
@ -535,7 +539,8 @@ std::vector<ModuleName> Frontend::checkQueuedModules(std::optional<FrontendOptio
|
||||||
// Default task execution is single-threaded and immediate
|
// Default task execution is single-threaded and immediate
|
||||||
if (!executeTask)
|
if (!executeTask)
|
||||||
{
|
{
|
||||||
executeTask = [](std::function<void()> task) {
|
executeTask = [](std::function<void()> task)
|
||||||
|
{
|
||||||
task();
|
task();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -547,7 +552,8 @@ std::vector<ModuleName> Frontend::checkQueuedModules(std::optional<FrontendOptio
|
||||||
size_t processing = 0;
|
size_t processing = 0;
|
||||||
size_t remaining = buildQueueItems.size();
|
size_t remaining = buildQueueItems.size();
|
||||||
|
|
||||||
auto itemTask = [&](size_t i) {
|
auto itemTask = [&](size_t i)
|
||||||
|
{
|
||||||
BuildQueueItem& item = buildQueueItems[i];
|
BuildQueueItem& item = buildQueueItems[i];
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -567,18 +573,22 @@ std::vector<ModuleName> Frontend::checkQueuedModules(std::optional<FrontendOptio
|
||||||
cv.notify_one();
|
cv.notify_one();
|
||||||
};
|
};
|
||||||
|
|
||||||
auto sendItemTask = [&](size_t i) {
|
auto sendItemTask = [&](size_t i)
|
||||||
|
{
|
||||||
BuildQueueItem& item = buildQueueItems[i];
|
BuildQueueItem& item = buildQueueItems[i];
|
||||||
|
|
||||||
item.processing = true;
|
item.processing = true;
|
||||||
processing++;
|
processing++;
|
||||||
|
|
||||||
executeTask([&itemTask, i]() {
|
executeTask(
|
||||||
itemTask(i);
|
[&itemTask, i]()
|
||||||
});
|
{
|
||||||
|
itemTask(i);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
auto sendCycleItemTask = [&] {
|
auto sendCycleItemTask = [&]
|
||||||
|
{
|
||||||
for (size_t i = 0; i < buildQueueItems.size(); i++)
|
for (size_t i = 0; i < buildQueueItems.size(); i++)
|
||||||
{
|
{
|
||||||
BuildQueueItem& item = buildQueueItems[i];
|
BuildQueueItem& item = buildQueueItems[i];
|
||||||
|
@ -627,9 +637,11 @@ std::vector<ModuleName> Frontend::checkQueuedModules(std::optional<FrontendOptio
|
||||||
std::unique_lock guard(mtx);
|
std::unique_lock guard(mtx);
|
||||||
|
|
||||||
// If nothing is ready yet, wait
|
// If nothing is ready yet, wait
|
||||||
cv.wait(guard, [&readyQueueItems] {
|
cv.wait(guard,
|
||||||
return !readyQueueItems.empty();
|
[&readyQueueItems]
|
||||||
});
|
{
|
||||||
|
return !readyQueueItems.empty();
|
||||||
|
});
|
||||||
|
|
||||||
// Handle checked items
|
// Handle checked items
|
||||||
for (size_t i : readyQueueItems)
|
for (size_t i : readyQueueItems)
|
||||||
|
@ -1342,7 +1354,8 @@ ModulePtr Frontend::check(const SourceModule& sourceModule, Mode mode, std::vect
|
||||||
{
|
{
|
||||||
if (FFlag::DebugLuauDeferredConstraintResolution)
|
if (FFlag::DebugLuauDeferredConstraintResolution)
|
||||||
{
|
{
|
||||||
auto prepareModuleScopeWrap = [this, forAutocomplete](const ModuleName& name, const ScopePtr& scope) {
|
auto prepareModuleScopeWrap = [this, forAutocomplete](const ModuleName& name, const ScopePtr& scope)
|
||||||
|
{
|
||||||
if (prepareModuleScope)
|
if (prepareModuleScope)
|
||||||
prepareModuleScope(name, scope, forAutocomplete);
|
prepareModuleScope(name, scope, forAutocomplete);
|
||||||
};
|
};
|
||||||
|
@ -1368,7 +1381,8 @@ ModulePtr Frontend::check(const SourceModule& sourceModule, Mode mode, std::vect
|
||||||
|
|
||||||
if (prepareModuleScope)
|
if (prepareModuleScope)
|
||||||
{
|
{
|
||||||
typeChecker.prepareModuleScope = [this, forAutocomplete](const ModuleName& name, const ScopePtr& scope) {
|
typeChecker.prepareModuleScope = [this, forAutocomplete](const ModuleName& name, const ScopePtr& scope)
|
||||||
|
{
|
||||||
prepareModuleScope(name, scope, forAutocomplete);
|
prepareModuleScope(name, scope, forAutocomplete);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue