RunLineMarkerProvider initial

This commit is contained in:
Dmitry Avdeev
2015-05-21 15:59:06 +03:00
parent bd82c87702
commit 0d1f9bbe5c
8 changed files with 162 additions and 3 deletions
@@ -34,7 +34,9 @@ import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.util.PsiMethodUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.listeners.RefactoringElementListener;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -123,6 +125,11 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
return ProgramRunnerUtil.shortenName(JavaExecutionUtil.getShortClassName(MAIN_CLASS_NAME), 6) + ".main()";
}
@Override
public boolean isLineMarkerPlace(PsiElement place, PsiElement sourceElement) {
return place instanceof PsiMethod && PsiTreeUtil.getParentOfType(place, PsiClass.class) == sourceElement && PsiMethodUtil.isMainMethod((PsiMethod)place);
}
@Override
public void setMainClassName(final String qualifiedName) {
MAIN_CLASS_NAME = qualifiedName;