Skip to content

Commit 1c9584f

Browse files
committed
Bump Luau to 0.674
1 parent bbb5c90 commit 1c9584f

37 files changed

+1423
-1400
lines changed

luau/Ast/include/Luau/Cst.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ class CstExprFunction : public CstNode
116116
Position openGenericsPosition{0, 0};
117117
AstArray<Position> genericsCommaPositions;
118118
Position closeGenericsPosition{0, 0};
119+
AstArray<Position> argsAnnotationColonPositions;
119120
AstArray<Position> argsCommaPositions;
121+
Position varargAnnotationColonPosition{0, 0};
120122
Position returnSpecifierPosition{0, 0};
121123
};
122124

@@ -224,8 +226,9 @@ class CstStatLocal : public CstNode
224226
public:
225227
LUAU_CST_RTTI(CstStatLocal)
226228

227-
CstStatLocal(AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions);
229+
CstStatLocal(AstArray<Position> varsAnnotationColonPositions, AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions);
228230

231+
AstArray<Position> varsAnnotationColonPositions;
229232
AstArray<Position> varsCommaPositions;
230233
AstArray<Position> valuesCommaPositions;
231234
};
@@ -235,8 +238,9 @@ class CstStatFor : public CstNode
235238
public:
236239
LUAU_CST_RTTI(CstStatFor)
237240

238-
CstStatFor(Position equalsPosition, Position endCommaPosition, std::optional<Position> stepCommaPosition);
241+
CstStatFor(Position annotationColonPosition, Position equalsPosition, Position endCommaPosition, std::optional<Position> stepCommaPosition);
239242

243+
Position annotationColonPosition;
240244
Position equalsPosition;
241245
Position endCommaPosition;
242246
std::optional<Position> stepCommaPosition;
@@ -247,8 +251,9 @@ class CstStatForIn : public CstNode
247251
public:
248252
LUAU_CST_RTTI(CstStatForIn)
249253

250-
CstStatForIn(AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions);
254+
CstStatForIn(AstArray<Position> varsAnnotationColonPositions, AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions);
251255

256+
AstArray<Position> varsAnnotationColonPositions;
252257
AstArray<Position> varsCommaPositions;
253258
AstArray<Position> valuesCommaPositions;
254259
};

luau/Ast/include/Luau/ParseResult.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,6 @@ struct ParseExprResult
8484
CstNodeMap cstNodeMap{nullptr};
8585
};
8686

87-
static constexpr const char* kParseNameError = "%error-id%";
87+
inline constexpr const char* kParseNameError = "%error-id%";
8888

8989
} // namespace Luau

luau/Ast/include/Luau/Parser.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,14 +196,16 @@ class Parser
196196

197197
// binding ::= Name [`:` Type]
198198
Binding parseBinding();
199+
AstArray<Position> extractAnnotationColonPositions(const TempVector<Binding>& bindings);
199200

200201
// bindinglist ::= (binding | `...') {`,' bindinglist}
201202
// Returns the location of the vararg ..., or std::nullopt if the function is not vararg.
202203
std::tuple<bool, Location, AstTypePack*> parseBindingList(
203204
TempVector<Binding>& result,
204205
bool allowDot3 = false,
205206
AstArray<Position>* commaPositions = nullptr,
206-
std::optional<Position> initialCommaPosition = std::nullopt
207+
Position* initialCommaPosition = nullptr,
208+
Position* varargAnnotationColonPosition = nullptr
207209
);
208210

209211
AstType* parseOptionalType();
@@ -243,8 +245,6 @@ class Parser
243245
};
244246

245247
TableIndexerResult parseTableIndexer(AstTableAccess access, std::optional<Location> accessLocation, Lexeme begin);
246-
// Remove with FFlagLuauStoreCSTData2
247-
AstTableIndexer* parseTableIndexer_DEPRECATED(AstTableAccess access, std::optional<Location> accessLocation, Lexeme begin);
248248

