continue firefox rdp — handle frameUpdate(destroyAll=true) event, init break support...
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Fri, 2 Jan 2015 15:35:08 +0000 (16:35 +0100)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Fri, 2 Jan 2015 15:52:31 +0000 (16:52 +0100)
platform/script-debugger/backend/src/org/jetbrains/debugger/SuspendContext.java
platform/script-debugger/backend/src/org/jetbrains/debugger/SuspendContextManager.java
platform/script-debugger/backend/src/org/jetbrains/debugger/SuspendContextManagerBase.java
platform/script-debugger/debugger-ui/src/org/jetbrains/debugger/frame/ExecutionStackImpl.java
platform/script-debugger/protocol/protocol-reader/src/org/jetbrains/protocolReader/FieldProcessor.java

index 4c77dcff01073d99218733971f56e61b0b51c08e..de6389ee2cac935568e42ed3f5debfcc47da7706 100755 (executable)
@@ -32,7 +32,7 @@ public interface SuspendContext {
    * Call frames for the current suspended state (from the innermost (top) frame to the main (bottom) frame)
    */
   @NotNull
-  Promise<CallFrame[]> getCallFrames();
+  Promise<CallFrame[]> getFrames();
 
   /**
    * @return a set of the breakpoints hit on VM suspension with which this
index b39f6f38496cb94afa62d51224e040f563d0a8b3..479774d9c57b0936dde079aa9da8663ceeed9a4c 100644 (file)
@@ -10,7 +10,7 @@ public interface SuspendContextManager<CALL_FRAME extends CallFrame> {
    * will be called.
    */
   @NotNull
-  Promise<Void> suspend();
+  Promise<?> suspend();
 
   @Nullable
   SuspendContext getContext();
index 16610b84295a5ad2bb1d72c3709140e2b0c9d796..ce3b97bd128e1b8a43147bf20b4fca1d59b6c5d6 100644 (file)
@@ -43,7 +43,7 @@ public abstract class SuspendContextManagerBase<T extends SuspendContextBase, CA
 
   @NotNull
   @Override
-  public final Promise<Void> suspend() {
+  public final Promise<?> suspend() {
     Promise<Void> callback = suspendCallback.get();
     if (callback != null) {
       return callback;
@@ -56,7 +56,7 @@ public abstract class SuspendContextManagerBase<T extends SuspendContextBase, CA
   }
 
   @NotNull
-  protected abstract Promise<Void> doSuspend();
+  protected abstract Promise<?> doSuspend();
 
   @Override
   public boolean isContextObsolete(@NotNull SuspendContext context) {
index 033efead7dae2df758c130200a1eb447717c74ef..05a69106287d04e3ddd2bab93379b74afffbf769 100644 (file)
@@ -42,7 +42,7 @@ public class ExecutionStackImpl extends XExecutionStack {
       return;
     }
 
-    suspendContext.getCallFrames().done(new ContextDependentAsyncResultConsumer<CallFrame[]>(suspendContext) {
+    suspendContext.getFrames().done(new ContextDependentAsyncResultConsumer<CallFrame[]>(suspendContext) {
       @Override
       protected void consume(CallFrame[] frames, @NotNull Vm vm) {
         int count = frames.length - firstFrameIndex;
index 3925239a98d2888f7a867a42b15871a3f3f8a75b..1acdee3f8f8f97e644042cd4847e1f2e538fe45e 100644 (file)
@@ -67,7 +67,7 @@ final class FieldProcessor<T> {
     if (method.getAnnotation(JsonNullable.class) != null) {
       nullable = true;
     }
-    else if (genericReturnType == String.class || genericReturnType == Enum.class) {
+    else if (genericReturnType == String.class || genericReturnType == Enum.class || (genericReturnType instanceof Class && !((Class)genericReturnType).isPrimitive())) {
       JsonField jsonField = method.getAnnotation(JsonField.class);
       if (jsonField != null) {
         nullable = jsonField.optional() && !jsonField.allowAnyPrimitiveValue() && !jsonField.allowAnyPrimitiveValueAndMap();