mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
reverted: add messages to context synchronously to ensure that all messages processed before session terminates
This commit is contained in:
@@ -86,7 +86,6 @@ import com.intellij.util.Function;
|
||||
import com.intellij.util.StringBuilderSpinAllocator;
|
||||
import com.intellij.util.ThrowableRunnable;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import com.intellij.util.concurrency.SequentialTaskExecutor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -105,7 +104,6 @@ import org.jetbrains.jps.incremental.Utils;
|
||||
import javax.swing.*;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static org.jetbrains.jps.api.CmdlineRemoteProto.Message.ControllerMessage.ParametersMessage.TargetTypeBuildScope;
|
||||
@@ -445,12 +443,6 @@ public class CompileDriver {
|
||||
final BuildManager buildManager = BuildManager.getInstance();
|
||||
buildManager.cancelAutoMakeTasks(myProject);
|
||||
return buildManager.scheduleBuild(myProject, compileContext.isRebuild(), compileContext.isMake(), scopes, paths, builderParams, new DefaultMessageHandler(myProject) {
|
||||
private final SequentialTaskExecutor myContextUpdater = new SequentialTaskExecutor(new Executor() {
|
||||
@Override
|
||||
public void execute(Runnable command) {
|
||||
ApplicationManager.getApplication().executeOnPooledThread(command);
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void buildStarted(UUID sessionId) {
|
||||
@@ -459,22 +451,15 @@ public class CompileDriver {
|
||||
@Override
|
||||
public void sessionTerminated(final UUID sessionId) {
|
||||
if (compileContext.shouldUpdateProblemsView()) {
|
||||
myContextUpdater.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!myProject.isDisposed()) {
|
||||
final ProblemsView view = ProblemsViewImpl.SERVICE.getInstance(myProject);
|
||||
view.clearProgress();
|
||||
view.clearOldMessages(compileContext.getCompileScope(), sessionId);
|
||||
}
|
||||
}
|
||||
});
|
||||
final ProblemsView view = ProblemsViewImpl.SERVICE.getInstance(myProject);
|
||||
view.clearProgress();
|
||||
view.clearOldMessages(compileContext.getCompileScope(), sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFailure(UUID sessionId, CmdlineRemoteProto.Message.Failure failure) {
|
||||
submitMessage(CompilerMessageCategory.ERROR, failure.getDescription(), null, -1, -1);
|
||||
compileContext.addMessage(CompilerMessageCategory.ERROR, failure.getDescription(), null, -1, -1);
|
||||
final String trace = failure.getStacktrace();
|
||||
if (trace != null) {
|
||||
LOG.info(trace);
|
||||
@@ -506,19 +491,10 @@ public class CompileDriver {
|
||||
final long line = message.hasLine() ? message.getLine() : -1;
|
||||
final long column = message.hasColumn() ? message.getColumn() : -1;
|
||||
final String srcUrl = sourceFilePath != null ? VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, sourceFilePath) : null;
|
||||
submitMessage(category, messageText, srcUrl, (int)line, (int)column);
|
||||
compileContext.addMessage(category, messageText, srcUrl, (int)line, (int)column);
|
||||
}
|
||||
}
|
||||
|
||||
private void submitMessage(final CompilerMessageCategory category, final String messageText, final String srcUrl, final int line, final int column) {
|
||||
myContextUpdater.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
compileContext.addMessage(category, messageText, srcUrl, line, column);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleBuildEvent(UUID sessionId, CmdlineRemoteProto.Message.BuilderMessage.BuildEvent event) {
|
||||
final CmdlineRemoteProto.Message.BuilderMessage.BuildEvent.Type eventType = event.getEventType();
|
||||
|
||||
@@ -714,7 +714,7 @@ public class Main {
|
||||
assert findClassFile("Client")
|
||||
}
|
||||
|
||||
public void "test navigate from stub to source"() {
|
||||
public void "_test navigate from stub to source"() {
|
||||
GroovyFile groovyFile = (GroovyFile) myFixture.addFileToProject("a.groovy", "class Groovy3 { InvalidType type }")
|
||||
myFixture.addClass("class Java4 extends Groovy3 {}").containingFile
|
||||
|
||||
|
||||
Reference in New Issue
Block a user