From 70370a54563a4672f9fd0e3d444244a539f4fa22 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 25 Feb 2011 20:53:32 +0100 Subject: [PATCH] Highlight uninitialized resource variable --- .../advHighlighting7/TryWithResources.java | 2 ++ java/openapi/src/com/intellij/psi/util/PsiUtil.java | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/TryWithResources.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/TryWithResources.java index 02753b317b10..e8df782c83ac 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/TryWithResources.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/TryWithResources.java @@ -66,6 +66,8 @@ class C { } void m4() throws Exception { + try (MyResource r = r) { } + MyResource r; try (MyResource r1 = r) { } } diff --git a/java/openapi/src/com/intellij/psi/util/PsiUtil.java b/java/openapi/src/com/intellij/psi/util/PsiUtil.java index 12f0b759f1f8..cad1d2d9d1c3 100644 --- a/java/openapi/src/com/intellij/psi/util/PsiUtil.java +++ b/java/openapi/src/com/intellij/psi/util/PsiUtil.java @@ -232,7 +232,7 @@ public final class PsiUtil extends PsiUtilBase { } /** - * @return codeblock topmost codeblock where variable makes sense + * @return topmost code block where variable makes sense */ @Nullable public static PsiElement getVariableCodeBlock(PsiVariable variable, PsiElement context) { @@ -249,6 +249,10 @@ public final class PsiUtil extends PsiUtilBase { codeBlock = ((PsiMethod)declarationScope).getBody(); } } + else if (variable instanceof PsiResourceVariable) { + final PsiElement resourceList = variable.getParent(); + return resourceList != null ? resourceList.getParent() : null; // use try statement as topmost + } else if (variable instanceof PsiLocalVariable && variable.getParent() instanceof PsiForStatement) { return variable.getParent(); }