diff --git a/src/compiler/Generation/QBE/QBEWriter.cs b/src/compiler/Generation/QBE/QBEWriter.cs index 25e5eec..71064ba 100644 --- a/src/compiler/Generation/QBE/QBEWriter.cs +++ b/src/compiler/Generation/QBE/QBEWriter.cs @@ -4,7 +4,7 @@ using Syntax.Typing.BoundNode; namespace Generation.QBE; -public class QBEWriter +internal class QBEWriter { private readonly StringBuilder _builder = new(); private int _currentLine = -1; diff --git a/src/compiler/Syntax/DefinitionTable.cs b/src/compiler/Syntax/DefinitionTable.cs index 4df8f31..23720b5 100644 --- a/src/compiler/Syntax/DefinitionTable.cs +++ b/src/compiler/Syntax/DefinitionTable.cs @@ -15,7 +15,7 @@ public class DefinitionTable _syntaxTrees = syntaxTrees; } - public Optional LookupFunc(string @namespace, string name) + public Optional LookupFunction(string @namespace, string name) { var definition = _syntaxTrees .Where(c => c.Namespace == @namespace) @@ -43,6 +43,13 @@ public class DefinitionTable .SelectMany(c => c.Definitions) .OfType(); } + + public IEnumerable GetFunctions() + { + return _syntaxTrees + .SelectMany(c => c.Definitions) + .OfType(); + } } public class BoundDefinitionTable @@ -82,4 +89,11 @@ public class BoundDefinitionTable .SelectMany(c => c.Definitions) .OfType(); } + + public IEnumerable GetFunctions() + { + return _syntaxTrees + .SelectMany(c => c.Definitions) + .OfType(); + } } \ No newline at end of file diff --git a/src/compiler/Syntax/Typing/Binder.cs b/src/compiler/Syntax/Typing/Binder.cs index 8899181..4adf6ce 100644 --- a/src/compiler/Syntax/Typing/Binder.cs +++ b/src/compiler/Syntax/Typing/Binder.cs @@ -315,7 +315,7 @@ public static class Binder { NubType? type = null; - var definition = _definitionTable.LookupFunc(expression.Namespace.Or(_syntaxTree.Namespace), expression.Name); + var definition = _definitionTable.LookupFunction(expression.Namespace.Or(_syntaxTree.Namespace), expression.Name); if (definition.HasValue) { type = new NubFuncType(definition.Value.ReturnType, definition.Value.Parameters.Select(p => p.Type).ToList());