[devkit] Remove IntentionsImplicitPropertyUsageProvider.java

No more actual after 4dd821b5bd260c0722dddf78a69b8e683a792240 IPP: no more calculated properties Bas Leijdekkers 31/05/2022 16:59

GitOrigin-RevId: 4a733e79deaa2c90c92eddaaf5afa3aeda5fc3ea
This commit is contained in:
Tagir Valeev
2023-07-17 11:31:44 +02:00
committed by intellij-monorepo-bot
parent f75307dc8f
commit ff28f2909f
2 changed files with 0 additions and 68 deletions

View File

@@ -32,7 +32,5 @@
implementationClass="org.jetbrains.idea.devkit.i18n.DevKitPropertiesMessageValidationInspection"
key="inspection.dev.kit.properties.message.validation.display.name"/>
<inspectionElementsMerger implementation="org.jetbrains.idea.devkit.i18n.DevKitPropertiesMessageValidationInspectionMerger"/>
<properties.implicitPropertyUsageProvider implementation="org.jetbrains.idea.devkit.i18n.IntentionsImplicitPropertyUsageProvider"/>
</extensions>
</idea-plugin>

View File

@@ -1,66 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.devkit.i18n;
import com.intellij.lang.properties.codeInspection.unused.ImplicitPropertyUsageProvider;
import com.intellij.lang.properties.psi.Property;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiFile;
import com.intellij.psi.search.GlobalSearchScopes;
import com.intellij.psi.search.PsiShortNamesCache;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.util.containers.ContainerUtil;
import com.siyeh.ipp.base.Intention;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.devkit.references.MessageBundleReferenceContributor;
import org.jetbrains.idea.devkit.util.PsiUtil;
final class IntentionsImplicitPropertyUsageProvider implements ImplicitPropertyUsageProvider {
private static final String _FAMILY_NAME = ".family.name";
private static final String _NAME = ".name";
@Override
public boolean isUsed(@NotNull Property property) {
PsiFile containingFile = property.getContainingFile();
Project project = containingFile.getProject();
if (PsiUtil.isIdeaProject(project) &&
containingFile.getName().endsWith(MessageBundleReferenceContributor.BUNDLE_PROPERTIES)) {
String name = property.getName();
if (name != null) {
int length = name.length();
int limit;
if (name.endsWith(_FAMILY_NAME)) {
limit = length - _FAMILY_NAME.length();
}
else if (name.endsWith(_NAME)) {
limit = length - _NAME.length();
}
else {
return false;
}
boolean toUpperCase = true;
StringBuilder buf = new StringBuilder();
for (int i = 0; i < limit; i++) {
if (name.charAt(i) == '.') {
toUpperCase = true;
}
else {
if (toUpperCase) {
buf.append(Character.toUpperCase(name.charAt(i)));
}
else {
buf.append(name.charAt(i));
}
toUpperCase = false;
}
}
PsiClass[] classes =
PsiShortNamesCache.getInstance(project).getClassesByName(buf.toString(), GlobalSearchScopes.projectProductionScope(project));
return ContainerUtil.exists(classes, aClass -> InheritanceUtil.isInheritor(aClass, Intention.class.getName()));
}
}
return false;
}
}