diff --git a/Nub.Lang/Nub.Lang/Branching/BranchChecker.cs b/Nub.Lang/Nub.Lang/Branching/BranchChecker.cs deleted file mode 100644 index 5223c46..0000000 --- a/Nub.Lang/Nub.Lang/Branching/BranchChecker.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Nub.Lang.Parsing; - -namespace Nub.Lang.Branching; - -public class BranchChecker -{ - private readonly IReadOnlyCollection _definitions; - - public BranchChecker(IReadOnlyCollection definitions) - { - _definitions = definitions; - } - - public void Check() - { - foreach (var funcDefinition in _definitions.OfType()) - { - if (funcDefinition.ReturnType.HasValue) - { - CheckBlock(funcDefinition.Body); - } - } - } - - private void CheckBlock(BlockNode block) - { - if (!block.Statements.Any(s => s is ReturnNode)) - { - throw new Exception("Block must contain a return statement"); - } - } -} \ No newline at end of file diff --git a/Nub.Lang/Nub.Lang/Program.cs b/Nub.Lang/Nub.Lang/Program.cs index df63529..5492bed 100644 --- a/Nub.Lang/Nub.Lang/Program.cs +++ b/Nub.Lang/Nub.Lang/Program.cs @@ -1,5 +1,4 @@ -using Nub.Lang.Branching; -using Nub.Lang.Generation; +using Nub.Lang.Generation; using Nub.Lang.Lexing; using Nub.Lang.Parsing; using Nub.Lang.Typing; @@ -15,9 +14,6 @@ var definitions = parser.Parse(); var typer = new ExpressionTyper(definitions); typer.Populate(); -var branchChecker = new BranchChecker(definitions); -branchChecker.Check(); - var generator = new Generator(definitions); var asm = generator.Generate();