Drop isOverridableHeuristic and use isOverridable from utils instead
This commit is contained in:
@@ -39,6 +39,7 @@ import org.jetbrains.jet.asJava.LightClassUtil;
|
|||||||
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor;
|
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.Modality;
|
import org.jetbrains.jet.lang.descriptors.Modality;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
|
import org.jetbrains.jet.lang.psi.psiUtil.PsiUtilPackage;
|
||||||
import org.jetbrains.jet.lexer.JetTokens;
|
import org.jetbrains.jet.lexer.JetTokens;
|
||||||
import org.jetbrains.jet.plugin.ProjectRootsUtil;
|
import org.jetbrains.jet.plugin.ProjectRootsUtil;
|
||||||
import org.jetbrains.jet.plugin.highlighter.markers.MarkersPackage;
|
import org.jetbrains.jet.plugin.highlighter.markers.MarkersPackage;
|
||||||
@@ -222,20 +223,6 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isOverridableHeuristic(JetNamedDeclaration declaration) {
|
|
||||||
PsiElement parent = declaration.getParent();
|
|
||||||
if (parent instanceof JetFile) return false;
|
|
||||||
if (parent instanceof JetClassBody && parent.getParent() instanceof JetClass) {
|
|
||||||
// Not all open or abstract declarations are actually overridable, but this is heuristic
|
|
||||||
return declaration.hasModifier(JetTokens.ABSTRACT_KEYWORD) ||
|
|
||||||
declaration.hasModifier(JetTokens.OPEN_KEYWORD) ||
|
|
||||||
declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD) ||
|
|
||||||
((JetClass) parent.getParent()).isTrait();
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isImplemented(JetNamedDeclaration declaration) {
|
public static boolean isImplemented(JetNamedDeclaration declaration) {
|
||||||
if (declaration.hasModifier(JetTokens.ABSTRACT_KEYWORD)) return true;
|
if (declaration.hasModifier(JetTokens.ABSTRACT_KEYWORD)) return true;
|
||||||
|
|
||||||
@@ -250,7 +237,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
|
|||||||
private static void collectOverridingPropertiesAccessors(Collection<JetProperty> properties, Collection<LineMarkerInfo> result) {
|
private static void collectOverridingPropertiesAccessors(Collection<JetProperty> properties, Collection<LineMarkerInfo> result) {
|
||||||
Map<PsiMethod, JetProperty> mappingToJava = Maps.newHashMap();
|
Map<PsiMethod, JetProperty> mappingToJava = Maps.newHashMap();
|
||||||
for (JetProperty property : properties) {
|
for (JetProperty property : properties) {
|
||||||
if (isOverridableHeuristic(property)) {
|
if (PsiUtilPackage.isOverridable(property)) {
|
||||||
LightClassUtil.PropertyAccessorsPsiMethods accessorsPsiMethods = LightClassUtil.getLightClassPropertyMethods(property);
|
LightClassUtil.PropertyAccessorsPsiMethods accessorsPsiMethods = LightClassUtil.getLightClassPropertyMethods(property);
|
||||||
for (PsiMethod psiMethod : accessorsPsiMethods) {
|
for (PsiMethod psiMethod : accessorsPsiMethods) {
|
||||||
mappingToJava.put(psiMethod, property);
|
mappingToJava.put(psiMethod, property);
|
||||||
@@ -281,7 +268,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
|
|||||||
private static void collectOverridingAccessors(Collection<JetNamedFunction> functions, Collection<LineMarkerInfo> result) {
|
private static void collectOverridingAccessors(Collection<JetNamedFunction> functions, Collection<LineMarkerInfo> result) {
|
||||||
Map<PsiMethod, JetNamedFunction> mappingToJava = Maps.newHashMap();
|
Map<PsiMethod, JetNamedFunction> mappingToJava = Maps.newHashMap();
|
||||||
for (JetNamedFunction function : functions) {
|
for (JetNamedFunction function : functions) {
|
||||||
if (isOverridableHeuristic(function)) {
|
if (PsiUtilPackage.isOverridable(function)) {
|
||||||
PsiMethod method = LightClassUtil.getLightClassMethod(function);
|
PsiMethod method = LightClassUtil.getLightClassMethod(function);
|
||||||
if (method != null) {
|
if (method != null) {
|
||||||
mappingToJava.put(method, function);
|
mappingToJava.put(method, function);
|
||||||
|
|||||||
Reference in New Issue
Block a user