org.eclipse.core.runtime.ProgressMonitorWrapper Java Examples
The following examples show how to use
org.eclipse.core.runtime.ProgressMonitorWrapper.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TypeScriptBuilder.java From typescript.java with MIT License | 5 votes |
private IProgressMonitor getSubMonitor(IProgressMonitor monitor) { // we need to use the parent SubMonitor otherwise SubMonitor#worked, etc doesn't work? // See article // https://medium.com/@jgwest/debugging-eclipse-subprogressmonitor-and-submonitor-0-work-completed-or-work-not-reported-f482c71cc85c if (monitor instanceof ProgressMonitorWrapper) { return getSubMonitor(((ProgressMonitorWrapper) monitor).getWrappedProgressMonitor()); } return monitor; }
Example #2
Source File: CompletionHandler.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
private CompletionList computeContentAssist(ICompilationUnit unit, int line, int column, IProgressMonitor monitor) throws JavaModelException { CompletionResponses.clear(); if (unit == null) { return null; } List<CompletionItem> proposals = new ArrayList<>(); final int offset = JsonRpcHelpers.toOffset(unit.getBuffer(), line, column); CompletionProposalRequestor collector = new CompletionProposalRequestor(unit, offset, manager); // Allow completions for unresolved types - since 3.3 collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_REF, true); collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_IMPORT, true); collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true); collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_REF, true); collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_IMPORT, true); collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true); collector.setAllowsRequiredProposals(CompletionProposal.CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, CompletionProposal.TYPE_REF, true); collector.setAllowsRequiredProposals(CompletionProposal.TYPE_REF, CompletionProposal.TYPE_REF, true); collector.setFavoriteReferences(getFavoriteStaticMembers()); if (offset >-1 && !monitor.isCanceled()) { IBuffer buffer = unit.getBuffer(); if (buffer != null && buffer.getLength() >= offset) { IProgressMonitor subMonitor = new ProgressMonitorWrapper(monitor) { private long timeLimit; private final long TIMEOUT = Long.getLong("completion.timeout", 5000); @Override public void beginTask(String name, int totalWork) { timeLimit = System.currentTimeMillis() + TIMEOUT; } @Override public boolean isCanceled() { return super.isCanceled() || timeLimit <= System.currentTimeMillis(); } }; try { if (isIndexEngineEnabled()) { unit.codeComplete(offset, collector, subMonitor); } else { ModelBasedCompletionEngine.codeComplete(unit, offset, collector, DefaultWorkingCopyOwner.PRIMARY, subMonitor); } proposals.addAll(collector.getCompletionItems()); if (isSnippetStringSupported() && !UNSUPPORTED_RESOURCES.contains(unit.getResource().getName())) { proposals.addAll(SnippetCompletionProposal.getSnippets(unit, collector.getContext(), subMonitor)); } proposals.addAll(new JavadocCompletionProposal().getProposals(unit, offset, collector, subMonitor)); } catch (OperationCanceledException e) { monitor.setCanceled(true); } } } proposals.sort(PROPOSAL_COMPARATOR); CompletionList list = new CompletionList(proposals); list.setIsIncomplete(!collector.isComplete()); return list; }