From 80d3113c7f0b21f5ed9a050e0fd0f07b4b68463d Mon Sep 17 00:00:00 2001 From: Red Daly Date: Wed, 11 Oct 2023 21:10:25 -0700 Subject: [PATCH] Add another test case and TODO --- gazelle/kotlin/parser/parser.go | 1 + gazelle/kotlin/parser/parser_test.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/gazelle/kotlin/parser/parser.go b/gazelle/kotlin/parser/parser.go index 1774def99..05268543f 100644 --- a/gazelle/kotlin/parser/parser.go +++ b/gazelle/kotlin/parser/parser.go @@ -90,6 +90,7 @@ func (p *treeSitterParser) Parse(filePath, source string) (*ParseResult, []error } else if nodeI.Type() == "package_header" { if result.Package != "" { fmt.Printf("Multiple package declarations found in %s\n", filePath) + // TODO: Don't exit here and return an error instead? os.Exit(1) } diff --git a/gazelle/kotlin/parser/parser_test.go b/gazelle/kotlin/parser/parser_test.go index ada6d1c5e..478b8f699 100644 --- a/gazelle/kotlin/parser/parser_test.go +++ b/gazelle/kotlin/parser/parser_test.go @@ -52,6 +52,20 @@ import /* fdsa */ d/* asdf */.* // w pkg: "x", imports: []string{"a", "c", "d"}, }, + { + desc: "value class", + kt: ` +import a.b.C +import c.d.E as EEE + +// Maybe xyz.numbers should be an import? +@JvmInline +value class Energy(val kwh: xyz.numbers.Double) { fun thing(): Unit {}} + `, + filename: "simple.kt", + pkg: "", + imports: []string{"a.b", "c.d"}, + }, } func TestTreesitterParser(t *testing.T) {