mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
reindex all java-like files on source root change (https://intellij-support.jetbrains.com/hc/en-us/community/posts/208569305-Cannot-find-classes-after-change-branches)
This commit is contained in:
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package com.intellij.openapi.roots.impl;
|
||||
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType;
|
||||
import com.intellij.openapi.module.EffectiveLanguageLevelUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -103,12 +105,16 @@ public class JavaLanguageLevelPusher implements FilePropertyPusher<LanguageLevel
|
||||
oStream.close();
|
||||
|
||||
for (VirtualFile child : fileOrDir.getChildren()) {
|
||||
if (!child.isDirectory() && StdFileTypes.JAVA.equals(child.getFileType())) {
|
||||
if (!child.isDirectory() && isJavaLike(child.getFileType())) {
|
||||
PushedFilePropertiesUpdater.getInstance(project).filePropertiesChanged(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isJavaLike(FileType type) {
|
||||
return type instanceof LanguageFileType && ((LanguageFileType)type).getLanguage().isKindOf(JavaLanguage.INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterRootsChanged(@NotNull Project project) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user