Skip to content
Snippets Groups Projects

Send diagnostics for each file separately

Closed Miklos Magyari requested to merge pubdiag into main
2 files
+ 22
16
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -21,6 +21,9 @@ import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.eclipse.lsp4j.Diagnostic;
import org.eclipse.lsp4j.PublishDiagnosticsParams;
import org.eclipse.titan.lsp.TitanLanguageServer;
import org.eclipse.titan.lsp.AST.Assignment;
import org.eclipse.titan.lsp.AST.Module;
import org.eclipse.titan.lsp.AST.TTCN3.definitions.TTCN3Module;
@@ -28,7 +31,10 @@ import org.eclipse.titan.lsp.common.logging.ErrorReporter;
import org.eclipse.titan.lsp.common.logging.TITANDebugConsole;
import org.eclipse.titan.lsp.common.product.Configuration;
import org.eclipse.titan.lsp.core.LoadBalancingUtilities;
import org.eclipse.titan.lsp.core.Project;
import org.eclipse.titan.lsp.core.ProjectItem;
import org.eclipse.titan.lsp.parsers.CompilationTimeStamp;
import org.eclipse.titan.lsp.parsers.GlobalParser;
/**
* Helper class to check broken parts.
@@ -193,6 +199,22 @@ public final class BrokenPartsChecker {
final long now = System.nanoTime();
TITANDebugConsole.println(" **It took (" + (absoluteStart2 - absoluteStart) + "," + (now - absoluteStart) + ") " + (now - absoluteStart2) * (1e-9) + " seconds for Titan to check " + module.getName());
final Path path = module.getIdentifier().getLocation().getFile().toPath();
final ProjectItem projectItem = Project.INSTANCE.getProjectItem(path);
final List<Diagnostic> markerList = projectItem.getMarkerList();
if (markerList != null) {
PublishDiagnosticsParams diagpar;
if (projectItem.isUntitled()) {
final String fname = "untitled:" + path.getFileName().toString();
diagpar = new PublishDiagnosticsParams(fname, projectItem.getMarkerList());
} else {
diagpar = new PublishDiagnosticsParams(path.toUri().toString(), projectItem.getMarkerList());
}
if (diagpar != null) {
TitanLanguageServer.getClient().publishDiagnostics(diagpar);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Loading