summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java')
-rw-r--r--java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java31
1 files changed, 4 insertions, 27 deletions
diff --git a/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java b/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java
index 5464c6cbd83d..005629c81cd9 100644
--- a/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java
+++ b/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java
@@ -27,17 +27,13 @@ import com.intellij.ide.fileTemplates.JavaTemplateUtil;
import com.intellij.ide.fileTemplates.ui.CreateFromTemplateDialog;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.StdFileTypes;
-import com.intellij.openapi.module.LanguageLevelUtil;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
-import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
+import com.intellij.psi.impl.JavaPsiImplementationHelper;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
@@ -162,7 +158,7 @@ public class JavaDirectoryServiceImpl extends CoreJavaDirectoryService {
}
private static String getIncorrectTemplateMessage(String templateName) {
- return PsiBundle.message("psi.error.incorroect.class.template.message",
+ return PsiBundle.message("psi.error.incorrect.class.template.message",
FileTemplateManager.getInstance().internalTemplateToSubject(templateName), templateName);
}
@@ -177,7 +173,7 @@ public class JavaDirectoryServiceImpl extends CoreJavaDirectoryService {
String fileName = name + "." + StdFileTypes.JAVA.getDefaultExtension();
directory.checkCreateFile(fileName);
- PsiNameHelper helper = JavaPsiFacade.getInstance(directory.getProject()).getNameHelper();
+ PsiNameHelper helper = PsiNameHelper.getInstance(directory.getProject());
PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(directory);
String qualifiedName = aPackage == null ? null : aPackage.getQualifiedName();
if (!StringUtil.isEmpty(qualifiedName) && !helper.isQualifiedName(qualifiedName)) {
@@ -192,28 +188,9 @@ public class JavaDirectoryServiceImpl extends CoreJavaDirectoryService {
return file.equals(sourceRoot);
}
- private static final Key<LanguageLevel> LANG_LEVEL_IN_DIRECTORY = new Key<LanguageLevel>("LANG_LEVEL_IN_DIRECTORY");
@Override
public LanguageLevel getLanguageLevel(@NotNull PsiDirectory dir) {
- synchronized (PsiLock.LOCK) {
- LanguageLevel level = dir.getUserData(LANG_LEVEL_IN_DIRECTORY);
- if (level == null) {
- level = getLanguageLevelInner(dir);
- dir.putUserData(LANG_LEVEL_IN_DIRECTORY, level);
- }
- return level;
- }
- }
-
- private static LanguageLevel getLanguageLevelInner(@NotNull PsiDirectory dir) {
- final VirtualFile virtualFile = dir.getVirtualFile();
- final Project project = dir.getProject();
- final Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(virtualFile);
- if (module != null) {
- return LanguageLevelUtil.getEffectiveLanguageLevel(module);
- }
-
- return LanguageLevelProjectExtension.getInstance(project).getLanguageLevel();
+ return JavaPsiImplementationHelper.getInstance(dir.getProject()).getEffectiveLanguageLevel(dir.getVirtualFile());
}
}