luau/Ast/include/Luau/ParseOptions.h

34 lines
793 B
C
Raw Normal View History

// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
#pragma once
2024-09-28 01:11:46 +08:00
#include "Luau/Ast.h"
#include "Luau/DenseHash.h"
#include <vector>
namespace Luau
{
enum class Mode
{
NoCheck, // Do not perform any inference
Nonstrict, // Unannotated symbols are any
Strict, // Unannotated symbols are inferred
Definition, // Type definition module, has special parsing rules
};
2024-09-28 01:11:46 +08:00
struct FragmentParseResumeSettings
{
DenseHashMap<AstName, AstLocal*> localMap{AstName()};
std::vector<AstLocal*> localStack;
};
struct ParseOptions
{
bool allowDeclarationSyntax = false;
bool captureComments = false;
2024-09-28 01:11:46 +08:00
std::optional<FragmentParseResumeSettings> parseFragment = std::nullopt;
};
} // namespace Luau