diff --git a/java/java-impl/src/com/intellij/lang/java/JavaFindUsagesProvider.java b/java/java-impl/src/com/intellij/lang/java/JavaFindUsagesProvider.java index ee5265250a49..0851f703abd7 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaFindUsagesProvider.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaFindUsagesProvider.java @@ -15,6 +15,7 @@ import com.intellij.psi.meta.PsiMetaOwner; import com.intellij.psi.util.PsiFormatUtil; import com.intellij.psi.util.PsiFormatUtilBase; import com.intellij.usageView.UsageViewBundle; +import com.intellij.util.indexing.IndexingBundle; import org.jetbrains.annotations.NotNull; /** @@ -59,10 +60,10 @@ public class JavaFindUsagesProvider implements FindUsagesProvider { @NotNull public String getType(@NotNull PsiElement element) { if (element instanceof PsiDirectory) { - return LangBundle.message("terms.directory"); + return IndexingBundle.message("terms.directory"); } if (element instanceof PsiFile) { - return LangBundle.message("terms.file"); + return IndexingBundle.message("terms.file"); } if (ThrowSearchUtil.isSearchable(element)) { return LangBundle.message("java.terms.exception"); diff --git a/platform/analysis-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java b/platform/analysis-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java index 07acce3b7db7..dd1bcb7858e1 100644 --- a/platform/analysis-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java +++ b/platform/analysis-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java @@ -29,6 +29,7 @@ import com.intellij.refactoring.rename.BindablePsiReference; import com.intellij.util.ArrayUtilRt; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.indexing.IndexingBundle; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -545,7 +546,7 @@ public class FileReference implements PsiFileReference, FileReferenceOwner, PsiP @Override public String getUnresolvedMessagePattern() { return LangBundle.message("error.cannot.resolve") - + " " + LangBundle.message(isLast() ? "terms.file" : "terms.directory") + + " " + IndexingBundle.message(isLast() ? "terms.file" : "terms.directory") + " '" + StringUtil.escapePattern(decode(getCanonicalText())) + "'"; } diff --git a/platform/core-api/resources/messages/PsiBundle.properties b/platform/core-api/resources/messages/PsiBundle.properties index 79ed9387e038..ce2232bd9d53 100644 --- a/platform/core-api/resources/messages/PsiBundle.properties +++ b/platform/core-api/resources/messages/PsiBundle.properties @@ -3,9 +3,6 @@ psi.error.incorrect.class.template.message=Cannot create {0} - incorrect {1} tem psi.search.inheritors.of.class.progress=Searching for inheritors of {0}... psi.search.inheritors.progress=Searching for inheritors... psi.search.for.word.progress=Searching for {0}... -psi.search.in.non.java.files.progress=Analyzing non-code usages... - -psi.search.scope.project.and.libraries=Project and Libraries psi.search.scope.libraries=Libraries psi.search.scope.project=Project Files psi.search.scope.production.files=Project Production Files diff --git a/platform/indexing-api/resources/messages/IndexingBundle.properties b/platform/indexing-api/resources/messages/IndexingBundle.properties new file mode 100644 index 000000000000..a2a4f85d077d --- /dev/null +++ b/platform/indexing-api/resources/messages/IndexingBundle.properties @@ -0,0 +1,8 @@ +psi.scanning.files.progress=Scanning files... +psi.search.for.word.progress=Searching for {0}... +psi.search.in.non.java.files.progress=Analyzing non-code usages... +psi.search.scope.project.and.libraries=Project and Libraries +search.scope.module=Module ''{0}'' +search.scope.module.runtime=Module ''{0}'' runtime scope +terms.directory=directory +terms.file=file \ No newline at end of file diff --git a/platform/indexing-api/src/com/intellij/psi/search/ProjectAndLibrariesScope.java b/platform/indexing-api/src/com/intellij/psi/search/ProjectAndLibrariesScope.java index 3f3df2e5de9a..d42e23427d6f 100644 --- a/platform/indexing-api/src/com/intellij/psi/search/ProjectAndLibrariesScope.java +++ b/platform/indexing-api/src/com/intellij/psi/search/ProjectAndLibrariesScope.java @@ -22,7 +22,7 @@ import com.intellij.openapi.module.UnloadedModuleDescription; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiBundle; +import com.intellij.util.indexing.IndexingBundle; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -103,7 +103,7 @@ public class ProjectAndLibrariesScope extends GlobalSearchScope { @Override @NotNull public String getDisplayName() { - return myDisplayName == null ? PsiBundle.message("psi.search.scope.project.and.libraries") : myDisplayName; + return myDisplayName == null ? IndexingBundle.message("psi.search.scope.project.and.libraries") : myDisplayName; } public void setDisplayName(@NotNull String displayName) { diff --git a/platform/indexing-api/src/com/intellij/util/indexing/IndexingBundle.java b/platform/indexing-api/src/com/intellij/util/indexing/IndexingBundle.java new file mode 100644 index 000000000000..c6b642f6429a --- /dev/null +++ b/platform/indexing-api/src/com/intellij/util/indexing/IndexingBundle.java @@ -0,0 +1,28 @@ +// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.util.indexing; + +import com.intellij.DynamicBundle; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.PropertyKey; + +import java.util.function.Supplier; + +public class IndexingBundle extends DynamicBundle { + @NonNls private static final String BUNDLE = "messages.IndexingBundle"; + private static final IndexingBundle INSTANCE = new IndexingBundle(); + + private IndexingBundle() { + super(BUNDLE); + } + + @NotNull + public static String message(@NotNull @PropertyKey(resourceBundle = BUNDLE) String key, Object @NotNull ... params) { + return INSTANCE.getMessage(key, params); + } + + @NotNull + public static Supplier lazyMessage(@NotNull @PropertyKey(resourceBundle = BUNDLE) String key, Object @NotNull ... params) { + return INSTANCE.getLazyMessage(key, params); + } +} diff --git a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java index 8dde7f0f6316..f264495821e6 100644 --- a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java +++ b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java @@ -7,10 +7,10 @@ import com.intellij.openapi.roots.impl.DirectoryInfo; import com.intellij.openapi.roots.impl.ProjectFileIndexImpl; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiBundle; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.BitUtil; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.indexing.IndexingBundle; import gnu.trove.THashSet; import gnu.trove.TObjectIntHashMap; import org.intellij.lang.annotations.MagicConstant; @@ -108,8 +108,8 @@ public class ModuleWithDependenciesScope extends GlobalSearchScope { @NotNull @Override public String getDisplayName() { - return hasOption(COMPILE_ONLY) ? PsiBundle.message("search.scope.module", myModule.getName()) - : PsiBundle.message("search.scope.module.runtime", myModule.getName()); + return hasOption(COMPILE_ONLY) ? IndexingBundle.message("search.scope.module", myModule.getName()) + : IndexingBundle.message("search.scope.module.runtime", myModule.getName()); } @Override diff --git a/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java b/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java index 3f7edd1886c0..97484c396c53 100644 --- a/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java @@ -32,8 +32,6 @@ import com.intellij.psi.impl.cache.impl.id.IdIndex; import com.intellij.psi.impl.cache.impl.id.IdIndexEntry; import com.intellij.psi.search.*; import com.intellij.psi.util.PsiUtilCore; -import com.intellij.usageView.UsageInfo; -import com.intellij.usageView.UsageInfoFactory; import com.intellij.util.Processor; import com.intellij.util.Processors; import com.intellij.util.SmartList; @@ -41,6 +39,7 @@ import com.intellij.util.codeInsight.CommentUtilCore; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.indexing.DumbModeAccessType; import com.intellij.util.indexing.FileBasedIndex; +import com.intellij.util.indexing.IndexingBundle; import com.intellij.util.text.StringSearcher; import gnu.trove.THashMap; import gnu.trove.THashSet; @@ -256,13 +255,13 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { progress.pushState(); boolean result; try { - progress.setText(PsiBundle.message("psi.scanning.files.progress")); + progress.setText(IndexingBundle.message("psi.scanning.files.progress")); String text = searcher.getPattern(); Set fileSet = new THashSet<>(); getFilesWithText(scope, searchContext, caseSensitively, text, fileSet); - progress.setText(PsiBundle.message("psi.search.for.word.progress", text)); + progress.setText(IndexingBundle.message("psi.search.for.word.progress", text)); final Processor localProcessor = localProcessor(searcher, processor); if (containerName != null) { @@ -529,7 +528,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { progress.pushState(); final Ref stopped = Ref.create(Boolean.FALSE); try { - progress.setText(PsiBundle.message("psi.search.in.non.java.files.progress")); + progress.setText(IndexingBundle.message("psi.search.in.non.java.files.progress")); final SearchScope useScope = originalElement == null ? null : myDumbService.runReadActionInSmartMode(() -> getUseScope(originalElement)); @@ -745,7 +744,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { @NotNull ProgressIndicator progress, @NotNull Map> localProcessors) { progress.pushState(); - progress.setText(PsiBundle.message("psi.scanning.files.progress")); + progress.setText(IndexingBundle.message("psi.scanning.files.progress")); boolean result; try { @@ -764,7 +763,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { ProgressManager.checkCanceled(); allWords.add(singleRequest.getWord()); } - progress.setText(PsiBundle.message("psi.search.for.word.progress", getPresentableWordsDescription(allWords))); + progress.setText(IndexingBundle.message("psi.search.for.word.progress", getPresentableWordsDescription(allWords))); if (intersectionCandidateFiles.isEmpty()) { result = processCandidates(localProcessors, restCandidateFiles, progress, restCandidateFiles.size(), 0); diff --git a/platform/indexing-impl/src/com/intellij/usageView/UsageViewTypeLocation.java b/platform/indexing-impl/src/com/intellij/usageView/UsageViewTypeLocation.java index cac1dcfcf878..c4a880c8a78d 100644 --- a/platform/indexing-impl/src/com/intellij/usageView/UsageViewTypeLocation.java +++ b/platform/indexing-impl/src/com/intellij/usageView/UsageViewTypeLocation.java @@ -17,12 +17,12 @@ package com.intellij.usageView; import com.intellij.ide.TypePresentationService; -import com.intellij.lang.LangBundle; import com.intellij.lang.findUsages.LanguageFindUsages; import com.intellij.psi.*; import com.intellij.psi.meta.PsiMetaData; import com.intellij.psi.meta.PsiMetaOwner; import com.intellij.psi.meta.PsiPresentableMetaData; +import com.intellij.util.indexing.IndexingBundle; import org.jetbrains.annotations.NotNull; /** @@ -53,10 +53,10 @@ public class UsageViewTypeLocation extends ElementDescriptionLocation { } if (psiElement instanceof PsiFile) { - return LangBundle.message("terms.file"); + return IndexingBundle.message("terms.file"); } if (psiElement instanceof PsiDirectory) { - return LangBundle.message("terms.directory"); + return IndexingBundle.message("terms.directory"); } String type = LanguageFindUsages.getType(psiElement); diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindPopupScopeUIImpl.java b/platform/lang-impl/src/com/intellij/find/impl/FindPopupScopeUIImpl.java index fd058cb4dc34..feaf4a9902e9 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindPopupScopeUIImpl.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindPopupScopeUIImpl.java @@ -18,7 +18,6 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiBundle; import com.intellij.psi.search.SearchScope; import com.intellij.ui.SimpleListCellRenderer; import com.intellij.ui.scale.JBUIScale; @@ -26,6 +25,7 @@ import com.intellij.util.Functions; import com.intellij.util.ObjectUtils; import com.intellij.util.PlatformUtils; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.indexing.IndexingBundle; import com.intellij.util.ui.EmptyIcon; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -94,7 +94,7 @@ class FindPopupScopeUIImpl implements FindPopupScopeUI { final String moduleFilesScopeName; { - String moduleScopeName = PsiBundle.message("search.scope.module", ""); + String moduleScopeName = IndexingBundle.message("search.scope.module", ""); final int ind = moduleScopeName.indexOf(' '); moduleFilesScopeName = moduleScopeName.substring(0, ind + 1); } diff --git a/platform/platform-resources-en/src/messages/LangBundle.properties b/platform/platform-resources-en/src/messages/LangBundle.properties index 8f85af5afc47..55f0ee5067ca 100644 --- a/platform/platform-resources-en/src/messages/LangBundle.properties +++ b/platform/platform-resources-en/src/messages/LangBundle.properties @@ -16,7 +16,6 @@ java.terms.module=module java.terms.record.component=record component java.terms.label=label java.terms.constructor=constructor -terms.directory=directory terms.file=file java.terms.of.anonymous.class={0} of anonymous class java.terms.of.interface={0} of interface {1}