From a0ba534c1d7a08732bec9891f2ec6cf1969b2131 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 6 Dec 2013 20:31:45 +0100 Subject: [PATCH] IDEA-117780 Bad code is green: non-static class T cannot be referenced from a static context --- .../daemon/impl/analysis/HighlightVisitorImpl.java | 2 +- .../daemonCodeAnalyzer/genericsHighlighting/IDEA104160.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java index 11ae8d8868ea..5946e8a0a44c 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java @@ -1079,7 +1079,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh final PsiTypeParameterListOwner owner = ((PsiTypeParameter)resolved).getOwner(); if (owner instanceof PsiClass) { final PsiClass outerClass = (PsiClass)owner; - if (!InheritanceUtil.hasEnclosingInstanceInScope(outerClass, ref, true, false)) { + if (!InheritanceUtil.hasEnclosingInstanceInScope(outerClass, ref, false, false)) { myHolder.add(HighlightClassUtil.reportIllegalEnclosingUsage(ref, aClass, (PsiClass)owner, ref)); } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA104160.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA104160.java index 92e5b57c39e4..32d2c84e40da 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA104160.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA104160.java @@ -10,4 +10,9 @@ class Test { class B extends ArrayList { void foo(T r){} } + + static class C extends Test<T> {} + static class D extends Test { + T t; + } }