blob: d37381713430b98b0678a8a4e5a109fc6ffa19d7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package org.intellij.sdk.language.psi;
import com.intellij.psi.util.PsiTreeUtil;
import org.intellij.sdk.language.SdUtil;
/**
* This interface represents a function's declaration in the SD language.
* @author shahariel
*/
public interface SdFunctionDefinitionInterface extends SdDeclaration {
default boolean isOverride() {
String macroName = this.getName();
SdRankProfileDefinition curRankProfile = PsiTreeUtil.getParentOfType(this, SdRankProfileDefinition.class);
if (curRankProfile != null) {
curRankProfile = (SdRankProfileDefinition) SdUtil.getRankProfileParent(curRankProfile);
}
while (curRankProfile != null) {
for (SdFunctionDefinition macro : PsiTreeUtil.collectElementsOfType(curRankProfile, SdFunctionDefinition.class)) {
if (macro.getName().equals(macroName)) {
return true;
}
}
curRankProfile = (SdRankProfileDefinition) SdUtil.getRankProfileParent(curRankProfile);
}
return false;
}
}
|