Fix not generating KotlinLightField for OBJECT$ and INSTANCE$ fields

Fix navigation from Java to such fields
Fix TODO in converter
This commit is contained in:
Pavel V. Talanov
2014-10-02 18:13:24 +04:00
parent b2ec5e1ec4
commit 95302fd540
8 changed files with 57 additions and 12 deletions
@@ -17,13 +17,13 @@
package org.jetbrains.jet.asJava
import com.intellij.psi.*
import org.jetbrains.jet.lang.psi.JetProperty
import org.jetbrains.jet.lang.psi.JetDeclaration
class KotlinLightFieldForDeclaration(
manager: PsiManager,
origin: JetProperty,
origin: JetDeclaration,
field: PsiField,
containingClass: PsiClass
) : KotlinLightField<JetProperty, PsiField>(manager, origin, field, containingClass) {
) : KotlinLightField<JetDeclaration, PsiField>(manager, origin, field, containingClass) {
override fun copy() = KotlinLightFieldForDeclaration(getManager()!!, getOrigin(), getDelegate(), getContainingClass()!!)
}
@@ -117,8 +117,8 @@ public abstract class KotlinWrappingLightClass extends AbstractLightClass implem
return new KotlinLightEnumConstant(myManager, (JetEnumEntry) declaration, ((PsiEnumConstant) field),
KotlinWrappingLightClass.this);
}
if (declaration instanceof JetProperty) {
return new KotlinLightFieldForDeclaration(myManager, (JetProperty) declaration, field, KotlinWrappingLightClass.this);
if (declaration != null) {
return new KotlinLightFieldForDeclaration(myManager, declaration, field, KotlinWrappingLightClass.this);
}
return new LightField(myManager, field, KotlinWrappingLightClass.this);
}