Search in sources :

Example 1 with ConstructorInstancesTracker

use of com.intellij.debugger.memory.tracking.ConstructorInstancesTracker in project intellij-community by JetBrains.

the class ClassesFilteredView method isShowNewInstancesEvent.

private boolean isShowNewInstancesEvent(@NotNull MouseEvent e) {
    final int col = myTable.columnAtPoint(e.getPoint());
    final int row = myTable.rowAtPoint(e.getPoint());
    if (col == -1 || row == -1 || myTable.convertColumnIndexToModel(col) != DIFF_COLUMN_INDEX) {
        return false;
    }
    final int modelRow = myTable.convertRowIndexToModel(row);
    final ReferenceType ref = (ReferenceType) myTable.getModel().getValueAt(modelRow, CLASSNAME_COLUMN_INDEX);
    final ConstructorInstancesTracker tracker = myConstructorTrackedClasses.getOrDefault(ref, null);
    return tracker != null && tracker.isReady() && tracker.getCount() > 0;
}
Also used : ConstructorInstancesTracker(com.intellij.debugger.memory.tracking.ConstructorInstancesTracker) ReferenceType(com.sun.jdi.ReferenceType)

Example 2 with ConstructorInstancesTracker

use of com.intellij.debugger.memory.tracking.ConstructorInstancesTracker in project intellij-community by JetBrains.

the class ClassesFilteredView method trackClass.

private void trackClass(@NotNull XDebugSession session, @NotNull ReferenceType ref, @NotNull TrackingType type, boolean isTrackerEnabled) {
    LOG.assertTrue(DebuggerManager.getInstance(myProject).isDebuggerManagerThread());
    if (type == TrackingType.CREATION) {
        final ConstructorInstancesTracker old = myConstructorTrackedClasses.getOrDefault(ref, null);
        if (old != null) {
            Disposer.dispose(old);
        }
        final ConstructorInstancesTracker tracker = new ConstructorInstancesTracker(ref, session, myInstancesTracker);
        tracker.setBackgroundMode(!myIsActive);
        if (isTrackerEnabled) {
            tracker.enable();
        } else {
            tracker.disable();
        }
        Disposer.register(this, tracker);
        myConstructorTrackedClasses.put(ref, tracker);
    }
}
Also used : ConstructorInstancesTracker(com.intellij.debugger.memory.tracking.ConstructorInstancesTracker)

Aggregations

ConstructorInstancesTracker (com.intellij.debugger.memory.tracking.ConstructorInstancesTracker)2 ReferenceType (com.sun.jdi.ReferenceType)1