summaryrefslogtreecommitdiffstats
path: root/integration
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-11 10:20:07 +0100
committerJon Bratseth <bratseth@gmail.com>2022-02-11 10:20:07 +0100
commite1bfa376347292a2432f028331701f7aab42a46d (patch)
treeced03ccddc902918a8a3569ae4ac615c4581d519 /integration
parenta2cbabc172100e9264a36a6a7bfc220df622bbac (diff)
Return profile
Diffstat (limited to 'integration')
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java2
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java2
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/model/RankProfile.java6
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/psi/SdFunctionDefinitionInterface.java4
-rw-r--r--integration/intellij/src/test/java/ai/vespa/intellij/model/SchemaTest.java12
5 files changed, 14 insertions, 12 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 3d38b071ed3..c8110bbd977 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
@@ -184,7 +184,7 @@ public class SdUtil {
.findAny();
if (function.isPresent()) return function;
for (var parent : new RankProfile(profile).findInherited()) {
- function = findFunction(functionName, parent);
+ function = findFunction(functionName, parent.definition());
if (function.isPresent()) return function;
}
return Optional.empty();
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java
index da8be16cca2..a3e25cea745 100644
--- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java
+++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java
@@ -45,7 +45,7 @@ public class SdHierarchyUtil {
if (thisProfile.getName().equals(targetProfile.getName())) return true;
return new RankProfile(thisProfile).findInherited()
.stream()
- .anyMatch(parent -> isChildOf(targetProfile, parent));
+ .anyMatch(parent -> isChildOf(targetProfile, parent.definition()));
}
public static Comparator<NodeDescriptor<?>> getComparator(Project project) {
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/RankProfile.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/RankProfile.java
index 27430fcfbcb..2cc299a4eb3 100644
--- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/RankProfile.java
+++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/RankProfile.java
@@ -27,6 +27,8 @@ public class RankProfile {
this.definition = definition;
}
+ public String name() { return definition.getName(); }
+
public SdRankProfileDefinition definition() { return definition; }
/**
@@ -34,13 +36,13 @@ public class RankProfile {
*
* @return the profiles this inherits from, empty if none
*/
- public List<SdRankProfileDefinition> findInherited() {
+ public List<RankProfile> findInherited() {
ASTNode inheritsNode = definition.getNode().findChildByType(SdTypes.INHERITS);
if (inheritsNode == null) return List.of();
return inherits().stream()
.map(parentIdentifierAST -> parentIdentifierAST.getPsi().getReference())
.filter(reference -> reference != null)
- .map(reference -> (SdRankProfileDefinition)reference.resolve())
+ .map(reference -> new RankProfile((SdRankProfileDefinition)reference.resolve()))
.collect(Collectors.toList());
}
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/psi/SdFunctionDefinitionInterface.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/psi/SdFunctionDefinitionInterface.java
index 06928a46cc7..48eb9b3831c 100644
--- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/psi/SdFunctionDefinitionInterface.java
+++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/psi/SdFunctionDefinitionInterface.java
@@ -16,7 +16,7 @@ public interface SdFunctionDefinitionInterface extends SdDeclaration {
SdRankProfileDefinition thisRankProfile = PsiTreeUtil.getParentOfType(this, SdRankProfileDefinition.class);
if (thisRankProfile == null) return false;
for (var parentProfile : new RankProfile(thisRankProfile).findInherited()) {
- if (containsFunction(functionName, parentProfile))
+ if (containsFunction(functionName, parentProfile.definition()))
return true;
}
return false;
@@ -26,7 +26,7 @@ public interface SdFunctionDefinitionInterface extends SdDeclaration {
if (SdUtil.functionsIn(new RankProfile(rankProfile)).containsKey(functionName))
return true;
for (var parentProfile : new RankProfile(rankProfile).findInherited()) {
- if (containsFunction(functionName, parentProfile))
+ if (containsFunction(functionName, parentProfile.definition()))
return true;
}
return false;
diff --git a/integration/intellij/src/test/java/ai/vespa/intellij/model/SchemaTest.java b/integration/intellij/src/test/java/ai/vespa/intellij/model/SchemaTest.java
index 432509a101c..5870d71329b 100644
--- a/integration/intellij/src/test/java/ai/vespa/intellij/model/SchemaTest.java
+++ b/integration/intellij/src/test/java/ai/vespa/intellij/model/SchemaTest.java
@@ -35,10 +35,10 @@ public class SchemaTest extends LightJavaCodeInsightFixtureTestCase {
assertEquals("simple.sd", schema.definition().getName());
RankProfile profile = RankProfile.fromProjectFile(getProject(), "simple.sd", "simple-profile");
assertEquals("simple-profile", profile.definition().getName());
- List<SdRankProfileDefinition> parents = profile.findInherited();
+ List<RankProfile> parents = profile.findInherited();
assertEquals(2, parents.size());
- assertEquals("parent-profile1", parents.get(0).getName());
- assertEquals("parent-profile2", parents.get(1).getName());
+ assertEquals("parent-profile1", parents.get(0).name());
+ assertEquals("parent-profile2", parents.get(1).name());
}
@Test
@@ -49,10 +49,10 @@ public class SchemaTest extends LightJavaCodeInsightFixtureTestCase {
assertEquals("child.sd", schema.definition().getName());
RankProfile profile = RankProfile.fromProjectFile(getProject(), "child.sd", "child_profile");
assertEquals("child_profile", profile.definition().getName());
- List<SdRankProfileDefinition> parents = profile.findInherited();
+ List<RankProfile> parents = profile.findInherited();
assertEquals(2, parents.size());
- assertEquals("other_child_profile", parents.get(0).getName());
- // assertEquals("parent-profile", parents.get(1).getName()); TODO
+ assertEquals("other_child_profile", parents.get(0).name());
+ // assertEquals("parent-profile", parents.get(1).name()); TODO
}
}