mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
[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:
committed by
intellij-monorepo-bot
parent
f75307dc8f
commit
ff28f2909f
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user