Support reporting errors on class objects and any classes or objects contained anywhere
This commit is contained in:
+12
-11
@@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory.*
|
||||
import org.jetbrains.jet.lang.psi.JetParameter
|
||||
import org.jetbrains.jet.lang.psi.JetClass
|
||||
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory
|
||||
import org.jetbrains.jet.lang.psi.JetClassObject
|
||||
|
||||
public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Diagnostics): Diagnostics? {
|
||||
fun doGetDiagnostics(): Diagnostics? {
|
||||
@@ -46,19 +47,20 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia
|
||||
return getDiagnosticsForClass(parentClass)
|
||||
}
|
||||
}
|
||||
|
||||
if (parent is JetFile) {
|
||||
if (element is JetClassOrObject) {
|
||||
return getDiagnosticsForClass(element)
|
||||
}
|
||||
return getDiagnosticsForPackage(parent as JetFile)
|
||||
if (element is JetClassOrObject) {
|
||||
return getDiagnosticsForClass(element)
|
||||
}
|
||||
|
||||
if (parent is JetClassBody) {
|
||||
val parentsParent = parent?.getParent()
|
||||
when (parent) {
|
||||
is JetFile -> {
|
||||
return getDiagnosticsForPackage(parent as JetFile)
|
||||
}
|
||||
is JetClassBody -> {
|
||||
val parentsParent = parent?.getParent()
|
||||
|
||||
if (parentsParent is JetClassOrObject) {
|
||||
return getDiagnosticsForClass(parentsParent)
|
||||
if (parentsParent is JetClassOrObject) {
|
||||
return getDiagnosticsForClass(parentsParent)
|
||||
}
|
||||
}
|
||||
}
|
||||
return null
|
||||
@@ -125,7 +127,6 @@ class FilteredJvmDiagnostics(val jvmDiagnostics: Diagnostics, val otherDiagnosti
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun ConflictingJvmDeclarationsData.higherThan(other: ConflictingJvmDeclarationsData): Boolean {
|
||||
return when (other.classOrigin.originKind) {
|
||||
PACKAGE_PART -> this.classOrigin.originKind == PACKAGE_FACADE
|
||||
|
||||
Reference in New Issue
Block a user