From d4a7f4e6318ae71cdb357a0e64aef1cd8b930ab2 Mon Sep 17 00:00:00 2001 From: Nick Treleaven Date: Fri, 6 Feb 2026 14:45:42 +0000 Subject: [PATCH] [ast] Add docs for AliasDeclaration and AliasInitializer --- src/dparse/ast.d | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/dparse/ast.d b/src/dparse/ast.d index ebc24d36..35e287d7 100644 --- a/src/dparse/ast.d +++ b/src/dparse/ast.d @@ -540,13 +540,19 @@ final class AliasDeclaration : BaseNode initializers, parameters, memberFunctionAttributes)); } mixin OpEquals; - /** */ StorageClass[] storageClasses; - /** */ Type type; - /** */ DeclaratorIdentifierList declaratorIdentifierList; - /** */ AliasInitializer[] initializers; + /** Old syntax `storageClasses type declaratorIdentifierList` */ + StorageClass[] storageClasses; + /** ditto */ + Type type; + /** ditto */ + DeclaratorIdentifierList declaratorIdentifierList; + /** New syntax e.g. `ident = Type` */ + AliasInitializer[] initializers; /** */ string comment; - /** */ Parameters parameters; - /** */ MemberFunctionAttribute[] memberFunctionAttributes; + /** Old syntax `(parameters) memberFunctionAttributes` after a single identifier */ + Parameters parameters; + /** ditto */ + MemberFunctionAttribute[] memberFunctionAttributes; } /// @@ -562,7 +568,12 @@ final class AliasAssign : BaseNode /** */ string comment; } -/// +/** + * `name(templateParameters)` + * * `= storageClasses type` + * * `= storageClasses type(parameters) memberFunctionAttributes` + * * `= functionLiteralExpression` + */ final class AliasInitializer : BaseNode { override void accept(ASTVisitor visitor) const