Search in sources :

Example 1 with Obj

use of org.dartlang.vm.service.element.Obj in project flutter-intellij by flutter.

the class CanonicalBreakpoint method getScriptSync.

@Nullable
public Script getScriptSync(@NotNull final String isolateId, @NotNull final String scriptId) {
    assertSyncRequestAllowed();
    final Semaphore semaphore = new Semaphore();
    semaphore.down();
    final Ref<Script> resultRef = Ref.create();
    addRequest(() -> myVmService.getObject(isolateId, scriptId, new GetObjectConsumer() {

        @Override
        public void received(Obj script) {
            resultRef.set((Script) script);
            semaphore.up();
        }

        @Override
        public void received(Sentinel response) {
            semaphore.up();
        }

        @Override
        public void onError(RPCError error) {
            semaphore.up();
        }
    }));
    semaphore.waitFor(RESPONSE_WAIT_TIMEOUT);
    return resultRef.get();
}
Also used : Script(org.dartlang.vm.service.element.Script) Sentinel(org.dartlang.vm.service.element.Sentinel) Obj(org.dartlang.vm.service.element.Obj) GetObjectConsumer(org.dartlang.vm.service.consumer.GetObjectConsumer) RPCError(org.dartlang.vm.service.element.RPCError) Semaphore(com.intellij.util.concurrency.Semaphore) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

Semaphore (com.intellij.util.concurrency.Semaphore)1 GetObjectConsumer (org.dartlang.vm.service.consumer.GetObjectConsumer)1 Obj (org.dartlang.vm.service.element.Obj)1 RPCError (org.dartlang.vm.service.element.RPCError)1 Script (org.dartlang.vm.service.element.Script)1 Sentinel (org.dartlang.vm.service.element.Sentinel)1 Nullable (org.jetbrains.annotations.Nullable)1