--Add support for resolving source positions inside inner level elements
[idea/community.git] / python / pydevSrc / com / jetbrains / python / debugger / PyFrameAccessor.java
1 package com.jetbrains.python.debugger;
2
3 import com.intellij.xdebugger.XSourcePosition;
4 import com.intellij.xdebugger.frame.XValueChildrenList;
5 import org.jetbrains.annotations.Nullable;
6
7 /**
8  * Facade to access python variables frame
9  *
10  * @author traff
11  */
12 public interface PyFrameAccessor {
13   PyDebugValue evaluate(final String expression, final boolean execute, boolean doTrunc) throws PyDebuggerException;
14
15   @Nullable
16   XValueChildrenList loadFrame() throws PyDebuggerException;
17
18   XValueChildrenList loadVariable(PyDebugValue var) throws PyDebuggerException;
19
20   void changeVariable(PyDebugValue variable, String expression) throws PyDebuggerException;
21
22   @Nullable
23   PyReferrersLoader getReferrersLoader();
24
25   ArrayChunk getArrayItems(PyDebugValue var, int rowOffset, int colOffset, int rows, int cols, String format) throws PyDebuggerException;
26
27   @Nullable
28   XSourcePosition getSourcePositionForName(String name, String parentType);
29
30   @Nullable
31   XSourcePosition getSourcePositionForType(String type);
32 }