From e397cb61fd2cf56b9a2d6866cf94898b75ea74a3 Mon Sep 17 00:00:00 2001 From: nub31 Date: Thu, 24 Jul 2025 19:01:14 +0200 Subject: [PATCH] Remove mangledName --- .../NubLang/Parsing/Syntax/TypeSyntax.cs | 21 +------------------ .../NubLang/TypeChecking/TypeChecker.cs | 2 +- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/src/compiler/NubLang/Parsing/Syntax/TypeSyntax.cs b/src/compiler/NubLang/Parsing/Syntax/TypeSyntax.cs index 9850706..3613fc9 100644 --- a/src/compiler/NubLang/Parsing/Syntax/TypeSyntax.cs +++ b/src/compiler/NubLang/Parsing/Syntax/TypeSyntax.cs @@ -2,26 +2,7 @@ using NubLang.Tokenization; namespace NubLang.Parsing.Syntax; -public abstract record TypeSyntax(IEnumerable Tokens) : SyntaxNode(Tokens) -{ - public string MangledName() - { - return this switch - { - VoidTypeSyntax => "void", - CStringTypeSyntax => "cstring", - StringTypeSyntax => "string", - PointerTypeSyntax ptr => $"ptr_{ptr.BaseType.MangledName()}", - ArrayTypeSyntax arr => $"arr_{arr.BaseType.MangledName()}", - BoolTypeSyntax => "bool", - CustomTypeSyntax custom => $"custom_{custom.Name}", - FloatTypeSyntax @float => $"f{@float.Width}", - FuncTypeSyntax func => $"func_{string.Join("_", func.Parameters.Select(x => x.MangledName()))}_to_{func.ReturnType.MangledName()}", - IntTypeSyntax @int => $"{(@int.Signed ? "i" : "u")}{@int.Width}", - _ => throw new NotSupportedException($"Unknown type syntax: {GetType().Name}") - }; - } -} +public abstract record TypeSyntax(IEnumerable Tokens) : SyntaxNode(Tokens); public record FuncTypeSyntax(IEnumerable Tokens, IReadOnlyList Parameters, TypeSyntax ReturnType) : TypeSyntax(Tokens) { diff --git a/src/compiler/NubLang/TypeChecking/TypeChecker.cs b/src/compiler/NubLang/TypeChecking/TypeChecker.cs index 3329ead..27a43df 100644 --- a/src/compiler/NubLang/TypeChecking/TypeChecker.cs +++ b/src/compiler/NubLang/TypeChecking/TypeChecker.cs @@ -576,7 +576,7 @@ public sealed class TypeChecker ArrayTypeSyntax type => new ArrayTypeNode(CheckType(type.BaseType)), BoolTypeSyntax => new BoolTypeNode(), CStringTypeSyntax => new CStringTypeNode(), - CustomTypeSyntax type => new CustomTypeNode(type.MangledName()), + CustomTypeSyntax type => new CustomTypeNode(type.Name), FloatTypeSyntax @float => new FloatTypeNode(@float.Width), FuncTypeSyntax type => new FuncTypeNode(type.Parameters.Select(CheckType).ToList(), CheckType(type.ReturnType)), IntTypeSyntax @int => new IntTypeNode(@int.Signed, @int.Width),