mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
Add recursion limiter
This commit is contained in:
parent
ed39250b75
commit
88a965934b
1 changed files with 13 additions and 5 deletions
|
@ -1154,11 +1154,19 @@ ControlFlow ConstraintGraphBuilder::visit(const ScopePtr& scope, AstStatDeclareC
|
|||
|
||||
if (FFlag::LuauParseDeclareClassIndexer && declaredClass->indexer)
|
||||
{
|
||||
// TODO: Recursion limit.
|
||||
ctv->indexer = TableIndexer{
|
||||
resolveType(scope, declaredClass->indexer->indexType, /* inTypeArguments */ false),
|
||||
resolveType(scope, declaredClass->indexer->resultType, /* inTypeArguments */ false),
|
||||
};
|
||||
RecursionCounter counter{&recursionCount};
|
||||
|
||||
if (recursionCount >= FInt::LuauCheckRecursionLimit)
|
||||
{
|
||||
reportCodeTooComplex(declaredClass->indexer->location);
|
||||
}
|
||||
else
|
||||
{
|
||||
ctv->indexer = TableIndexer{
|
||||
resolveType(scope, declaredClass->indexer->indexType, /* inTypeArguments */ false),
|
||||
resolveType(scope, declaredClass->indexer->resultType, /* inTypeArguments */ false),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
for (const AstDeclaredClassProp& prop : declaredClass->props)
|
||||
|
|
Loading…
Add table
Reference in a new issue