aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/testdata/noparse/noparse.go.in
diff options
context:
space:
mode:
Diffstat (limited to 'gopls/internal/lsp/testdata/noparse/noparse.go.in')
-rw-r--r--gopls/internal/lsp/testdata/noparse/noparse.go.in24
1 files changed, 24 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/noparse/noparse.go.in b/gopls/internal/lsp/testdata/noparse/noparse.go.in
new file mode 100644
index 000000000..8b0bfaa03
--- /dev/null
+++ b/gopls/internal/lsp/testdata/noparse/noparse.go.in
@@ -0,0 +1,24 @@
+package noparse
+
+// The type error was chosen carefully to exercise a type-error analyzer.
+// We use the 'nonewvars' analyzer because the other candidates are tricky:
+//
+// - The 'unusedvariable' analyzer is disabled by default, so it is not
+// consistently enabled across Test{LSP,CommandLine} tests, which
+// both process this file.
+// - The 'undeclaredname' analyzer depends on the text of the go/types
+// "undeclared name" error, which changed in go1.20.
+// - The 'noresultvalues' analyzer produces a diagnostic containing newlines,
+// which breaks the parser used by TestCommandLine.
+//
+// This comment is all that remains of my afternoon.
+
+func bye(x int) {
+ x := 123 //@diag(":=", "nonewvars", "no new variables", "warning")
+}
+
+func stuff() {
+
+}
+
+func .() {} //@diag(".", "syntax", "expected 'IDENT', found '.'", "error")