diff --git a/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java b/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java index c703680f5581..109b51ec507e 100644 --- a/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java @@ -68,6 +68,8 @@ public class VirtualMachineProxyImpl implements JdiTimer, VirtualMachineProxy { canWatchFieldModification(); canPopFrames(); + virtualMachine.allClasses(); // this will cache classes inside JDI and enable faster search of classes later + List groups = virtualMachine.topLevelThreadGroups(); for (ThreadGroupReference threadGroupReference : groups) { threadGroupCreated(threadGroupReference); @@ -120,10 +122,11 @@ public class VirtualMachineProxyImpl implements JdiTimer, VirtualMachineProxy { } public List allClasses() { - if (myAllClasses == null) { - myAllClasses = myVirtualMachine.allClasses(); + List allClasses = myAllClasses; + if (allClasses == null) { + myAllClasses = allClasses = myVirtualMachine.allClasses(); } - return myAllClasses; + return allClasses; } public String toString() {