Skip to content
This repository was archived by the owner on Nov 18, 2020. It is now read-only.

Commit 37dcd59

Browse files
remove AllEntityDeclarations from children enumeration
1 parent 6a1baa6 commit 37dcd59

File tree

3 files changed

+4
-5
lines changed

3 files changed

+4
-5
lines changed

CST/SyntaxTree.children.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ public static IEnumerable<ISyntax> Children(this ISyntax node)
2020
yield return child;
2121
foreach(var child in n.Declarations)
2222
yield return child;
23-
foreach(var child in n.AllEntityDeclarations)
24-
yield return child;
2523
yield break;
2624
case IUsingDirectiveSyntax n:
2725
yield break;

CST/SyntaxTree.tree

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
◊using Adamant.Tools.Compiler.Bootstrap.Types;
1616

1717
'ISyntax' = Span:'TextSpan';
18-
CompilationUnit = File:'CodeFile' ImplicitNamespaceName:'NamespaceName' UsingDirectives:UsingDirective* Declarations:NonMemberDeclaration* AllEntityDeclarations:EntityDeclaration* Diagnostics:'Diagnostic'*;
18+
// Note: by declaring the AllEntityDeclarations property type with quotes, it avoids the system assuming it must represent a direct child syntax node
19+
CompilationUnit = File:'CodeFile' ImplicitNamespaceName:'NamespaceName' UsingDirectives:UsingDirective* Declarations:NonMemberDeclaration* AllEntityDeclarations:'FixedList<IEntityDeclarationSyntax>' Diagnostics:'Diagnostic'*;
1920
UsingDirective = Name:'NamespaceName';
2021

2122
// ---------- Special Parts
@@ -48,7 +49,7 @@ MethodDeclaration: MemberDeclaration, InvocableDeclaration = Name:'Name' SelfPar
4849
AbstractMethodDeclaration: MethodDeclaration = SelfParameter Parameters:NamedParameter* ReturnType:Type? ReachabilityAnnotations:ReachabilityAnnotation*;
4950
ConcreteMethodDeclaration: MethodDeclaration, ConcreteInvocableDeclaration = SelfParameter Parameters:NamedParameter* ReturnType:Type? ReachabilityAnnotations:ReachabilityAnnotation* Body;
5051
ConstructorDeclaration: MemberDeclaration, ConcreteInvocableDeclaration = ImplicitSelfParameter:SelfParameter Parameters:ConstructorParameter* ReachabilityAnnotations:ReachabilityAnnotation* Body Symbol:'AcyclicPromise<ConstructorSymbol>';
51-
FieldDeclaration: MemberDeclaration, Binding = Name:'Name' Symbol:'AcyclicPromise<FieldSymbol>' Type;
52+
FieldDeclaration: MemberDeclaration, Binding = Name:'Name' Type Symbol:'AcyclicPromise<FieldSymbol>' ;
5253
AssociatedFunctionDeclaration: MemberDeclaration, ConcreteInvocableDeclaration = Name:'Name' Parameters:NamedParameter* ReturnType:Type? ReachabilityAnnotations:ReachabilityAnnotation* Body Symbol:'AcyclicPromise<FunctionSymbol>';
5354

5455

CST/SyntaxTree.tree.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@ public partial interface IConstructorDeclarationSyntax : IMemberDeclarationSynta
209209
public partial interface IFieldDeclarationSyntax : IMemberDeclarationSyntax, IBindingSyntax
210210
{
211211
new Name Name { get; }
212-
new AcyclicPromise<FieldSymbol> Symbol { get; }
213212
ITypeSyntax Type { get; }
213+
new AcyclicPromise<FieldSymbol> Symbol { get; }
214214
}
215215

216216
public partial interface IAssociatedFunctionDeclarationSyntax : IMemberDeclarationSyntax, IConcreteInvocableDeclarationSyntax

0 commit comments

Comments
 (0)