void (final UUID sessionId, CmdlineRemoteProto.Message.BuilderMessage.CompileMessage message) { if (myProject.isDisposed()) { return; } final CmdlineRemoteProto.Message.BuilderMessage.CompileMessage.Kind kind = message.getKind(); if (kind == CmdlineRemoteProto.Message.BuilderMessage.CompileMessage.Kind.PROGRESS) { final ProblemsView view = ProblemsView.getInstance(myProject); if (message.hasDone()) { view.setProgress(message.getText(), message.getDone()); } else { view.setProgress(message.getText()); } } else { final CompilerMessageCategory category = CompileDriver.convertToCategory(kind, null); if (category != null) { // only process supported kinds of messages final String sourceFilePath = message.hasSourceFilePath() ? message.getSourceFilePath() : null; final String url = sourceFilePath != null ? VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(sourceFilePath)) : null; final long line = message.hasLine() ? message.getLine() : -1; final long column = message.hasColumn() ? message.getColumn() : -1; //noinspection HardCodedStringLiteral final CompilerMessage msg = myContext.createAndAddMessage(category, message.getText(), url, (int)line, (int)column, null, message.getModuleNamesList()); if (category == CompilerMessageCategory.ERROR || kind == CmdlineRemoteProto.Message.BuilderMessage.CompileMessage.Kind.JPS_INFO) { if (category == CompilerMessageCategory.ERROR) { ReadAction.run(() -> informWolf(message)); } if (msg != null) { ProblemsView.getInstance(myProject).addMessage(msg, sessionId); } } } } }