summaryrefslogtreecommitdiff
path: root/platform/xdebugger-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/xdebugger-api/src')
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/XDebugSession.java18
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/frame/XNearestSourcePosition.java22
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/frame/XReferrersProvider.java23
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValue.java5
4 files changed, 64 insertions, 4 deletions
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugSession.java b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugSession.java
index 33fa877064db..5e43a76c6c6d 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugSession.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugSession.java
@@ -61,9 +61,20 @@ public interface XDebugSession extends AbstractDebuggerSession {
XSuspendContext getSuspendContext();
+ /**
+ * Position from the current frame
+ * @return
+ */
@Nullable
XSourcePosition getCurrentPosition();
+ /**
+ * Position from the top frame
+ * @return
+ */
+ @Nullable
+ XSourcePosition getTopFramePosition();
+
void stepOver(boolean ignoreBreakpoints);
void stepInto();
@@ -80,13 +91,12 @@ public interface XDebugSession extends AbstractDebuggerSession {
void showExecutionPoint();
- void setCurrentStackFrame(@NotNull XExecutionStack executionStack, @NotNull XStackFrame frame);
+ void setCurrentStackFrame(@NotNull XExecutionStack executionStack, @NotNull XStackFrame frame, boolean isTopFrame);
/**
- * @deprecated use {@link #setCurrentStackFrame(com.intellij.xdebugger.frame.XExecutionStack, com.intellij.xdebugger.frame.XStackFrame)} instead
+ * @deprecated use {@link #setCurrentStackFrame(com.intellij.xdebugger.frame.XExecutionStack, com.intellij.xdebugger.frame.XStackFrame, boolean)} instead
*/
- @SuppressWarnings("UnusedDeclaration")
- void setCurrentStackFrame(@NotNull XStackFrame frame);
+ void setCurrentStackFrame(@NotNull XExecutionStack executionStack, @NotNull XStackFrame frame);
/**
* Call this method to setup custom icon and/or error message (it will be shown in tooltip) for breakpoint
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XNearestSourcePosition.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XNearestSourcePosition.java
new file mode 100644
index 000000000000..87abf3da3b21
--- /dev/null
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XNearestSourcePosition.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2000-2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.xdebugger.frame;
+
+/**
+ * @author Konstantin Bulenkov
+ */
+public interface XNearestSourcePosition extends XNavigatable {
+}
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XReferrersProvider.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XReferrersProvider.java
new file mode 100644
index 000000000000..9f9f3a8bf407
--- /dev/null
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XReferrersProvider.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2000-2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.xdebugger.frame;
+
+/**
+ * @author traff
+ */
+public interface XReferrersProvider<T extends XValue> {
+ T getReferringObjectsValue();
+}
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValue.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValue.java
index ff2b3303d4da..9cfa2fb15af4 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValue.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValue.java
@@ -87,4 +87,9 @@ public abstract class XValue extends XValueContainer {
public void computeTypeSourcePosition(@NotNull XNavigatable navigatable) {
navigatable.setSourcePosition(null);
}
+
+ @Nullable
+ public XReferrersProvider getReferrersProvider() {
+ return null;
+ }
} \ No newline at end of file