package sk.stuba.fiit.perconik.core.debug.listeners; import org.eclipse.jface.text.contentassist.ContentAssistEvent; import org.eclipse.jface.text.contentassist.ICompletionProposal; import sk.stuba.fiit.perconik.core.debug.AbstractDebugListener; import sk.stuba.fiit.perconik.core.debug.Debug; import sk.stuba.fiit.perconik.core.debug.runtime.DebugConsole; import sk.stuba.fiit.perconik.core.listeners.CompletionListener; public final class CompletionDebugListener extends AbstractDebugListener implements CompletionListener { public CompletionDebugListener() {} public CompletionDebugListener(final DebugConsole console) { super(console); } public void assistSessionStarted(final ContentAssistEvent event) { this.printHeader("Content assist session started"); this.printContentAssistEvent(event); } public void assistSessionRestarted(final ContentAssistEvent event) { this.printHeader("Content assist session"); this.printContentAssistEvent(event); } public void assistSessionEnded(final ContentAssistEvent event) { this.printHeader("Content assist session"); this.printContentAssistEvent(event); } public void applied(final ICompletionProposal proposal) { this.printHeader("Completion proposal applied"); this.printCompletionProposal(proposal); } public void selectionChanged(final ICompletionProposal proposal, final boolean smart) { this.printHeader("Completion proposal selection changed"); this.printCompletionProposal(proposal); this.printLine("smart", smart); } private void printContentAssistEvent(final ContentAssistEvent event) { this.put(Debug.dumpContentAssistEvent(event)); } private void printCompletionProposal(final ICompletionProposal proposal) { this.put(Debug.dumpCompletionProposal(proposal)); } }