Supported constructors.

EA-43090 - assert: KotlinSignatureInJavaMarkerProvider.collectSlowLineMarkers (couldn't find descriptor)
This commit is contained in:
Evgeny Gerashchenko
2013-01-21 19:54:29 +04:00
parent 6bec3c9366
commit bfa20f7156
@@ -39,6 +39,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassNonStaticMembersScope;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.JetScope;
@@ -161,7 +162,13 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider {
Name name = Name.identifier(memberNameAsString); Name name = Name.identifier(memberNameAsString);
if (member instanceof PsiMethod) { if (member instanceof PsiMethod) {
memberScope.getFunctions(name); if (((PsiMethod) member).isConstructor()) {
assert memberScope instanceof JavaClassNonStaticMembersScope;
((JavaClassNonStaticMembersScope) memberScope).getConstructors();
}
else {
memberScope.getFunctions(name);
}
} }
else if (member instanceof PsiField) { else if (member instanceof PsiField) {
memberScope.getProperties(name); memberScope.getProperties(name);