From 16a8fa455bdb689e2f439e5a2382a121c3579e82 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Fri, 1 Feb 2013 15:22:26 +0400 Subject: [PATCH] minor dynamic languages support fixes --- .../src/com/intellij/psi/tree/IFileElementType.java | 4 ++++ .../com/intellij/psi/impl/file/impl/PsiVFSListener.java | 3 ++- .../src/com/intellij/testFramework/ParsingTestCase.java | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/platform/core-api/src/com/intellij/psi/tree/IFileElementType.java b/platform/core-api/src/com/intellij/psi/tree/IFileElementType.java index a9a3a83bc5a1..39149eab2e6e 100644 --- a/platform/core-api/src/com/intellij/psi/tree/IFileElementType.java +++ b/platform/core-api/src/com/intellij/psi/tree/IFileElementType.java @@ -31,6 +31,10 @@ public class IFileElementType extends ILazyParseableElementType { super(debugName, language); } + public IFileElementType(@NonNls @NotNull final String debugName, @Nullable final Language language, boolean register) { + super(debugName, language, register); + } + @Nullable @Override public ASTNode parseContents(final ASTNode chameleon) { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/file/impl/PsiVFSListener.java b/platform/lang-impl/src/com/intellij/psi/impl/file/impl/PsiVFSListener.java index 68079c75381f..a6427f42e510 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/file/impl/PsiVFSListener.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/file/impl/PsiVFSListener.java @@ -318,7 +318,8 @@ public class PsiVFSListener extends VirtualFileAdapter { VirtualFile parent = vFile.getParent(); final PsiDirectory parentDir = getCachedDirectory(parent); - if (parentDir == null) { + // do not suppress reparse request for light files + if (parentDir == null && !FileContentUtil.FORCE_RELOAD_REQUESTOR.equals(event.getRequestor())) { boolean fire = VirtualFile.PROP_NAME.equals(propertyName) && vFile.isDirectory(); if (fire) { PsiDirectory psiDir = myFileManager.getCachedDirectory(vFile); diff --git a/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java b/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java index 5de553b97230..071dd4b3a22b 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java @@ -271,15 +271,15 @@ public abstract class ParsingTestCase extends PlatformLiteFixture { doCheckResult(myFullDataPath, targetDataName, text); } - private static void doCheckResult(String myFullDataPath, String targetDataName, String text) throws IOException { + public static void doCheckResult(String fullPath, String targetDataName, String text) throws IOException { text = text.trim(); - String expectedFileName = myFullDataPath + File.separatorChar + targetDataName; + String expectedFileName = fullPath + File.separatorChar + targetDataName; if (OVERWRITE_TESTDATA) { VfsTestUtil.overwriteTestData(expectedFileName, text); System.out.println("File " + expectedFileName + " created."); } try { - String expectedText = doLoadFile(myFullDataPath, targetDataName); + String expectedText = doLoadFile(fullPath, targetDataName); if (!Comparing.equal(expectedText, text)) { throw new FileComparisonFailure(targetDataName, expectedText, text, expectedFileName); } @@ -304,7 +304,7 @@ public abstract class ParsingTestCase extends PlatformLiteFixture { return text; } - private static void ensureParsed(PsiFile file) { + public static void ensureParsed(PsiFile file) { file.accept(new PsiElementVisitor() { @Override public void visitElement(PsiElement element) {