enable Inspect in debugger for long string attributes
[idea/community.git] / python / pydevSrc / com / jetbrains / python / debugger / PyDebugValue.java
index 26f81dddf56a56a4422ac917f9a9a3faa906d746..66eee2fb8a9112946c99709e4368ff896417dc1d 100644 (file)
@@ -15,7 +15,7 @@ import javax.swing.*;
 // todo: null modifier for modify modules, class objects etc.
 public class PyDebugValue extends XNamedValue {
   private static final Logger LOG = Logger.getInstance("#com.jetbrains.python.pydev.PyDebugValue");
-  public static final int MAX_VALUE = 512;
+  public static final int MAX_VALUE = 256;
 
   private String myTempName = null;
   private final String myType;
@@ -134,12 +134,23 @@ public class PyDebugValue extends XNamedValue {
     return "__len__".equals(name);
   }
 
+  private String getFullName() {
+    String result = myName;
+    PyDebugValue parent = myParent;
+    while (parent != null) {
+      result = "." + result;
+      result = parent.getName() + result;
+      parent = parent.getParent();
+    }
+    return result;
+  }
+
   @Override
   public void computePresentation(@NotNull XValueNode node, @NotNull XValuePlace place) {
     String value = PyTypeHandler.format(this);
 
     if (value.length() >= MAX_VALUE) {
-      node.setFullValueEvaluator(new PyFullValueEvaluator(myFrameAccessor, myName));
+      node.setFullValueEvaluator(new PyFullValueEvaluator(myFrameAccessor, getFullName()));
       value = value.substring(0, MAX_VALUE);
     }