From 1737e1e1f25955dd0dc44da5ed0a73149e493d7d Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 22 Jun 2016 12:36:05 +0200 Subject: [PATCH] replace LightVirtualFile.markReadOnly with setWritable(false) --- .../ProjectBytecodeAnalysis.java | 2 +- .../BaseExternalAnnotationsManager.java | 2 +- .../psi/impl/source/PsiFieldImpl.java | 2 +- .../testFramework/LightVirtualFile.java | 24 +++++-------------- 4 files changed, 9 insertions(+), 21 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/bytecodeAnalysis/ProjectBytecodeAnalysis.java b/java/java-analysis-impl/src/com/intellij/codeInspection/bytecodeAnalysis/ProjectBytecodeAnalysis.java index c24650ef76a6..865064054a68 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/bytecodeAnalysis/ProjectBytecodeAnalysis.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/bytecodeAnalysis/ProjectBytecodeAnalysis.java @@ -454,7 +454,7 @@ public class ProjectBytecodeAnalysis { private PsiAnnotation createAnnotationFromText(@NotNull final String text) throws IncorrectOperationException { PsiAnnotation annotation = JavaPsiFacade.getElementFactory(myProject).createAnnotationFromText(text, null); annotation.putUserData(INFERRED_ANNOTATION, Boolean.TRUE); - ((LightVirtualFile)annotation.getContainingFile().getViewProvider().getVirtualFile()).markReadOnly(); + ((LightVirtualFile)annotation.getContainingFile().getViewProvider().getVirtualFile()).setWritable(false); return annotation; } } diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java b/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java index f2cd5e777f90..431e046fe308 100644 --- a/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java +++ b/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java @@ -398,7 +398,7 @@ public abstract class BaseExternalAnnotationsManager extends ExternalAnnotations private static PsiAnnotation markAsExternalAnnotation(@NotNull PsiAnnotation annotation) { annotation.putUserData(EXTERNAL_ANNO_MARKER, Boolean.TRUE); - ((LightVirtualFile)annotation.getContainingFile().getViewProvider().getVirtualFile()).markReadOnly(); + ((LightVirtualFile)annotation.getContainingFile().getViewProvider().getVirtualFile()).setWritable(false); return annotation; } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiFieldImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiFieldImpl.java index c8836c8d12e9..7bd76e7d86e7 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiFieldImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiFieldImpl.java @@ -246,7 +246,7 @@ public class PsiFieldImpl extends JavaStubPsiElement implements Ps else { final PsiJavaParserFacade parserFacade = JavaPsiFacade.getInstance(getProject()).getParserFacade(); initializer = parserFacade.createExpressionFromText(initializerText, this); - ((LightVirtualFile)initializer.getContainingFile().getViewProvider().getVirtualFile()).markReadOnly(); + ((LightVirtualFile)initializer.getContainingFile().getViewProvider().getVirtualFile()).setWritable(false); } } if (initializer != null && cachedInitializerValue == null) { diff --git a/platform/core-api/src/com/intellij/testFramework/LightVirtualFile.java b/platform/core-api/src/com/intellij/testFramework/LightVirtualFile.java index 4c1e6b14bc4b..da888fe3f2a9 100644 --- a/platform/core-api/src/com/intellij/testFramework/LightVirtualFile.java +++ b/platform/core-api/src/com/intellij/testFramework/LightVirtualFile.java @@ -34,7 +34,6 @@ import java.nio.charset.Charset; public class LightVirtualFile extends LightVirtualFileBase { private CharSequence myContent = ""; private Language myLanguage; - private boolean myReadOnly; public LightVirtualFile() { this(""); @@ -67,13 +66,13 @@ public class LightVirtualFile extends LightVirtualFileBase { Charset charset, final long modificationStamp) { super(name, fileType, modificationStamp); - setContent(text); + myContent = text; setCharset(charset); } public LightVirtualFile(@NotNull String name, final Language language, @NotNull CharSequence text) { super(name, null, LocalTimeCounter.currentTime()); - setContent(text); + myContent = text; setLanguage(language); } @@ -102,11 +101,11 @@ public class LightVirtualFile extends LightVirtualFileBase { return VfsUtilCore.outputStreamAddingBOM(new ByteArrayOutputStream() { @Override public void close() { - setModificationStamp(newModificationStamp); + assert isWritable(); + setModificationStamp(newModificationStamp); try { - String content = toString(getCharset().name()); - setContent(content); + myContent = toString(getCharset().name()); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); @@ -125,14 +124,8 @@ public class LightVirtualFile extends LightVirtualFileBase { public void setContent(Object requestor, @NotNull CharSequence content, boolean fireEvent) { assertWritable(); - setContent(content); - setModificationStamp(LocalTimeCounter.currentTime()); - } - - private void setContent(@NotNull CharSequence content) { - assert !myReadOnly; - //StringUtil.assertValidSeparators(content); myContent = content; + setModificationStamp(LocalTimeCounter.currentTime()); } @NotNull @@ -140,11 +133,6 @@ public class LightVirtualFile extends LightVirtualFileBase { return myContent; } - public void markReadOnly() { - setWritable(false); - myReadOnly = true; - } - @Override public String toString() { return "LightVirtualFile: " + getPresentableUrl();