Fix reporting errors on properties declared in constructors

This commit is contained in:
Andrey Breslav
2014-06-06 12:07:32 +04:00
parent 27f76630e6
commit 6bbc8ea951
3 changed files with 17 additions and 0 deletions
@@ -29,6 +29,8 @@ import org.jetbrains.jet.lang.resolve.java.diagnostics.ConflictingJvmDeclaration
import org.jetbrains.jet.lang.resolve.java.diagnostics.JvmDeclarationOriginKind.*
import org.jetbrains.jet.lang.diagnostics.Errors.*
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory.*
import org.jetbrains.jet.lang.psi.JetParameter
import org.jetbrains.jet.lang.psi.JetClass
public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Diagnostics): Diagnostics? {
fun doGetDiagnostics(): Diagnostics? {
@@ -36,6 +38,13 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia
if (element is JetPropertyAccessor) {
parent = parent?.getParent()
}
if (element is JetParameter && element.getValOrVarNode() != null) {
// property declared in constructor
val parentClass = parent?.getParent() as? JetClass
if (parentClass != null) {
return getDiagnosticsForNonLocalClass(parentClass)
}
}
if (parent is JetFile) {
if (element is JetClassOrObject) {