From 37d73274829daa6137f7996426fd6770bf78525a Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 6 Apr 2015 20:23:39 +0300 Subject: [PATCH] Implement visitPrimaryConstructor in LazyDeclarationResolver It's need to prevent exception when trying to analyze each declaration node within class #KT-7279 Fixed #KT-7315 Fixed --- .../kotlin/resolve/lazy/LazyDeclarationResolver.java | 7 +++++++ .../findUsages/kotlin/defaultObject/inContainingClass.0.kt | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java index 601b00d74fc..9e441db6205 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java @@ -180,6 +180,13 @@ public class LazyDeclarationResolver { return getBindingContext().get(BindingContext.CONSTRUCTOR, constructor); } + @Override + public DeclarationDescriptor visitPrimaryConstructor(@NotNull JetPrimaryConstructor constructor, Void data) { + JetClass klass = constructor.getContainingClass(); + getClassDescriptor(klass).getConstructors(); + return getBindingContext().get(BindingContext.CONSTRUCTOR, klass); + } + @Override public DeclarationDescriptor visitProperty(@NotNull JetProperty property, Void data) { JetScope scopeForDeclaration = resolutionScopeToResolveDeclaration(property); diff --git a/idea/testData/findUsages/kotlin/defaultObject/inContainingClass.0.kt b/idea/testData/findUsages/kotlin/defaultObject/inContainingClass.0.kt index fd5b1f3ec8e..01b3633b51b 100644 --- a/idea/testData/findUsages/kotlin/defaultObject/inContainingClass.0.kt +++ b/idea/testData/findUsages/kotlin/defaultObject/inContainingClass.0.kt @@ -1,6 +1,6 @@ // PSI_ELEMENT: org.jetbrains.kotlin.psi.JetObjectDeclaration // OPTIONS: usages -class A { +class A() { init { foo() v