From 26721d526eb7bc0cb19d79f4b67382781bdb4eeb Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Thu, 24 Sep 2009 20:27:45 +0400 Subject: [PATCH] canGenInstanceInfo() capability descriptor --- .../debugger/jdi/VirtualMachineProxyImpl.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) 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 48d6fa0c07d3..0f5a48caad56 100644 --- a/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java @@ -385,6 +385,30 @@ public class VirtualMachineProxyImpl implements JdiTimer, VirtualMachineProxy { return myPopFrames.isAvailable(); } + private final Capability myCanGetInstanceInfo = new Capability() { + protected boolean calcValue() { + if (!myVersionHigher_15) { + return false; + } + try { + final Method method = VirtualMachine.class.getMethod("canGetInstanceInfo"); + return (Boolean)method.invoke(myVirtualMachine); + } + catch (NoSuchMethodException ignored) { + } + catch (IllegalAccessException e) { + LOG.error(e); + } + catch (InvocationTargetException e) { + LOG.error(e); + } + return false; + } + }; + public boolean canGetInstanceInfo() { + return myCanGetInstanceInfo.isAvailable(); + } + public final boolean versionHigher(String version) { return myVirtualMachine.version().compareTo(version) >= 0; }