From 615837784ee21a8152d10ae98fc18bac5f0f9161 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 10 Sep 2008 15:49:11 +0400 Subject: [PATCH] readonly exception --- .../codeInspection/defaultFileTemplateUsage/FileHeaderChecker.java | 4 ++-- lang-impl/src/com/intellij/codeInspection/ex/QuickFixWrapper.java | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/inspections/impl/com/intellij/codeInspection/defaultFileTemplateUsage/FileHeaderChecker.java b/inspections/impl/com/intellij/codeInspection/defaultFileTemplateUsage/FileHeaderChecker.java index 4cba536a3a..3fd6594a55 100644 --- a/inspections/impl/com/intellij/codeInspection/defaultFileTemplateUsage/FileHeaderChecker.java +++ b/inspections/impl/com/intellij/codeInspection/defaultFileTemplateUsage/FileHeaderChecker.java @@ -1,5 +1,6 @@ package com.intellij.codeInspection.defaultFileTemplateUsage; +import com.intellij.codeInsight.CodeInsightUtil; import com.intellij.codeInspection.*; import com.intellij.ide.fileTemplates.FileTemplate; import com.intellij.ide.fileTemplates.FileTemplateManager; @@ -74,6 +75,7 @@ public class FileHeaderChecker { final ReplaceWithFileTemplateFix replaceTemplateFix = new ReplaceWithFileTemplateFix() { public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { if (!element.isValid()) return; + if (!CodeInsightUtil.preparePsiElementsForWrite(element)) return; String newText; try { newText = template.getText(computeProperties(matcher, offsetToProperty)); @@ -95,8 +97,6 @@ public class FileHeaderChecker { documentManager.commitDocument(document); document.insertString(offset, newText); - //PsiDocComment newDoc = element.getManager().getElementFactory().createDocCommentFromText(newText, element); - //element.replace(newDoc); } catch (IncorrectOperationException e) { LOG.error(e); diff --git a/lang-impl/src/com/intellij/codeInspection/ex/QuickFixWrapper.java b/lang-impl/src/com/intellij/codeInspection/ex/QuickFixWrapper.java index 67add1afe5..10a72cee8a 100644 --- a/lang-impl/src/com/intellij/codeInspection/ex/QuickFixWrapper.java +++ b/lang-impl/src/com/intellij/codeInspection/ex/QuickFixWrapper.java @@ -55,7 +55,9 @@ public class QuickFixWrapper implements IntentionAction { } public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException { - //if (!CodeInsightUtil.prepareFileForWrite(file)) return; consider all local quick fixes do it themselves + //if (!CodeInsightUtil.prepareFileForWrite(file)) return; + // consider all local quick fixes do it themselves + LocalQuickFix fix = (LocalQuickFix)myDescriptor.getFixes()[myFixNumber]; fix.applyFix(project, myDescriptor); DaemonCodeAnalyzer.getInstance(project).restart(); -- 2.11.4.GIT