From 67ecbcae6e0ab686e83e2837640e9ea4aa455639 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Mon, 14 Nov 2016 22:18:50 +0100 Subject: [PATCH] workaround for GwtLanguageLevel pusher to affect java language level --- .../openapi/roots/impl/JavaLanguageLevelPusher.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/openapi/roots/impl/JavaLanguageLevelPusher.java b/java/java-analysis-impl/src/com/intellij/openapi/roots/impl/JavaLanguageLevelPusher.java index 71fa0ce43b9b..541701672227 100644 --- a/java/java-analysis-impl/src/com/intellij/openapi/roots/impl/JavaLanguageLevelPusher.java +++ b/java/java-analysis-impl/src/com/intellij/openapi/roots/impl/JavaLanguageLevelPusher.java @@ -107,7 +107,16 @@ public class JavaLanguageLevelPusher implements FilePropertyPusher isJavaLike(f.getFileType())); + // Todo: GwtLanguageLevelPusher changes java language level for single files without firing filePropertiesChanged + // so code below doesn't work. + // Uncomment it and remove older code once the problem is fixed + //PushedFilePropertiesUpdater.getInstance(project).filePropertiesChanged(fileOrDir, f -> isJavaLike(f.getFileType())); + + for (VirtualFile child : fileOrDir.getChildren()) { + if (!child.isDirectory() && isJavaLike(child.getFileType())) { + PushedFilePropertiesUpdater.getInstance(project).filePropertiesChanged(child); + } + } } private static boolean isJavaLike(FileType type) {