mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
Include module name for definitions files
This commit is contained in:
parent
1fa8311a18
commit
d36b5f7dee
1 changed files with 17 additions and 6 deletions
|
@ -32,6 +32,7 @@ LUAU_FASTFLAGVARIABLE(LuauKnowsTheDataModel3, false)
|
||||||
LUAU_FASTINTVARIABLE(LuauAutocompleteCheckTimeoutMs, 100)
|
LUAU_FASTINTVARIABLE(LuauAutocompleteCheckTimeoutMs, 100)
|
||||||
LUAU_FASTFLAGVARIABLE(DebugLuauDeferredConstraintResolution, false)
|
LUAU_FASTFLAGVARIABLE(DebugLuauDeferredConstraintResolution, false)
|
||||||
LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSourceModule, false)
|
LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSourceModule, false)
|
||||||
|
LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSetModuleName, true)
|
||||||
LUAU_FASTFLAGVARIABLE(DebugLuauLogSolverToJson, false);
|
LUAU_FASTFLAGVARIABLE(DebugLuauLogSolverToJson, false);
|
||||||
|
|
||||||
namespace Luau
|
namespace Luau
|
||||||
|
@ -102,6 +103,8 @@ LoadDefinitionFileResult Frontend::loadDefinitionFile(std::string_view source, c
|
||||||
if (parseResult.errors.size() > 0)
|
if (parseResult.errors.size() > 0)
|
||||||
return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr};
|
return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr};
|
||||||
|
|
||||||
|
if (FFlag::LuauDefinitionFileSetModuleName)
|
||||||
|
sourceModule.name = packageName;
|
||||||
sourceModule.root = parseResult.root;
|
sourceModule.root = parseResult.root;
|
||||||
sourceModule.mode = Mode::Definition;
|
sourceModule.mode = Mode::Definition;
|
||||||
|
|
||||||
|
@ -160,6 +163,8 @@ LoadDefinitionFileResult loadDefinitionFile_DEPRECATED(
|
||||||
return LoadDefinitionFileResult{false, parseResult, {}, nullptr};
|
return LoadDefinitionFileResult{false, parseResult, {}, nullptr};
|
||||||
|
|
||||||
Luau::SourceModule module;
|
Luau::SourceModule module;
|
||||||
|
if (FFlag::LuauDefinitionFileSetModuleName)
|
||||||
|
module.name = packageName;
|
||||||
module.root = parseResult.root;
|
module.root = parseResult.root;
|
||||||
module.mode = Mode::Definition;
|
module.mode = Mode::Definition;
|
||||||
|
|
||||||
|
@ -220,6 +225,8 @@ LoadDefinitionFileResult loadDefinitionFile(TypeChecker& typeChecker, GlobalType
|
||||||
if (parseResult.errors.size() > 0)
|
if (parseResult.errors.size() > 0)
|
||||||
return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr};
|
return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr};
|
||||||
|
|
||||||
|
if (FFlag::LuauDefinitionFileSetModuleName)
|
||||||
|
sourceModule.name = packageName;
|
||||||
sourceModule.root = parseResult.root;
|
sourceModule.root = parseResult.root;
|
||||||
sourceModule.mode = Mode::Definition;
|
sourceModule.mode = Mode::Definition;
|
||||||
|
|
||||||
|
@ -363,9 +370,11 @@ ErrorVec accumulateErrors(
|
||||||
|
|
||||||
Module& module = *it2->second;
|
Module& module = *it2->second;
|
||||||
|
|
||||||
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());
|
||||||
}
|
}
|
||||||
|
@ -609,8 +618,9 @@ CheckResult Frontend::check(const ModuleName& name, std::optional<FrontendOption
|
||||||
|
|
||||||
const bool recordJsonLog = FFlag::DebugLuauLogSolverToJson && moduleName == name;
|
const bool recordJsonLog = FFlag::DebugLuauLogSolverToJson && moduleName == name;
|
||||||
|
|
||||||
ModulePtr module = FFlag::DebugLuauDeferredConstraintResolution ? check(sourceModule, mode, requireCycles, /*forAutocomplete*/ false, recordJsonLog)
|
ModulePtr module = FFlag::DebugLuauDeferredConstraintResolution
|
||||||
: typeChecker.check(sourceModule, mode, environmentScope);
|
? check(sourceModule, mode, requireCycles, /*forAutocomplete*/ false, recordJsonLog)
|
||||||
|
: typeChecker.check(sourceModule, mode, environmentScope);
|
||||||
|
|
||||||
stats.timeCheck += getTimestamp() - timestamp;
|
stats.timeCheck += getTimestamp() - timestamp;
|
||||||
stats.filesStrict += mode == Mode::Strict;
|
stats.filesStrict += mode == Mode::Strict;
|
||||||
|
@ -994,7 +1004,8 @@ ModulePtr check(const SourceModule& sourceModule, const std::vector<RequireCycle
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
ModulePtr Frontend::check(const SourceModule& sourceModule, Mode mode, std::vector<RequireCycle> requireCycles, bool forAutocomplete, bool recordJsonLog)
|
ModulePtr Frontend::check(
|
||||||
|
const SourceModule& sourceModule, Mode mode, std::vector<RequireCycle> requireCycles, bool forAutocomplete, bool recordJsonLog)
|
||||||
{
|
{
|
||||||
return Luau::check(sourceModule, requireCycles, builtinTypes, NotNull{&iceHandler},
|
return Luau::check(sourceModule, requireCycles, builtinTypes, NotNull{&iceHandler},
|
||||||
NotNull{forAutocomplete ? &moduleResolverForAutocomplete : &moduleResolver}, NotNull{fileResolver},
|
NotNull{forAutocomplete ? &moduleResolverForAutocomplete : &moduleResolver}, NotNull{fileResolver},
|
||||||
|
|
Loading…
Add table
Reference in a new issue