From 217df5bd3360ef02e17ea03c6890176442c7f90b Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 26 Feb 2015 10:12:22 +0100 Subject: [PATCH] =?UTF-8?q?don't=20create=20new=20call=20frame=20view=20if?= =?UTF-8?q?=20it=20is=20first=20frame=20=E2=80=94=20otherwise=20FRAME=5FCH?= =?UTF-8?q?ANGED=20event=20will=20be=20fired=20and=20variables=20tree=20wi?= =?UTF-8?q?ll=20be=20calculated=20twice=20maybe=20platform=20should=20be?= =?UTF-8?q?=20changed,=20will=20be=20investigated=20later,=20in=20any=20ca?= =?UTF-8?q?se=20our=20impl=20should=20work=20correctly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../debugger/frame/ExecutionStackImpl.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/platform/script-debugger/debugger-ui/src/org/jetbrains/debugger/frame/ExecutionStackImpl.java b/platform/script-debugger/debugger-ui/src/org/jetbrains/debugger/frame/ExecutionStackImpl.java index d3f4da0c2a48..43030ab764d9 100644 --- a/platform/script-debugger/debugger-ui/src/org/jetbrains/debugger/frame/ExecutionStackImpl.java +++ b/platform/script-debugger/debugger-ui/src/org/jetbrains/debugger/frame/ExecutionStackImpl.java @@ -1,3 +1,18 @@ +/* + * Copyright 2000-2015 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 org.jetbrains.debugger.frame; import com.intellij.xdebugger.frame.XExecutionStack; @@ -53,6 +68,11 @@ class ExecutionStackImpl extends XExecutionStack { else { result = new ArrayList(count); for (int i = firstFrameIndex; i < frames.length; i++) { + if (i == 0) { + result.add(topCallFrameView); + continue; + } + CallFrame frame = frames[i]; // if script is null, it is native function (Object.forEach for example), so, skip it Script script = vm.getScriptManager().getScript(frame);