diff --git a/build/conf/nsis/idea.nsi b/build/conf/nsis/idea.nsi index e8ba9ed46080..2a280e933e05 100644 --- a/build/conf/nsis/idea.nsi +++ b/build/conf/nsis/idea.nsi @@ -1536,10 +1536,8 @@ Function un.onInit Call un.UninstallFeedback ; Uninstallation was run from installation dir? - IfFileExists "$INSTDIR\IdeaWin32.dll" 0 end_of_uninstall IfFileExists "$INSTDIR\IdeaWin64.dll" 0 end_of_uninstall IfFileExists "$INSTDIR\${PRODUCT_EXE_FILE_64}" 0 end_of_uninstall - IfFileExists "$INSTDIR\${PRODUCT_EXE_FILE}" 0 end_of_uninstall get_reg_key: SetRegView 32 diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JVMNameUtil.java b/java/debugger/impl/src/com/intellij/debugger/engine/JVMNameUtil.java index 6986a796cfdf..558f3ac73817 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JVMNameUtil.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JVMNameUtil.java @@ -1,4 +1,4 @@ -// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.debugger.engine; import com.intellij.debugger.DebuggerBundle; @@ -253,7 +253,7 @@ public class JVMNameUtil { @NotNull public static JVMName getJVMQualifiedName(@NotNull PsiClass psiClass) { - final String name = getNonAnonymousClassName(psiClass); + final String name = getClassVMName(psiClass); if (name != null) { return getJVMRawText(name); } diff --git a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java index 8bd1586864e6..4439aa51409a 100644 --- a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java +++ b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java @@ -32,6 +32,7 @@ import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -41,7 +42,7 @@ import java.util.stream.Collectors; */ public class MethodCandidateInfo extends CandidateInfo{ public static final RecursionGuard ourOverloadGuard = RecursionManager.createGuard("overload.guard"); - public static final ThreadLocal> CURRENT_CANDIDATE = new ThreadLocal<>(); + private static final ThreadLocal> CURRENT_CANDIDATE = ThreadLocal.withInitial(HashMap::new); @ApplicabilityLevelConstant private volatile int myApplicabilityLevel; @ApplicabilityLevelConstant private volatile int myPertinentApplicabilityLevel; private final PsiElement myArgumentList; diff --git a/platform/built-in-server/start-up-visualizer/src/App.vue b/platform/built-in-server/start-up-visualizer/src/App.vue index b7260dbea082..44fff7c5ed22 100644 --- a/platform/built-in-server/start-up-visualizer/src/App.vue +++ b/platform/built-in-server/start-up-visualizer/src/App.vue @@ -14,6 +14,21 @@ diff --git a/platform/built-in-server/start-up-visualizer/src/charts/BaseChartComponent.ts b/platform/built-in-server/start-up-visualizer/src/charts/BaseChartComponent.ts index e8d466e7b4e1..b1eff8bb7bd0 100644 --- a/platform/built-in-server/start-up-visualizer/src/charts/BaseChartComponent.ts +++ b/platform/built-in-server/start-up-visualizer/src/charts/BaseChartComponent.ts @@ -15,26 +15,33 @@ export abstract class BaseChartComponent extends Vue { } mounted() { - this.chartManager = this.createChartManager() this.renderDataIfAvailable() } protected abstract createChartManager(): T @Watch("measurementData") - // @ts-ignore - private measurementDataChanged(): void { - this.renderDataIfAvailable() - } - /** @final */ protected renderDataIfAvailable(): void { const data = this.measurementData - if (data != null) { - const chartManager = this.chartManager - if (chartManager != null) { - chartManager.render(data) - } + if (data == null) { + // yes, do not re-render as empty - null value not expected to be set in valid cases + return + } + + let chartManager = this.chartManager + if (chartManager == null) { + chartManager = this.createChartManager() + this.chartManager = chartManager + } + chartManager.render(data) + } + + beforeDestroy() { + const chartManager = this.chartManager + if (chartManager != null) { + this.chartManager = null + chartManager.dispose() } } } diff --git a/platform/built-in-server/start-up-visualizer/src/charts/ChartManager.ts b/platform/built-in-server/start-up-visualizer/src/charts/ChartManager.ts index d32dc26f78bd..9a31f85a056c 100644 --- a/platform/built-in-server/start-up-visualizer/src/charts/ChartManager.ts +++ b/platform/built-in-server/start-up-visualizer/src/charts/ChartManager.ts @@ -5,6 +5,8 @@ import {DataManager} from "@/state/DataManager" export interface ChartManager { render(data: DataManager): void + + dispose(): void } function configureCommonChartSettings(chart: am4charts.XYChart) { @@ -15,7 +17,6 @@ function configureCommonChartSettings(chart: am4charts.XYChart) { const cursor = new am4charts.XYCursor() cursor.lineY.disabled = true cursor.lineX.disabled = true - // todo y axis for ItemChart doesn't work as expected (not scaled according to current data) because of 2 series for axis (and so, no chart data is set) cursor.behavior = "zoomXY" chart.cursor = cursor } @@ -30,30 +31,10 @@ export abstract class XYChartManager implements ChartManager { // this.addDisposeHandler(childHot) } + /** @override */ dispose(): void { this.chart.dispose() } - // module.hot must be passed here explicitly, because module in this context related only to this module - // private addDisposeHandler(hot: __WebpackModuleApi.Hot | null | undefined) { - // if (hot == null) { - // return - // } - // - // hot.dispose(_data => { - // const chart = this.chart - // if (chart == null) { - // return - // } - // - // (this as any).chart = null - // chart.dispose() - // // const exportingMenu = chart.exporting.menu - // // if (exportingMenu != null) { - // // exportingMenu.dispose() - // // } - // }) - // } - abstract render(data: DataManager): void } diff --git a/platform/built-in-server/start-up-visualizer/src/charts/ItemChart.vue b/platform/built-in-server/start-up-visualizer/src/charts/ItemChart.vue index 6646eef3c660..dd4c0a38a12f 100644 --- a/platform/built-in-server/start-up-visualizer/src/charts/ItemChart.vue +++ b/platform/built-in-server/start-up-visualizer/src/charts/ItemChart.vue @@ -5,7 +5,7 @@