renamed "Output" back to "Console"
[idea/community.git] / python / edu / src / com / jetbrains / python / edu / debugger / PyEduDebugTransformer.java
1 package com.jetbrains.python.edu.debugger;
2
3 import com.intellij.util.containers.hash.HashMap;
4 import com.intellij.xdebugger.frame.XValue;
5 import com.intellij.xdebugger.frame.XValueChildrenList;
6 import com.jetbrains.python.debugger.PyDebugValueTransformer;
7 import org.jetbrains.annotations.NotNull;
8
9 import java.util.Map;
10
11 public class PyEduDebugTransformer implements PyDebugValueTransformer {
12   @Override
13   public XValueChildrenList getTransformedChildren(@NotNull XValueChildrenList children) {
14     XValueChildrenList list = new XValueChildrenList();
15     Map<String, XValue> magicValues = new HashMap<String, XValue>();
16     for (int i = 0; i < children.size(); i++) {
17       String name = children.getName(i);
18       XValue value = children.getValue(i);
19       if (name.startsWith("__") && name.endsWith("__")) {
20         magicValues.put(name, value);
21       }
22       else {
23         list.add(name, value);
24       }
25     }
26     if (!magicValues.isEmpty()) {
27       list.add(new PyEduMagicDebugValue("magic variables", magicValues));
28     }
29     return list;
30   }
31 }