diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java b/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java index 037ab9d6b94..d0ccbe95d2a 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java @@ -63,7 +63,14 @@ public class JetClsNavigationPolicy implements ClsCustomNavigationPolicy { @Override @Nullable public PsiElement getNavigationElement(@NotNull ClsFieldImpl clsField) { - return getJetDeclarationByClsElement(clsField); + JetDeclaration jetDeclaration = getJetDeclarationByClsElement(clsField); + if (jetDeclaration instanceof JetProperty) { + JetDeclaration sourceProperty = JetSourceNavigationHelper.getSourceProperty((JetProperty) jetDeclaration); + if (sourceProperty != null) { + return sourceProperty; + } + } + return jetDeclaration; } @Nullable diff --git a/idea/testData/libraries/usercode/Enum.kt b/idea/testData/libraries/usercode/Enum.kt index a2f0dcbca6a..c1709a55747 100644 --- a/idea/testData/libraries/usercode/Enum.kt +++ b/idea/testData/libraries/usercode/Enum.kt @@ -4,4 +4,5 @@ val color: Color? = Color.RED val rgb = color?.rgb // main.kt -//public enum class <1><2>Color(val <3>rgb : Int) { \ No newline at end of file +//public enum class <1><2>Color(val <4>rgb : Int) { +// <3>RED : Color(0xFF0000) \ No newline at end of file