From 924e032bbff09309a47a4e1e42e170a633fb745e Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Tue, 20 Mar 2018 19:55:24 +0100 Subject: [PATCH] lvti: reject initializing var with void (IDEA-188623) --- .../codeInsight/daemon/impl/analysis/HighlightUtil.java | 6 ++++++ .../daemonCodeAnalyzer/advLVTI/SimpleAvailability.java | 2 ++ 2 files changed, 8 insertions(+) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 49cdcf3e21ba..7b6af77edc47 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -462,6 +462,12 @@ public class HighlightUtil extends HighlightUtilBase { .descriptionAndTooltip("Cannot infer type: variable initializer is 'null'") .range(typeElement).create(); } + + if (PsiType.VOID.equals(lType)) { + return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR) + .descriptionAndTooltip("Cannot infer type: variable initializer is 'void'") + .range(typeElement).create(); + } } } return null; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java index ae255007e6eb..c840246a3986 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advLVTI/SimpleAvailability.java @@ -33,6 +33,8 @@ class Main { var runnable = true ? () -> {} : () -> {}; Function f1 = (var var) -> var; + + var h = localVariableDeclaration(); } private void forEachType(String[] strs, Iterable it, Iterable raw) {