EA-27709 - NPE EqualsAndHashcode$1 compute
authorAnna Kozlova <anna.kozlova@jetbrains.com>
Thu, 12 May 2011 09:28:37 +0000 (13:28 +0400)
committerAnna Kozlova <anna.kozlova@jetbrains.com>
Thu, 12 May 2011 09:28:37 +0000 (13:28 +0400)
java/java-impl/src/com/intellij/codeInspection/equalsAndHashcode/EqualsAndHashcode.java

index 599b1b344dafa1f8aa239d55d9668117187d9d09..d20ed00ce6719199b36f2db7ef6b89b7b9d4a510 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2011 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,21 +37,20 @@ public class EqualsAndHashcode extends BaseJavaLocalInspectionTool {
 
   private PsiMethod myHashCode;
   private PsiMethod myEquals;
-  private JavaPsiFacade myPsiFacade;
   private final AtomicBoolean myInitialized = new AtomicBoolean();
 
   public void projectOpened(Project project) {
-    myPsiFacade = JavaPsiFacade.getInstance(project);
   }
 
   @NotNull
   public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
     if (!myInitialized.getAndSet(true)) {
+      final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(holder.getProject());
       final PsiClass psiObjectClass = ApplicationManager.getApplication().runReadAction(
           new Computable<PsiClass>() {
             @Nullable
             public PsiClass compute() {
-              return myPsiFacade.findClass("java.lang.Object");
+              return psiFacade.findClass("java.lang.Object");
             }
           }
       );
@@ -124,6 +123,5 @@ public class EqualsAndHashcode extends BaseJavaLocalInspectionTool {
   public void projectClosed(Project project) {
     myEquals = null;
     myHashCode = null;
-    myPsiFacade = null;
   }
 }