From 7e14cab4c51ce705be86ff75f92ab7142f76ecad Mon Sep 17 00:00:00 2001 From: develar Date: Mon, 29 Apr 2019 10:11:55 +0200 Subject: [PATCH] use textMatches instead of getting text GitOrigin-RevId: 6facdb54840d289469320e143a3936748ae87b23 --- .../devkit-core/src/util/ExtensionLocator.kt | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/plugins/devkit/devkit-core/src/util/ExtensionLocator.kt b/plugins/devkit/devkit-core/src/util/ExtensionLocator.kt index 3dbb00935b90..fc7c5e7651a3 100644 --- a/plugins/devkit/devkit-core/src/util/ExtensionLocator.kt +++ b/plugins/devkit/devkit-core/src/util/ExtensionLocator.kt @@ -31,26 +31,19 @@ internal fun processExtensionDeclarations(name: String, project: Project, strict val scope = PluginRelatedLocatorsUtils.getCandidatesScope(project) PsiSearchHelper.getInstance(project).processElementsWithWord( { element, offsetInElement -> - if (element !is XmlTag) { - return@processElementsWithWord true + val elementAtOffset = (element as? XmlTag)?.findElementAt(offsetInElement) ?: return@processElementsWithWord true + if (strictMatch) { + if (!elementAtOffset.textMatches(name)) { + return@processElementsWithWord true + } } - - val elementAtOffset = element.findElementAt(offsetInElement) - if (elementAtOffset == null) { - return@processElementsWithWord true - } - - val foundText = elementAtOffset.text - if (!strictMatch && !StringUtil.contains(foundText, name)) { - return@processElementsWithWord true - } - if (strictMatch && !StringUtil.equals(foundText, name)) { + else if (!StringUtil.contains(elementAtOffset.text, name)) { return@processElementsWithWord true } val extension = DomManager.getDomManager(project).getDomElement(element) as? Extension ?: return@processElementsWithWord true callback(extension, element) - }, scope, name, UsageSearchContext.IN_FOREIGN_LANGUAGES, true /* case-sensitive */) + }, scope, name, UsageSearchContext.IN_FOREIGN_LANGUAGES, /* case-sensitive = */ true) } private fun findExtensionsByClassName(project: Project, className: String): List {