replace LightVirtualFile.markReadOnly with setWritable(false)

This commit is contained in:
peter
2016-06-22 12:37:13 +02:00
parent c5b8d91a6b
commit 1737e1e1f2
4 changed files with 9 additions and 21 deletions
@@ -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;
}
}
@@ -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;
}
@@ -246,7 +246,7 @@ public class PsiFieldImpl extends JavaStubPsiElement<PsiFieldStub> 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) {
@@ -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();