Rust: macro expansion

This commit is contained in:
Arthur Baars
2024-09-27 16:20:34 +02:00
parent cad2b74137
commit 0b3b95ab54
17 changed files with 427 additions and 31 deletions

View File

@@ -24,12 +24,14 @@ class _:
The base class for expressions.
"""
@annotate(Pat)
class _:
"""
The base class for patterns.
"""
@annotate(Label)
class _:
"""
@@ -49,6 +51,7 @@ class _:
The base class for statements.
"""
@annotate(TypeRef)
class _:
"""
@@ -60,6 +63,7 @@ class _:
```
"""
@annotate(Path)
class _:
"""
@@ -69,6 +73,7 @@ class _:
```
"""
@annotate(GenericArgList)
class _:
"""
@@ -78,6 +83,7 @@ class _:
```
"""
@annotate(Function)
@rust.doc_test_signature(None)
class _:
@@ -535,6 +541,7 @@ class _:
```
"""
@annotate(UnderscoreExpr)
class _:
"""
@@ -544,6 +551,7 @@ class _:
```
"""
@annotate(OffsetOfExpr)
class _:
"""
@@ -604,6 +612,7 @@ class _:
```
"""
@annotate(TuplePat)
class _:
"""
@@ -774,6 +783,8 @@ class _:
};
```
"""
@annotate(Abi)
class _:
"""
@@ -782,6 +793,8 @@ class _:
todo!()
```
"""
@annotate(ArgList)
class _:
"""
@@ -790,6 +803,8 @@ class _:
todo!()
```
"""
@annotate(ArrayType)
class _:
"""
@@ -798,6 +813,8 @@ class _:
todo!()
```
"""
@annotate(AssocItem)
class _:
"""
@@ -806,6 +823,8 @@ class _:
todo!()
```
"""
@annotate(AssocItemList)
class _:
"""
@@ -814,6 +833,8 @@ class _:
todo!()
```
"""
@annotate(AssocTypeArg)
class _:
"""
@@ -822,6 +843,8 @@ class _:
todo!()
```
"""
@annotate(Attr)
class _:
"""
@@ -830,6 +853,8 @@ class _:
todo!()
```
"""
@annotate(ClosureBinder)
class _:
"""
@@ -838,6 +863,8 @@ class _:
todo!()
```
"""
@annotate(Const)
class _:
"""
@@ -846,6 +873,8 @@ class _:
todo!()
```
"""
@annotate(ConstArg)
class _:
"""
@@ -854,6 +883,8 @@ class _:
todo!()
```
"""
@annotate(ConstParam)
class _:
"""
@@ -862,6 +893,8 @@ class _:
todo!()
```
"""
@annotate(DynTraitType)
class _:
"""
@@ -870,6 +903,8 @@ class _:
todo!()
```
"""
@annotate(Enum)
class _:
"""
@@ -878,6 +913,8 @@ class _:
todo!()
```
"""
@annotate(ExternBlock)
class _:
"""
@@ -886,6 +923,8 @@ class _:
todo!()
```
"""
@annotate(ExternCrate)
class _:
"""
@@ -894,6 +933,8 @@ class _:
todo!()
```
"""
@annotate(ExternItem)
class _:
"""
@@ -902,6 +943,8 @@ class _:
todo!()
```
"""
@annotate(ExternItemList)
class _:
"""
@@ -910,6 +953,8 @@ class _:
todo!()
```
"""
@annotate(FieldList)
class _:
"""
@@ -918,6 +963,8 @@ class _:
todo!()
```
"""
@annotate(FnPtrType)
class _:
"""
@@ -926,6 +973,8 @@ class _:
todo!()
```
"""
@annotate(ForExpr)
class _:
"""
@@ -934,6 +983,8 @@ class _:
todo!()
```
"""
@annotate(ForType)
class _:
"""
@@ -942,6 +993,8 @@ class _:
todo!()
```
"""
@annotate(FormatArgsArg)
class _:
"""
@@ -950,6 +1003,8 @@ class _:
todo!()
```
"""
@annotate(FormatArgsExpr)
class _:
"""
@@ -958,6 +1013,8 @@ class _:
todo!()
```
"""
@annotate(GenericArg)
class _:
"""
@@ -966,6 +1023,8 @@ class _:
todo!()
```
"""
@annotate(GenericParam)
class _:
"""
@@ -974,6 +1033,8 @@ class _:
todo!()
```
"""
@annotate(GenericParamList)
class _:
"""
@@ -982,6 +1043,8 @@ class _:
todo!()
```
"""
@annotate(Impl)
class _:
"""
@@ -990,6 +1053,8 @@ class _:
todo!()
```
"""
@annotate(ImplTraitType)
class _:
"""
@@ -998,6 +1063,8 @@ class _:
todo!()
```
"""
@annotate(InferType)
class _:
"""
@@ -1006,6 +1073,8 @@ class _:
todo!()
```
"""
@annotate(Item)
class _:
"""
@@ -1014,6 +1083,8 @@ class _:
todo!()
```
"""
@annotate(ItemList)
class _:
"""
@@ -1022,6 +1093,8 @@ class _:
todo!()
```
"""
@annotate(LetElse)
class _:
"""
@@ -1030,6 +1103,8 @@ class _:
todo!()
```
"""
@annotate(Lifetime)
class _:
"""
@@ -1038,6 +1113,8 @@ class _:
todo!()
```
"""
@annotate(LifetimeArg)
class _:
"""
@@ -1046,6 +1123,8 @@ class _:
todo!()
```
"""
@annotate(LifetimeParam)
class _:
"""
@@ -1054,6 +1133,8 @@ class _:
todo!()
```
"""
@annotate(MacroCall)
class _:
"""
@@ -1062,6 +1143,9 @@ class _:
todo!()
```
"""
expanded: optional[AstNode] | child | rust.detach
@annotate(MacroDef)
class _:
"""
@@ -1070,6 +1154,8 @@ class _:
todo!()
```
"""
@annotate(MacroExpr)
class _:
"""
@@ -1078,6 +1164,8 @@ class _:
todo!()
```
"""
@annotate(MacroPat)
class _:
"""
@@ -1086,6 +1174,8 @@ class _:
todo!()
```
"""
@annotate(MacroRules)
class _:
"""
@@ -1094,6 +1184,8 @@ class _:
todo!()
```
"""
@annotate(MacroType)
class _:
"""
@@ -1102,6 +1194,8 @@ class _:
todo!()
```
"""
@annotate(MatchArmList)
class _:
"""
@@ -1110,6 +1204,8 @@ class _:
todo!()
```
"""
@annotate(MatchGuard)
class _:
"""
@@ -1118,6 +1214,8 @@ class _:
todo!()
```
"""
@annotate(Meta)
class _:
"""
@@ -1126,6 +1224,8 @@ class _:
todo!()
```
"""
@annotate(Name)
class _:
"""
@@ -1134,6 +1234,8 @@ class _:
todo!()
```
"""
@annotate(NameRef)
class _:
"""
@@ -1142,6 +1244,8 @@ class _:
todo!()
```
"""
@annotate(NeverType)
class _:
"""
@@ -1150,6 +1254,8 @@ class _:
todo!()
```
"""
@annotate(Param)
class _:
"""
@@ -1158,6 +1264,8 @@ class _:
todo!()
```
"""
@annotate(ParamList)
class _:
"""
@@ -1166,6 +1274,8 @@ class _:
todo!()
```
"""
@annotate(ParenExpr)
class _:
"""
@@ -1174,6 +1284,8 @@ class _:
todo!()
```
"""
@annotate(ParenPat)
class _:
"""
@@ -1182,6 +1294,8 @@ class _:
todo!()
```
"""
@annotate(ParenType)
class _:
"""
@@ -1190,6 +1304,8 @@ class _:
todo!()
```
"""
@annotate(PathSegment)
class _:
"""
@@ -1198,6 +1314,8 @@ class _:
todo!()
```
"""
@annotate(PathType)
class _:
"""
@@ -1206,6 +1324,8 @@ class _:
todo!()
```
"""
@annotate(PtrType)
class _:
"""
@@ -1214,6 +1334,8 @@ class _:
todo!()
```
"""
@annotate(RecordExprFieldList)
class _:
"""
@@ -1222,6 +1344,8 @@ class _:
todo!()
```
"""
@annotate(RecordField)
class _:
"""
@@ -1230,6 +1354,8 @@ class _:
todo!()
```
"""
@annotate(RecordFieldList)
class _:
"""
@@ -1238,6 +1364,8 @@ class _:
todo!()
```
"""
@annotate(RecordPatFieldList)
class _:
"""
@@ -1246,6 +1374,8 @@ class _:
todo!()
```
"""
@annotate(RefType)
class _:
"""
@@ -1254,6 +1384,8 @@ class _:
todo!()
```
"""
@annotate(Rename)
class _:
"""
@@ -1262,6 +1394,8 @@ class _:
todo!()
```
"""
@annotate(RestPat)
class _:
"""
@@ -1270,6 +1404,8 @@ class _:
todo!()
```
"""
@annotate(RetType)
class _:
"""
@@ -1278,6 +1414,8 @@ class _:
todo!()
```
"""
@annotate(ReturnTypeSyntax)
class _:
"""
@@ -1286,6 +1424,8 @@ class _:
todo!()
```
"""
@annotate(SelfParam)
class _:
"""
@@ -1294,6 +1434,8 @@ class _:
todo!()
```
"""
@annotate(SliceType)
class _:
"""
@@ -1302,6 +1444,8 @@ class _:
todo!()
```
"""
@annotate(SourceFile)
class _:
"""
@@ -1310,6 +1454,8 @@ class _:
todo!()
```
"""
@annotate(Static)
class _:
"""
@@ -1318,6 +1464,8 @@ class _:
todo!()
```
"""
@annotate(StmtList)
class _:
"""
@@ -1326,6 +1474,8 @@ class _:
todo!()
```
"""
@annotate(Struct)
class _:
"""
@@ -1334,6 +1484,8 @@ class _:
todo!()
```
"""
@annotate(TokenTree)
class _:
"""
@@ -1342,6 +1494,8 @@ class _:
todo!()
```
"""
@annotate(Trait)
class _:
"""
@@ -1350,6 +1504,8 @@ class _:
todo!()
```
"""
@annotate(TraitAlias)
class _:
"""
@@ -1358,6 +1514,8 @@ class _:
todo!()
```
"""
@annotate(TryExpr)
class _:
"""
@@ -1366,6 +1524,8 @@ class _:
todo!()
```
"""
@annotate(TupleField)
class _:
"""
@@ -1374,6 +1534,8 @@ class _:
todo!()
```
"""
@annotate(TupleFieldList)
class _:
"""
@@ -1382,6 +1544,8 @@ class _:
todo!()
```
"""
@annotate(TupleType)
class _:
"""
@@ -1390,6 +1554,8 @@ class _:
todo!()
```
"""
@annotate(TypeAlias)
class _:
"""
@@ -1398,6 +1564,8 @@ class _:
todo!()
```
"""
@annotate(TypeArg)
class _:
"""
@@ -1406,6 +1574,8 @@ class _:
todo!()
```
"""
@annotate(TypeBound)
class _:
"""
@@ -1414,6 +1584,8 @@ class _:
todo!()
```
"""
@annotate(TypeBoundList)
class _:
"""
@@ -1422,6 +1594,8 @@ class _:
todo!()
```
"""
@annotate(TypeParam)
class _:
"""
@@ -1430,6 +1604,8 @@ class _:
todo!()
```
"""
@annotate(Union)
class _:
"""
@@ -1438,6 +1614,8 @@ class _:
todo!()
```
"""
@annotate(Use)
class _:
"""
@@ -1446,6 +1624,8 @@ class _:
todo!()
```
"""
@annotate(UseTree)
class _:
"""
@@ -1454,6 +1634,8 @@ class _:
todo!()
```
"""
@annotate(UseTreeList)
class _:
"""
@@ -1462,6 +1644,8 @@ class _:
todo!()
```
"""
@annotate(Variant)
class _:
"""
@@ -1470,6 +1654,8 @@ class _:
todo!()
```
"""
@annotate(VariantList)
class _:
"""
@@ -1478,6 +1664,8 @@ class _:
todo!()
```
"""
@annotate(Visibility)
class _:
"""
@@ -1486,6 +1674,8 @@ class _:
todo!()
```
"""
@annotate(WhereClause)
class _:
"""
@@ -1494,6 +1684,8 @@ class _:
todo!()
```
"""
@annotate(WherePred)
class _:
"""
@@ -1502,6 +1694,8 @@ class _:
todo!()
```
"""
@annotate(WhileExpr)
class _:
"""