aboutsummaryrefslogtreecommitdiffstats
path: root/integration
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-13 16:53:44 +0100
committerJon Bratseth <bratseth@gmail.com>2022-02-13 16:53:44 +0100
commita1827da86c2bc601de75a18ce2f5c5c7faed5e2f (patch)
treee05c7737c07062d9b412202715fb7a5dc72cdcc5 /integration
parent90e705497a710bfb0ac7710206e7963dea7ece3e (diff)
Pass RankProfile
Diffstat (limited to 'integration')
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
index 546f2030002..558c0d84e1e 100644
--- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
+++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
@@ -153,7 +153,7 @@ public class SdUtil {
// If element is a function's name, return the most specific declaration of the function
if (((SdIdentifier) element).isFunctionName(file, name)) {
var profile = (SdRankProfileDefinition)PsiTreeUtil.getParentOfType(element, SdRankProfileDefinition.class);
- Optional<SdFunctionDefinition> function = findFunction(name, profile);
+ Optional<SdFunctionDefinition> function = findFunction(name, new RankProfile(profile, null));
if (function.isPresent()) {
result.add(function.get());
return result;
@@ -177,14 +177,14 @@ public class SdUtil {
*
* NOTE: Only profiles in the same file is considered
*/
- private static Optional<SdFunctionDefinition> findFunction(String functionName, SdRankProfileDefinition profile) {
- Optional<SdFunctionDefinition> function = PsiTreeUtil.collectElementsOfType(profile, SdFunctionDefinition.class)
+ private static Optional<SdFunctionDefinition> findFunction(String functionName, RankProfile profile) {
+ Optional<SdFunctionDefinition> function = PsiTreeUtil.collectElementsOfType(profile.definition(), SdFunctionDefinition.class)
.stream()
.filter(f -> f.getName().equals(functionName))
.findAny();
if (function.isPresent()) return function;
- for (var parent : new RankProfile(profile, null).findInherited()) {
- function = findFunction(functionName, parent.definition());
+ for (var parent : profile.findInherited()) {
+ function = findFunction(functionName, parent);
if (function.isPresent()) return function;
}
return Optional.empty();