EA-59357 - ISFE: StackFrameProxyImpl.isLocalVariableVisible
authorEgor.Ushakov <egor.ushakov@jetbrains.com>
Tue, 24 Feb 2015 14:46:21 +0000 (17:46 +0300)
committerEgor.Ushakov <egor.ushakov@jetbrains.com>
Tue, 24 Feb 2015 14:48:39 +0000 (17:48 +0300)
java/debugger/impl/src/com/intellij/debugger/jdi/StackFrameProxyImpl.java

index d084c0308b72372e102ab8b9959e2ddc01c0ac67..cc0a18951971e9781604df530ace39dbf85d906e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -84,6 +84,21 @@ public class StackFrameProxyImpl extends JdiProxy implements StackFrameProxy {
     throw new EvaluateException(error.getMessage(), error);
   }
 
+  @Override
+  public boolean isValid() {
+    if (!super.isValid()) {
+      return false;
+    }
+    try {
+      if (myStackFrame != null) {
+        myStackFrame.location(); //extra check if jdi frame is valid
+      }
+      return true;
+    } catch (InvalidStackFrameException e) {
+      return false;
+    }
+  }
+
   @Override
   protected void clearCaches() {
     DebuggerManagerThreadImpl.assertIsManagerThread();