From ba51b00e1ff00cb7fa0395c996e043fbff6a8165 Mon Sep 17 00:00:00 2001 From: nub31 Date: Mon, 21 Jul 2025 16:30:57 +0200 Subject: [PATCH] ... --- .../NubLang/Syntax/Binding/Node/BoundDefinition.cs | 12 +++++------- .../NubLang/Syntax/Parsing/Node/DefinitionSyntax.cs | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/compiler/NubLang/Syntax/Binding/Node/BoundDefinition.cs b/src/compiler/NubLang/Syntax/Binding/Node/BoundDefinition.cs index 58c6e3c..47805d3 100644 --- a/src/compiler/NubLang/Syntax/Binding/Node/BoundDefinition.cs +++ b/src/compiler/NubLang/Syntax/Binding/Node/BoundDefinition.cs @@ -5,24 +5,22 @@ namespace NubLang.Syntax.Binding.Node; public abstract record BoundDefinition(IReadOnlyList Tokens, string Namespace) : BoundNode(Tokens); -public abstract record BoundDefinitionMember(IReadOnlyList Tokens) : BoundNode(Tokens); +public record BoundFuncParameter(IReadOnlyList Tokens, string Name, NubType Type) : BoundNode(Tokens); -public record BoundFuncParameter(IReadOnlyList Tokens, string Name, NubType Type) : BoundDefinitionMember(Tokens); - -public record BoundFuncSignature(IReadOnlyList Tokens, IReadOnlyList Parameters, NubType ReturnType) : BoundDefinitionMember(Tokens); +public record BoundFuncSignature(IReadOnlyList Tokens, IReadOnlyList Parameters, NubType ReturnType) : BoundNode(Tokens); public record BoundLocalFunc(IReadOnlyList Tokens, string Namespace, string Name, BoundFuncSignature Signature, BoundBlock Body) : BoundDefinition(Tokens, Namespace); public record BoundExternFunc(IReadOnlyList Tokens, string Namespace, string Name, string CallName, BoundFuncSignature Signature) : BoundDefinition(Tokens, Namespace); -public record BoundStructField(IReadOnlyList Tokens, int Index, string Name, NubType Type, Optional Value) : BoundDefinitionMember(Tokens); +public record BoundStructField(IReadOnlyList Tokens, int Index, string Name, NubType Type, Optional Value) : BoundNode(Tokens); public record BoundStruct(IReadOnlyList Tokens, string Namespace, string Name, IReadOnlyList Fields) : BoundDefinition(Tokens, Namespace); -public record BoundTraitFunc(IReadOnlyList Tokens, string Name, BoundFuncSignature Signature) : BoundDefinitionMember(Tokens); +public record BoundTraitFunc(IReadOnlyList Tokens, string Name, BoundFuncSignature Signature) : BoundNode(Tokens); public record BoundTrait(IReadOnlyList Tokens, string Namespace, string Name, IReadOnlyList Functions) : BoundDefinition(Tokens, Namespace); -public record BoundTraitFuncImpl(IReadOnlyList Tokens, string Name, BoundFuncSignature Signature, BoundBlock Body) : BoundDefinitionMember(Tokens); +public record BoundTraitFuncImpl(IReadOnlyList Tokens, string Name, BoundFuncSignature Signature, BoundBlock Body) : BoundNode(Tokens); public record BoundTraitImpl(IReadOnlyList Tokens, string Namespace, NubType TraitType, NubType ForType, IReadOnlyList Functions) : BoundDefinition(Tokens, Namespace); \ No newline at end of file diff --git a/src/compiler/NubLang/Syntax/Parsing/Node/DefinitionSyntax.cs b/src/compiler/NubLang/Syntax/Parsing/Node/DefinitionSyntax.cs index b36d337..a816e6e 100644 --- a/src/compiler/NubLang/Syntax/Parsing/Node/DefinitionSyntax.cs +++ b/src/compiler/NubLang/Syntax/Parsing/Node/DefinitionSyntax.cs @@ -5,24 +5,22 @@ namespace NubLang.Syntax.Parsing.Node; public abstract record DefinitionSyntax(IReadOnlyList Tokens, string Namespace) : SyntaxNode(Tokens); -public abstract record DefinitionMemberSyntax(IReadOnlyList Tokens) : SyntaxNode(Tokens); +public record FuncParameterSyntax(IReadOnlyList Tokens, string Name, TypeSyntax Type) : SyntaxNode(Tokens); -public record FuncParameterSyntax(IReadOnlyList Tokens, string Name, TypeSyntax Type) : DefinitionMemberSyntax(Tokens); - -public record FuncSignatureSyntax(IReadOnlyList Tokens, IReadOnlyList Parameters, TypeSyntax ReturnType) : DefinitionMemberSyntax(Tokens); +public record FuncSignatureSyntax(IReadOnlyList Tokens, IReadOnlyList Parameters, TypeSyntax ReturnType) : SyntaxNode(Tokens); public record LocalFuncSyntax(IReadOnlyList Tokens, string Namespace, string Name, FuncSignatureSyntax Signature, BlockSyntax Body) : DefinitionSyntax(Tokens, Namespace); public record ExternFuncSyntax(IReadOnlyList Tokens, string Namespace, string Name, string CallName, FuncSignatureSyntax Signature) : DefinitionSyntax(Tokens, Namespace); -public record StructFieldSyntax(IReadOnlyList Tokens, int Index, string Name, TypeSyntax Type, Optional Value) : DefinitionMemberSyntax(Tokens); +public record StructFieldSyntax(IReadOnlyList Tokens, int Index, string Name, TypeSyntax Type, Optional Value) : SyntaxNode(Tokens); public record StructSyntax(IReadOnlyList Tokens, string Namespace, string Name, IReadOnlyList Fields) : DefinitionSyntax(Tokens, Namespace); -public record TraitFuncSyntax(IReadOnlyList Tokens, string Name, FuncSignatureSyntax Signature) : DefinitionMemberSyntax(Tokens); +public record TraitFuncSyntax(IReadOnlyList Tokens, string Name, FuncSignatureSyntax Signature) : SyntaxNode(Tokens); public record TraitSyntax(IReadOnlyList Tokens, string Namespace, string Name, IReadOnlyList Functions) : DefinitionSyntax(Tokens, Namespace); -public record TraitFuncImplSyntax(IReadOnlyList Tokens, string Name, FuncSignatureSyntax Signature, BlockSyntax Body) : DefinitionMemberSyntax(Tokens); +public record TraitFuncImplSyntax(IReadOnlyList Tokens, string Name, FuncSignatureSyntax Signature, BlockSyntax Body) : SyntaxNode(Tokens); public record TraitImplSyntax(IReadOnlyList Tokens, string Namespace, TypeSyntax TraitType, TypeSyntax ForType, IReadOnlyList Functions) : DefinitionSyntax(Tokens, Namespace); \ No newline at end of file