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;
}
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);
}
}
Aggregations