Make it possible to get diagnostics factory was registered for

This commit is contained in:
Nikolay Krasko
2015-10-06 16:27:23 +03:00
committed by Nikolay Krasko
parent efaa1d9614
commit 013b257347
2 changed files with 5 additions and 2 deletions
@@ -48,6 +48,10 @@ public class QuickFixes {
return actions.get(diagnosticFactory) return actions.get(diagnosticFactory)
} }
public fun getDiagnostics(factory: JetIntentionActionsFactory): Collection<DiagnosticFactory<*>> {
return factories.keySet().filter { factory in factories.get(it) }
}
companion object { companion object {
public fun getInstance(): QuickFixes = ServiceManager.getService(javaClass<QuickFixes>()) public fun getInstance(): QuickFixes = ServiceManager.getService(javaClass<QuickFixes>())
} }
@@ -29,7 +29,6 @@ import com.intellij.psi.util.PsiModificationTracker
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.JetBundle
import org.jetbrains.kotlin.idea.actions.KotlinAddImportAction import org.jetbrains.kotlin.idea.actions.KotlinAddImportAction
import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.analyze
@@ -113,7 +112,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction<Jet
override fun isApplicableForCodeFragment() = true override fun isApplicableForCodeFragment() = true
private val ERRORS = setOf(Errors.UNRESOLVED_REFERENCE, Errors.UNRESOLVED_REFERENCE_WRONG_RECEIVER) private val ERRORS by lazy(LazyThreadSafetyMode.PUBLICATION ) { QuickFixes.getInstance().getDiagnostics(this) }
public fun computeSuggestions(element: JetSimpleNameExpression): Collection<DeclarationDescriptor> { public fun computeSuggestions(element: JetSimpleNameExpression): Collection<DeclarationDescriptor> {
if (!element.isValid()) return emptyList() if (!element.isValid()) return emptyList()