249249
AstTypeOrPack parseFunctionType(bool allowPack, const AstArray<AstAttr*>& attributes);
250250
AstType* parseFunctionTypeTail(
@@ -452,10 +452,12 @@ class Parser
452452
{
453453
Name name;
454454
AstType* annotation;
455+
Position colonPosition;
455456

456-
explicit Binding(const Name& name, AstType* annotation = nullptr)
457+
explicit Binding(const Name& name, AstType* annotation = nullptr, Position colonPosition = {0,0})
457458
: name(name)
458459
, annotation(annotation)
460+
, colonPosition(colonPosition)
459461
{
460462
}
461463
};

luau/Ast/src/Ast.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,13 @@
33

44
#include "Luau/Common.h"
55

6-
LUAU_FASTFLAG(LuauDeprecatedAttribute);
76
LUAU_FASTFLAG(LuauStoreReturnTypesAsPackOnAst)
87

98
namespace Luau
109
{
1110

1211
static bool hasAttributeInArray(const AstArray<AstAttr*> attributes, AstAttr::Type attributeType)
1312
{
14-
LUAU_ASSERT(FFlag::LuauDeprecatedAttribute);
15-
1613
for (const auto attribute : attributes)
1714
{
1815
if (attribute->type == attributeType)
@@ -338,8 +335,6 @@ bool AstExprFunction::hasNativeAttribute() const
338335

339336
bool AstExprFunction::hasAttribute(const AstAttr::Type attributeType) const
340337
{
341-
LUAU_ASSERT(FFlag::LuauDeprecatedAttribute);
342-
343338
return hasAttributeInArray(attributes, attributeType);
344339
}
345340

@@ -1026,8 +1021,6 @@ bool AstStatDeclareFunction::isCheckedFunction() const
10261021

10271022
bool AstStatDeclareFunction::hasAttribute(AstAttr::Type attributeType) const
10281023
{
1029-
LUAU_ASSERT(FFlag::LuauDeprecatedAttribute);
1030-
10311024
return hasAttributeInArray(attributes, attributeType);
10321025
}
10331026

@@ -1244,8 +1237,6 @@ bool AstTypeFunction::isCheckedFunction() const
12441237

12451238
bool AstTypeFunction::hasAttribute(AstAttr::Type attributeType) const
12461239
{
1247-
LUAU_ASSERT(FFlag::LuauDeprecatedAttribute);
1248-
12491240
return hasAttributeInArray(attributes, attributeType);
12501241
}
12511242

luau/Ast/src/Cst.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,23 +94,26 @@ CstStatReturn::CstStatReturn(AstArray<Position> commaPositions)
9494
{
9595
}
9696

97-
CstStatLocal::CstStatLocal(AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions)
97+
CstStatLocal::CstStatLocal(AstArray<Position> varsAnnotationColonPositions, AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions)
9898
: CstNode(CstClassIndex())
99+
, varsAnnotationColonPositions(varsAnnotationColonPositions)
99100
, varsCommaPositions(varsCommaPositions)
100101
, valuesCommaPositions(valuesCommaPositions)
101102
{
102103
}
103104

104-
CstStatFor::CstStatFor(Position equalsPosition, Position endCommaPosition, std::optional<Position> stepCommaPosition)
105+
CstStatFor::CstStatFor(Position annotationColonPosition, Position equalsPosition, Position endCommaPosition, std::optional<Position> stepCommaPosition)
105106
: CstNode(CstClassIndex())
107+
, annotationColonPosition(annotationColonPosition)
106108
, equalsPosition(equalsPosition)
107109
, endCommaPosition(endCommaPosition)
108110
, stepCommaPosition(stepCommaPosition)
109111
{
110112
}
111113

112-
CstStatForIn::CstStatForIn(AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions)
114+
CstStatForIn::CstStatForIn(AstArray<Position> varsAnnotationColonPositions, AstArray<Position> varsCommaPositions, AstArray<Position> valuesCommaPositions)
113115
: CstNode(CstClassIndex())
116+
, varsAnnotationColonPositions(varsAnnotationColonPositions)
114117
, varsCommaPositions(varsCommaPositions)
115118
, valuesCommaPositions(valuesCommaPositions)
116119
{

0 commit comments

Comments
 (0)