From 245fcceb1c2f4c773371993db2574512d1ee5d91 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 26 Mar 2012 15:01:19 +0200 Subject: [PATCH] EA-34288 (IOE: PsiJavaParserFacadeImpl.createExpressionFromText) --- .../ig/style/UnqualifiedFieldAccessInspection.java | 6 +++++- .../ig/style/UnqualifiedMethodAccessInspection.java | 6 +++++- .../UnqualifiedFieldAccess.java | 13 +++++++++++++ .../UnqualifiedMethodAccess.java | 12 ++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedFieldAccessInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedFieldAccessInspection.java index e89e21c45978..0de37c8ed3df 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedFieldAccessInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedFieldAccessInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2011 Bas Leijdekkers + * Copyright 2006-201@ Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -73,6 +73,10 @@ public class UnqualifiedFieldAccessInspection extends BaseInspection { if (field.hasModifierProperty(PsiModifier.STATIC)) { return; } + final PsiClass containingClass = field.getContainingClass(); + if (containingClass instanceof PsiAnonymousClass) { + return; + } registerError(expression); } } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedMethodAccessInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedMethodAccessInspection.java index 12ceb5425306..2d54bc48f77f 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedMethodAccessInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/UnqualifiedMethodAccessInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2011 Bas Leijdekkers + * Copyright 2006-2012 Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -68,6 +68,10 @@ public class UnqualifiedMethodAccessInspection extends BaseInspection { if (method.isConstructor() || method.hasModifierProperty(PsiModifier.STATIC)) { return; } + final PsiClass containingClass = method.getContainingClass(); + if (containingClass instanceof PsiAnonymousClass) { + return; + } registerError(expression); } } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_field_access/UnqualifiedFieldAccess.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_field_access/UnqualifiedFieldAccess.java index c74a6852d584..6c7518d8d83b 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_field_access/UnqualifiedFieldAccess.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_field_access/UnqualifiedFieldAccess.java @@ -9,4 +9,17 @@ public class UnqualifiedFieldAccess { final String s = String.valueOf(field.hashCode()); System.out.println(s); } + + void foo() { + new Object() { + int i; + void foo() { + new Object() { + void foo() { + i = 0; + } + }; + } + }; + } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_method_access/UnqualifiedMethodAccess.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_method_access/UnqualifiedMethodAccess.java index 0e3b456c86c5..0e626f3fe31d 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_method_access/UnqualifiedMethodAccess.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/unqualified_method_access/UnqualifiedMethodAccess.java @@ -15,4 +15,16 @@ public class UnqualifiedMethodAccess extends JPanel { void foo(String s) { this.foo(); } + + void anonymous() { + new Object() { + void bar() { + new Object() { + void foo() { + bar(); + } + }; + } + }; + } }