From d4d7c038302b130860cb5088c4df3ef017325564 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Mon, 5 Sep 2022 15:13:27 -0400 Subject: [PATCH] Function output default values are skimmed over --- parser/func.go | 7 +++++++ parser/skim_test.go | 1 + tests/parser/skim/main.arf | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/parser/func.go b/parser/func.go index 6b5f5c2..1722d9f 100644 --- a/parser/func.go +++ b/parser/func.go @@ -186,6 +186,13 @@ func (parser *ParsingOperation) parseFuncArguments ( if err != nil { return } output.what, err = parser.parseType() if err != nil { return } + + // skip the default value if we are skimming + if parser.skimming { + err = parser.skipIndentLevel(2) + into.outputs = append(into.outputs, output) + return + } // parse default value if parser.token.Is(lexer.TokenKindNewline) { diff --git a/parser/skim_test.go b/parser/skim_test.go index e00d48e..44eed97 100644 --- a/parser/skim_test.go +++ b/parser/skim_test.go @@ -21,6 +21,7 @@ func ro fComplexFunction external func ro gExternalFunction > x:Int + < arr:Int --- external `, test) diff --git a/tests/parser/skim/main.arf b/tests/parser/skim/main.arf index d5d389f..eefef04 100644 --- a/tests/parser/skim/main.arf +++ b/tests/parser/skim/main.arf @@ -34,5 +34,9 @@ func ro fComplexFunction func ro gExternalFunction > x:Int + < arr:Int 5 + 34908 + 39 3498 + 38 219 --- external