From 8055cf0704267f222966d597799655731b78b38f Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Fri, 13 Jan 2012 03:55:11 +0400 Subject: [PATCH] fix another case of property resolution val T.prop: Something --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 5 +++-- compiler/testData/readClass/prop/ExtValClass.kt | 4 ++++ compiler/testData/readClass/prop/ExtVarClass.kt | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 compiler/testData/readClass/prop/ExtValClass.kt create mode 100644 compiler/testData/readClass/prop/ExtVarClass.kt diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 16dcc83c13a..d5379cf073e 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1012,7 +1012,6 @@ public class JavaDescriptorResolver { PsiType receiverType = entry.getValue().receiverType; MembersForProperty members = entry.getValue(); - JetType type = semanticServices.getTypeTransformer().transformToType(propertyType); boolean isFinal; if (members.setter == null && members.getter == null) { isFinal = false; @@ -1023,7 +1022,7 @@ public class JavaDescriptorResolver { } else { isFinal = false; } - + PsiMemberWrapper anyMember; if (members.getter != null) { anyMember = members.getter; @@ -1088,6 +1087,8 @@ public class JavaDescriptorResolver { receiverJetType = semanticServices.getTypeTransformer().transformToType(receiverType); } + JetType type = semanticServices.getTypeTransformer().transformToType(propertyType); + propertyDescriptor.setType( type, typeParameters, diff --git a/compiler/testData/readClass/prop/ExtValClass.kt b/compiler/testData/readClass/prop/ExtValClass.kt new file mode 100644 index 00000000000..02c6edf89ec --- /dev/null +++ b/compiler/testData/readClass/prop/ExtValClass.kt @@ -0,0 +1,4 @@ +package test + +val

P.anotherJavaClass: java.lang.Class

+ get() = throw Exception() diff --git a/compiler/testData/readClass/prop/ExtVarClass.kt b/compiler/testData/readClass/prop/ExtVarClass.kt new file mode 100644 index 00000000000..f32b9564961 --- /dev/null +++ b/compiler/testData/readClass/prop/ExtVarClass.kt @@ -0,0 +1,5 @@ +package test + +var

P.anotherJavaClass: java.lang.Class

+ get() = throw Exception() + set(p: java.lang.Class

) = throw Exception()