/** * Notifies the described extension of a proposal computation session start. * * <p><em> Note: This method is called every time code assist is invoked and is * <strong>not</strong> filtered by partition type. </em> */ public void sessionStarted() { if (!isEnabled()) return; IStatus status; try { IRubyCompletionProposalComputer computer = getComputer(); if (computer == null) // not active yet return; PerformanceStats stats = startMeter(SESSION_STARTED, computer); computer.sessionStarted(); stopMeter(stats, SESSION_ENDED); return; } catch (InvalidRegistryObjectException x) { status = createExceptionStatus(x); } catch (CoreException x) { status = createExceptionStatus(x); } catch (RuntimeException x) { status = createExceptionStatus(x); } fRegistry.informUser(this, status); }