diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java index e8d4facbe81b..db6febbfe410 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java @@ -197,7 +197,7 @@ public class DebuggerManagerImpl extends DebuggerManagerEx { } } for(PositionManagerFactory factory: Extensions.getExtensions(PositionManagerFactory.EP_NAME, myProject)) { - final PositionManager manager = factory.create(debugProcess); + final PositionManager manager = factory.createPositionManager(debugProcess); if (manager != null) { process.appendPositionManager(manager); } diff --git a/java/debugger/openapi/src/com/intellij/debugger/PositionManagerFactory.java b/java/debugger/openapi/src/com/intellij/debugger/PositionManagerFactory.java index 12d01c08ed36..e89d423deef0 100644 --- a/java/debugger/openapi/src/com/intellij/debugger/PositionManagerFactory.java +++ b/java/debugger/openapi/src/com/intellij/debugger/PositionManagerFactory.java @@ -22,9 +22,9 @@ import org.jetbrains.annotations.Nullable; /** * @author yole */ -public interface PositionManagerFactory { - ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.debugger.positionManagerFactory"); +public abstract class PositionManagerFactory { + public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.debugger.positionManagerFactory"); @Nullable - PositionManager create(DebugProcess process); + public abstract PositionManager createPositionManager(DebugProcess process); } diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml index 5fef5e9a0cb9..378f82110ba7 100644 --- a/plugins/groovy/src/META-INF/plugin.xml +++ b/plugins/groovy/src/META-INF/plugin.xml @@ -598,7 +598,7 @@ - + diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/GroovyLoader.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/GroovyLoader.java index 739df96f28d0..8535b37bd8e4 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/GroovyLoader.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/GroovyLoader.java @@ -16,11 +16,7 @@ package org.jetbrains.plugins.groovy; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectManager; -import com.intellij.openapi.project.ProjectManagerAdapter; import com.intellij.psi.impl.source.tree.ChangeUtil; -import org.jetbrains.plugins.groovy.debugger.GroovyPositionManager; import org.jetbrains.plugins.groovy.lang.GroovyChangeUtilSupport; /** @@ -32,12 +28,6 @@ public class GroovyLoader { public GroovyLoader() { ChangeUtil.registerCopyHandler(new GroovyChangeUtilSupport()); - - ProjectManager.getInstance().addProjectManagerListener(new ProjectManagerAdapter() { - public void projectOpened(final Project project) { - GroovyPositionManager.registerPositionManager(project); - } - }); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManager.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManager.java index a1e6b30794d3..c8a420f215d9 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManager.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManager.java @@ -16,7 +16,6 @@ package org.jetbrains.plugins.groovy.debugger; -import com.intellij.debugger.DebuggerManager; import com.intellij.debugger.NoDataException; import com.intellij.debugger.PositionManager; import com.intellij.debugger.SourcePosition; @@ -37,7 +36,6 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.util.Function; import com.sun.jdi.AbsentInformationException; import com.sun.jdi.Location; import com.sun.jdi.ReferenceType; @@ -65,14 +63,6 @@ public class GroovyPositionManager implements PositionManager { myDebugProcess = debugProcess; } - public static void registerPositionManager(Project project) { - DebuggerManager.getInstance(project).registerPositionManagerFactory(new Function() { - public PositionManager fun(DebugProcess debugProcess) { - return new GroovyPositionManager(debugProcess); - } - }); - } - public DebugProcess getDebugProcess() { return myDebugProcess; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManagerFactory.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManagerFactory.java new file mode 100644 index 000000000000..12aaf2a53bad --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyPositionManagerFactory.java @@ -0,0 +1,30 @@ +/* + * 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. + * 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. + */ +package org.jetbrains.plugins.groovy.debugger; + +import com.intellij.debugger.PositionManager; +import com.intellij.debugger.PositionManagerFactory; +import com.intellij.debugger.engine.DebugProcess; + +/** + * @author peter + */ +public class GroovyPositionManagerFactory extends PositionManagerFactory { + @Override + public PositionManager createPositionManager(DebugProcess process) { + return new GroovyPositionManager(process); + } +} diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy index 67072be6a034..41d91418dc2c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy @@ -46,7 +46,6 @@ import com.intellij.testFramework.builders.JavaModuleFixtureBuilder import com.intellij.testFramework.fixtures.impl.TempDirTestFixtureImpl import com.intellij.util.SystemProperties import com.intellij.util.concurrency.Semaphore -import org.jetbrains.plugins.groovy.debugger.GroovyPositionManager /** * @author peter @@ -60,7 +59,6 @@ class GroovyDebuggerTest extends GroovyCompilerTestCase { addGroovyLibrary(myModule); } - GroovyPositionManager.registerPositionManager(project) } @Override