fix "IDEA-221944 Deadlock on opening second project" and support preloading for proje...
[idea/community.git] / platform / projectModel-impl / src / com / intellij / openapi / roots / impl / TestModulePropertiesImpl.java
index ae068ebf764fb4e735dc9bb905981a876790a29c..768834dd29f716b60188ab60a4df517b12b81808 100644 (file)
@@ -1,18 +1,4 @@
-/*
- * Copyright 2000-2016 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.roots.impl;
 
 import com.intellij.openapi.components.PersistentStateComponent;
 package com.intellij.openapi.roots.impl;
 
 import com.intellij.openapi.components.PersistentStateComponent;
@@ -32,15 +18,13 @@ import org.jetbrains.annotations.Nullable;
  * @author nik
  */
 @State(name = "TestModuleProperties")
  * @author nik
  */
 @State(name = "TestModuleProperties")
-public class TestModulePropertiesImpl extends TestModuleProperties implements PersistentStateComponent<TestModulePropertiesImpl.TestModulePropertiesState>,
-                                                                              ProjectModelElement {
-  private final ModulePointerManager myModulePointerManager;
+class TestModulePropertiesImpl extends TestModuleProperties implements PersistentStateComponent<TestModulePropertiesImpl.TestModulePropertiesState>,
+                                                                       ProjectModelElement {
   private ModulePointer myProductionModulePointer;
   private ModulePointer myProductionModulePointer;
-  private Module myModule;
+  private final Module myModule;
 
 
-  public TestModulePropertiesImpl(@NotNull Module module, @NotNull ModulePointerManager modulePointerManager) {
+  TestModulePropertiesImpl(@NotNull Module module) {
     myModule = module;
     myModule = module;
-    myModulePointerManager = modulePointerManager;
   }
 
   @Nullable
   }
 
   @Nullable
@@ -57,7 +41,7 @@ public class TestModulePropertiesImpl extends TestModuleProperties implements Pe
 
   @Override
   public void setProductionModuleName(@Nullable String moduleName) {
 
   @Override
   public void setProductionModuleName(@Nullable String moduleName) {
-    myProductionModulePointer = moduleName != null ? myModulePointerManager.create(moduleName) : null;
+    myProductionModulePointer = moduleName != null ? ModulePointerManager.getInstance(myModule.getProject()).create(moduleName) : null;
   }
 
   @Nullable
   }
 
   @Nullable
@@ -69,7 +53,7 @@ public class TestModulePropertiesImpl extends TestModuleProperties implements Pe
   }
 
   @Override
   }
 
   @Override
-  public void loadState(TestModulePropertiesState state) {
+  public void loadState(@NotNull TestModulePropertiesState state) {
     setProductionModuleName(state.moduleName);
   }
 
     setProductionModuleName(state.moduleName);
   }