diff options
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.java | 31 |
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()); } } |