diff --git a/Analysis/src/Frontend.cpp b/Analysis/src/Frontend.cpp index 722f1a2c..1bc8a905 100644 --- a/Analysis/src/Frontend.cpp +++ b/Analysis/src/Frontend.cpp @@ -32,6 +32,7 @@ LUAU_FASTFLAGVARIABLE(LuauKnowsTheDataModel3, false) LUAU_FASTINTVARIABLE(LuauAutocompleteCheckTimeoutMs, 100) LUAU_FASTFLAGVARIABLE(DebugLuauDeferredConstraintResolution, false) LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSourceModule, false) +LUAU_FASTFLAGVARIABLE(LuauDefinitionFileSetModuleName, true) LUAU_FASTFLAGVARIABLE(DebugLuauLogSolverToJson, false); namespace Luau @@ -102,6 +103,8 @@ LoadDefinitionFileResult Frontend::loadDefinitionFile(std::string_view source, c if (parseResult.errors.size() > 0) return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr}; + if (FFlag::LuauDefinitionFileSetModuleName) + sourceModule.name = packageName; sourceModule.root = parseResult.root; sourceModule.mode = Mode::Definition; @@ -160,6 +163,8 @@ LoadDefinitionFileResult loadDefinitionFile_DEPRECATED( return LoadDefinitionFileResult{false, parseResult, {}, nullptr}; Luau::SourceModule module; + if (FFlag::LuauDefinitionFileSetModuleName) + module.name = packageName; module.root = parseResult.root; module.mode = Mode::Definition; @@ -220,6 +225,8 @@ LoadDefinitionFileResult loadDefinitionFile(TypeChecker& typeChecker, GlobalType if (parseResult.errors.size() > 0) return LoadDefinitionFileResult{false, parseResult, sourceModule, nullptr}; + if (FFlag::LuauDefinitionFileSetModuleName) + sourceModule.name = packageName; sourceModule.root = parseResult.root; sourceModule.mode = Mode::Definition; @@ -363,9 +370,11 @@ ErrorVec accumulateErrors( Module& module = *it2->second; - std::sort(module.errors.begin(), module.errors.end(), [](const TypeError& e1, const TypeError& e2) -> bool { - return e1.location.begin > e2.location.begin; - }); + std::sort(module.errors.begin(), module.errors.end(), + [](const TypeError& e1, const TypeError& e2) -> bool + { + return e1.location.begin > e2.location.begin; + }); result.insert(result.end(), module.errors.begin(), module.errors.end()); } @@ -609,8 +618,9 @@ CheckResult Frontend::check(const ModuleName& name, std::optional requireCycles, bool forAutocomplete, bool recordJsonLog) +ModulePtr Frontend::check( + const SourceModule& sourceModule, Mode mode, std::vector requireCycles, bool forAutocomplete, bool recordJsonLog) { return Luau::check(sourceModule, requireCycles, builtinTypes, NotNull{&iceHandler}, NotNull{forAutocomplete ? &moduleResolverForAutocomplete : &moduleResolver}, NotNull{fileResolver},