internal/lsp: run analyses despite some errors

Updates golang/go#32247

Change-Id: Id474e62ea70676c782eb49dddebd64d7f274d2cf
Reviewed-on: https://go-review.googlesource.com/c/tools/+/179218
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
diff --git a/internal/lsp/source/analysis.go b/internal/lsp/source/analysis.go
index 46e64b4..b1e777f 100644
--- a/internal/lsp/source/analysis.go
+++ b/internal/lsp/source/analysis.go
@@ -158,7 +158,7 @@
 	}
 	act.pass = pass
 
-	if len(act.Pkg.GetErrors()) > 0 && !pass.Analyzer.RunDespiteErrors {
+	if act.Pkg.IsIllTyped() && !pass.Analyzer.RunDespiteErrors {
 		act.err = fmt.Errorf("analysis skipped due to errors in package: %v", act.Pkg.GetErrors())
 	} else {
 		act.result, act.err = pass.Analyzer.Run(pass)