diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Diagnostics.kt b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Diagnostics.kt index 72b2078c7ba..88ef251d5c7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Diagnostics.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Diagnostics.kt @@ -17,27 +17,25 @@ package org.jetbrains.jet.lang.resolve import com.intellij.psi.PsiElement -import org.jetbrains.annotations.ReadOnly import org.jetbrains.jet.lang.diagnostics.Diagnostic -import java.util.Collections public trait Diagnostics : Iterable { public fun all(): Collection public fun forElement(psiElement: PsiElement): Collection - public fun isEmpty(): Boolean + public fun isEmpty(): Boolean = all().isEmpty() public fun noSuppression(): Diagnostics + override fun iterator() = all().iterator() + class object { public val EMPTY: Diagnostics = object : Diagnostics { + override fun noSuppression(): Diagnostics = this override fun all() = listOf() override fun forElement(psiElement: PsiElement) = listOf() - override fun isEmpty() = true - override fun noSuppression() = this - override fun iterator() = all().iterator() } } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/SimpleDiagnostics.kt b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/SimpleDiagnostics.kt index 2d94dea0821..403e350b8b8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/SimpleDiagnostics.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/SimpleDiagnostics.kt @@ -30,8 +30,4 @@ public class SimpleDiagnostics(diagnostics: Collection) : Diagnostic override fun forElement(psiElement: PsiElement) = elementsCache.getDiagnostics(psiElement) override fun noSuppression() = this - - override fun iterator() = all().iterator() - - override fun isEmpty() = all().isEmpty() }