diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java index d9c271ec47fd..ac184e4c29de 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 Bas Leijdekkers + * Copyright 2011-2017 Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,6 +59,11 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB return InspectionGadgetsBundle.message("package.dot.html.may.be.package.info.delete.quickfix"); } + @Override + public boolean startInWriteAction() { + return false; + } + @Override protected void doFix(Project project, ProblemDescriptor descriptor) { final PsiElement element = descriptor.getPsiElement(); @@ -94,6 +99,11 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB return InspectionGadgetsBundle.message("package.dot.html.may.be.package.info.convert.quickfix"); } + @Override + public boolean startInWriteAction() { + return false; + } + @Override protected void doFix(final Project project, ProblemDescriptor descriptor) { final PsiElement element = descriptor.getPsiElement(); @@ -109,11 +119,11 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB if (file != null) { return; } - new WriteCommandAction.Simple(project, InspectionGadgetsBundle.message("package.dot.html.convert.command"), file) { + new WriteCommandAction.Simple(project, InspectionGadgetsBundle.message("package.dot.html.convert.command"), xmlFile) { @Override protected void run() throws Throwable { - final PsiJavaFile file = (PsiJavaFile)directory.createFile("package-info.java"); - CommandProcessor.getInstance().addAffectedFiles(project, file.getVirtualFile()); + final PsiJavaFile packageInfoFile = (PsiJavaFile)directory.createFile("package-info.java"); + CommandProcessor.getInstance().addAffectedFiles(project, packageInfoFile.getVirtualFile()); final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(project); String packageInfoText = getPackageInfoText(xmlFile); if (packageInfoText == null) { @@ -134,13 +144,13 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB final PsiDocComment comment = elementFactory.createDocCommentFromText(commentText.toString()); if (!aPackage.isEmpty()) { final PsiPackageStatement packageStatement = elementFactory.createPackageStatement(aPackage); - final PsiElement addedElement = file.add(packageStatement); - file.addBefore(comment, addedElement); + final PsiElement addedElement = packageInfoFile.add(packageStatement); + packageInfoFile.addBefore(comment, addedElement); } else { - file.add(comment); + packageInfoFile.add(comment); } - element.delete(); + xmlFile.delete(); if (!isOnTheFly()) { return; } @@ -149,7 +159,7 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB @Override public void consume(DataContext dataContext) { final FileEditorManager editorManager = FileEditorManager.getInstance(project); - final VirtualFile virtualFile = file.getVirtualFile(); + final VirtualFile virtualFile = packageInfoFile.getVirtualFile(); if (virtualFile == null) { return; } @@ -167,7 +177,7 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB } @Nullable - private static String getPackageInfoText(XmlFile xmlFile) { + static String getPackageInfoText(XmlFile xmlFile) { final XmlTag rootTag = xmlFile.getRootTag(); if (rootTag == null) { return null;