201: Processors changed for UsageInfo and SliceUsage
This commit is contained in:
+1
-3
@@ -24,8 +24,6 @@ import com.intellij.openapi.actionSystem.DataContext
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.PsiParameter
|
import com.intellij.psi.PsiParameter
|
||||||
import com.intellij.usageView.UsageInfo
|
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinCallableFindUsagesOptions
|
import org.jetbrains.kotlin.idea.findUsages.KotlinCallableFindUsagesOptions
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
@@ -75,7 +73,7 @@ class DelegatingFindMemberUsagesHandler(
|
|||||||
return kotlinHandler.getFindUsagesOptions(dataContext)
|
return kotlinHandler.getFindUsagesOptions(dataContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun processElementUsages(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
override fun processElementUsages(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Boolean {
|
||||||
val (handler, handlerOptions) = runReadAction { getHandlerAndOptions(element, options) } ?: return true
|
val (handler, handlerOptions) = runReadAction { getHandlerAndOptions(element, options) } ?: return true
|
||||||
return handler.processElementUsages(element, processor, handlerOptions!!)
|
return handler.processElementUsages(element, processor, handlerOptions!!)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -26,7 +26,6 @@ import com.intellij.psi.search.PsiElementProcessor
|
|||||||
import com.intellij.psi.search.PsiElementProcessorAdapter
|
import com.intellij.psi.search.PsiElementProcessorAdapter
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.usageView.UsageInfo
|
|
||||||
import com.intellij.util.FilteredQuery
|
import com.intellij.util.FilteredQuery
|
||||||
import com.intellij.util.Processor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
@@ -71,12 +70,12 @@ class KotlinFindClassUsagesHandler(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createSearcher(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Searcher {
|
override fun createSearcher(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Searcher {
|
||||||
return MySearcher(element, processor, options)
|
return MySearcher(element, processor, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
private class MySearcher(
|
private class MySearcher(
|
||||||
element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions
|
element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions
|
||||||
) : Searcher(element, processor, options) {
|
) : Searcher(element, processor, options) {
|
||||||
|
|
||||||
private val kotlinOptions = options as KotlinClassFindUsagesOptions
|
private val kotlinOptions = options as KotlinClassFindUsagesOptions
|
||||||
|
|||||||
+4
-5
@@ -30,6 +30,7 @@ import com.intellij.openapi.progress.ProgressManager
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.ui.MessageType
|
import com.intellij.openapi.ui.MessageType
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
|
import com.intellij.openapi.util.Key
|
||||||
import com.intellij.openapi.wm.ToolWindowId
|
import com.intellij.openapi.wm.ToolWindowId
|
||||||
import com.intellij.openapi.wm.ToolWindowManager
|
import com.intellij.openapi.wm.ToolWindowManager
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
@@ -37,7 +38,6 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.usageView.UsageInfo
|
|
||||||
import com.intellij.util.*
|
import com.intellij.util.*
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||||
@@ -67,7 +67,6 @@ import org.jetbrains.kotlin.resolve.findOriginalTopMostOverriddenDescriptors
|
|||||||
import org.jetbrains.kotlin.resolve.source.getPsi
|
import org.jetbrains.kotlin.resolve.source.getPsi
|
||||||
import javax.swing.event.HyperlinkEvent
|
import javax.swing.event.HyperlinkEvent
|
||||||
import javax.swing.event.HyperlinkListener
|
import javax.swing.event.HyperlinkListener
|
||||||
import com.intellij.openapi.util.Key
|
|
||||||
|
|
||||||
abstract class KotlinFindMemberUsagesHandler<T : KtNamedDeclaration> protected constructor(
|
abstract class KotlinFindMemberUsagesHandler<T : KtNamedDeclaration> protected constructor(
|
||||||
declaration: T,
|
declaration: T,
|
||||||
@@ -120,7 +119,7 @@ abstract class KotlinFindMemberUsagesHandler<T : KtNamedDeclaration> protected c
|
|||||||
factory: KotlinFindUsagesHandlerFactory
|
factory: KotlinFindUsagesHandlerFactory
|
||||||
) : KotlinFindMemberUsagesHandler<KtNamedDeclaration>(propertyDeclaration, elementsToSearch, factory) {
|
) : KotlinFindMemberUsagesHandler<KtNamedDeclaration>(propertyDeclaration, elementsToSearch, factory) {
|
||||||
|
|
||||||
override fun processElementUsages(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
override fun processElementUsages(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Boolean {
|
||||||
|
|
||||||
if (ApplicationManager.getApplication().isUnitTestMode ||
|
if (ApplicationManager.getApplication().isUnitTestMode ||
|
||||||
!isPropertyOfDataClass ||
|
!isPropertyOfDataClass ||
|
||||||
@@ -218,12 +217,12 @@ abstract class KotlinFindMemberUsagesHandler<T : KtNamedDeclaration> protected c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createSearcher(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Searcher {
|
override fun createSearcher(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Searcher {
|
||||||
return MySearcher(element, processor, options)
|
return MySearcher(element, processor, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
private inner class MySearcher(
|
private inner class MySearcher(
|
||||||
element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions
|
element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions
|
||||||
) : Searcher(element, processor, options) {
|
) : Searcher(element, processor, options) {
|
||||||
|
|
||||||
private val kotlinOptions = options as KotlinCallableFindUsagesOptions
|
private val kotlinOptions = options as KotlinCallableFindUsagesOptions
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
elementsToSearch.toTypedArray()
|
elementsToSearch.toTypedArray()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun searchTextOccurrences(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
private fun searchTextOccurrences(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Boolean {
|
||||||
if (!options.isSearchForTextOccurrences) return false
|
if (!options.isSearchForTextOccurrences) return false
|
||||||
|
|
||||||
val scope = options.searchScope
|
val scope = options.searchScope
|
||||||
@@ -70,13 +70,13 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun processElementUsages(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
override fun processElementUsages(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Boolean {
|
||||||
return searchReferences(element, processor, options, forHighlight = false) && searchTextOccurrences(element, processor, options)
|
return searchReferences(element, processor, options, forHighlight = false) && searchTextOccurrences(element, processor, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun searchReferences(
|
private fun searchReferences(
|
||||||
element: PsiElement,
|
element: PsiElement,
|
||||||
processor: Processor<UsageInfo>,
|
processor: UsageInfoProcessor,
|
||||||
options: FindUsagesOptions,
|
options: FindUsagesOptions,
|
||||||
forHighlight: Boolean
|
forHighlight: Boolean
|
||||||
): Boolean {
|
): Boolean {
|
||||||
@@ -85,7 +85,7 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
return searcher.executeTasks()
|
return searcher.executeTasks()
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun createSearcher(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Searcher
|
protected abstract fun createSearcher(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Searcher
|
||||||
|
|
||||||
override fun findReferencesToHighlight(target: PsiElement, searchScope: SearchScope): Collection<PsiReference> {
|
override fun findReferencesToHighlight(target: PsiElement, searchScope: SearchScope): Collection<PsiReference> {
|
||||||
val results = Collections.synchronizedList(arrayListOf<PsiReference>())
|
val results = Collections.synchronizedList(arrayListOf<PsiReference>())
|
||||||
@@ -101,7 +101,7 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
return results
|
return results
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract class Searcher(val element: PsiElement, val processor: Processor<UsageInfo>, val options: FindUsagesOptions) {
|
protected abstract class Searcher(val element: PsiElement, val processor: UsageInfoProcessor, val options: FindUsagesOptions) {
|
||||||
private val tasks = ArrayList<() -> Boolean>()
|
private val tasks = ArrayList<() -> Boolean>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -127,7 +127,7 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
companion object {
|
companion object {
|
||||||
val LOG = Logger.getInstance(KotlinFindUsagesHandler::class.java)
|
val LOG = Logger.getInstance(KotlinFindUsagesHandler::class.java)
|
||||||
|
|
||||||
internal fun processUsage(processor: Processor<UsageInfo>, ref: PsiReference): Boolean =
|
internal fun processUsage(processor: UsageInfoProcessor, ref: PsiReference): Boolean =
|
||||||
processor.processIfNotNull {
|
processor.processIfNotNull {
|
||||||
when {
|
when {
|
||||||
ref is LightMemberReference -> KotlinReferencePreservingUsageInfo(ref)
|
ref is LightMemberReference -> KotlinReferencePreservingUsageInfo(ref)
|
||||||
@@ -136,15 +136,15 @@ abstract class KotlinFindUsagesHandler<T : PsiElement>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun processUsage(processor: Processor<UsageInfo>, element: PsiElement): Boolean =
|
internal fun processUsage(processor: UsageInfoProcessor, element: PsiElement): Boolean =
|
||||||
processor.processIfNotNull { if (element.isValid) UsageInfo(element) else null }
|
processor.processIfNotNull { if (element.isValid) UsageInfo(element) else null }
|
||||||
|
|
||||||
private fun Processor<UsageInfo>.processIfNotNull(callback: () -> UsageInfo?): Boolean {
|
private fun UsageInfoProcessor.processIfNotNull(callback: () -> UsageInfo?): Boolean {
|
||||||
val usageInfo = runReadAction(callback)
|
val usageInfo = runReadAction(callback)
|
||||||
return if (usageInfo != null) process(usageInfo) else true
|
return if (usageInfo != null) process(usageInfo) else true
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun createReferenceProcessor(usageInfoProcessor: Processor<UsageInfo>): Processor<PsiReference> {
|
internal fun createReferenceProcessor(usageInfoProcessor: UsageInfoProcessor): Processor<PsiReference> {
|
||||||
val uniqueProcessor = CommonProcessors.UniqueProcessor(usageInfoProcessor)
|
val uniqueProcessor = CommonProcessors.UniqueProcessor(usageInfoProcessor)
|
||||||
|
|
||||||
return Processor { processUsage(uniqueProcessor, it) }
|
return Processor { processUsage(uniqueProcessor, it) }
|
||||||
|
|||||||
+1
-3
@@ -21,8 +21,6 @@ import com.intellij.find.findUsages.FindUsagesOptions
|
|||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.usageView.UsageInfo
|
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
||||||
import org.jetbrains.kotlin.idea.findUsages.dialogs.KotlinTypeParameterFindUsagesDialog
|
import org.jetbrains.kotlin.idea.findUsages.dialogs.KotlinTypeParameterFindUsagesDialog
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
@@ -39,7 +37,7 @@ class KotlinTypeParameterFindUsagesHandler(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createSearcher(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Searcher {
|
override fun createSearcher(element: PsiElement, processor: UsageInfoProcessor, options: FindUsagesOptions): Searcher {
|
||||||
return object : Searcher(element, processor, options) {
|
return object : Searcher(element, processor, options) {
|
||||||
override fun buildTaskList(forHighlight: Boolean): Boolean {
|
override fun buildTaskList(forHighlight: Boolean): Boolean {
|
||||||
addTask {
|
addTask {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.findUsages.handlers
|
||||||
|
|
||||||
|
import com.intellij.slicer.SliceUsage
|
||||||
|
import com.intellij.usageView.UsageInfo
|
||||||
|
import com.intellij.util.Processor
|
||||||
|
|
||||||
|
// BUNCH: 193
|
||||||
|
typealias UsageInfoProcessor = Processor<UsageInfo>
|
||||||
|
typealias SliceUsageProcessor = Processor<SliceUsage>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.findUsages.handlers
|
||||||
|
|
||||||
|
import com.intellij.slicer.SliceUsage
|
||||||
|
import com.intellij.usageView.UsageInfo
|
||||||
|
import com.intellij.util.Processor
|
||||||
|
|
||||||
|
// BUNCH: 193
|
||||||
|
typealias UsageInfoProcessor = Processor<in UsageInfo>
|
||||||
|
typealias SliceUsageProcessor = Processor<in SliceUsage>
|
||||||
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.slicer.SliceAnalysisParams
|
import com.intellij.slicer.SliceAnalysisParams
|
||||||
import com.intellij.slicer.SliceUsage
|
import com.intellij.slicer.SliceUsage
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import com.intellij.util.Processor
|
import org.jetbrains.kotlin.idea.findUsages.handlers.SliceUsageProcessor
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
|
|
||||||
open class KotlinSliceUsage : SliceUsage {
|
open class KotlinSliceUsage : SliceUsage {
|
||||||
@@ -57,11 +57,11 @@ open class KotlinSliceUsage : SliceUsage {
|
|||||||
|
|
||||||
override fun canBeLeaf() = element != null && lambdaLevel == 0
|
override fun canBeLeaf() = element != null && lambdaLevel == 0
|
||||||
|
|
||||||
public override fun processUsagesFlownDownTo(element: PsiElement, uniqueProcessor: Processor<SliceUsage>) {
|
public override fun processUsagesFlownDownTo(element: PsiElement, uniqueProcessor: SliceUsageProcessor) {
|
||||||
InflowSlicer(element as? KtExpression ?: return, uniqueProcessor, this).processChildren()
|
InflowSlicer(element as? KtExpression ?: return, uniqueProcessor, this).processChildren()
|
||||||
}
|
}
|
||||||
|
|
||||||
public override fun processUsagesFlownFromThe(element: PsiElement, uniqueProcessor: Processor<SliceUsage>) {
|
public override fun processUsagesFlownFromThe(element: PsiElement, uniqueProcessor: SliceUsageProcessor) {
|
||||||
OutflowSlicer(element as? KtExpression ?: return, uniqueProcessor, this).processChildren()
|
OutflowSlicer(element as? KtExpression ?: return, uniqueProcessor, this).processChildren()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,9 +16,7 @@ import com.intellij.psi.search.LocalSearchScope
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.slicer.JavaSliceUsage
|
import com.intellij.slicer.JavaSliceUsage
|
||||||
import com.intellij.slicer.SliceUsage
|
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import com.intellij.util.Processor
|
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
|
import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.PseudoValue
|
import org.jetbrains.kotlin.cfg.pseudocode.PseudoValue
|
||||||
@@ -36,6 +34,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.*
|
|||||||
import org.jetbrains.kotlin.idea.core.isOverridable
|
import org.jetbrains.kotlin.idea.core.isOverridable
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinFunctionFindUsagesOptions
|
import org.jetbrains.kotlin.idea.findUsages.KotlinFunctionFindUsagesOptions
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinPropertyFindUsagesOptions
|
import org.jetbrains.kotlin.idea.findUsages.KotlinPropertyFindUsagesOptions
|
||||||
|
import org.jetbrains.kotlin.idea.findUsages.handlers.SliceUsageProcessor
|
||||||
import org.jetbrains.kotlin.idea.findUsages.processAllExactUsages
|
import org.jetbrains.kotlin.idea.findUsages.processAllExactUsages
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinValVar
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinValVar
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.toValVar
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.toValVar
|
||||||
@@ -122,7 +121,7 @@ private fun KtParameter.canProcess() = !isVarArg
|
|||||||
|
|
||||||
abstract class Slicer(
|
abstract class Slicer(
|
||||||
protected val element: KtExpression,
|
protected val element: KtExpression,
|
||||||
protected val processor: Processor<SliceUsage>,
|
protected val processor: SliceUsageProcessor,
|
||||||
protected val parentUsage: KotlinSliceUsage
|
protected val parentUsage: KotlinSliceUsage
|
||||||
) {
|
) {
|
||||||
protected class PseudocodeCache {
|
protected class PseudocodeCache {
|
||||||
@@ -151,7 +150,7 @@ abstract class Slicer(
|
|||||||
|
|
||||||
class InflowSlicer(
|
class InflowSlicer(
|
||||||
element: KtExpression,
|
element: KtExpression,
|
||||||
processor: Processor<SliceUsage>,
|
processor: SliceUsageProcessor,
|
||||||
parentUsage: KotlinSliceUsage
|
parentUsage: KotlinSliceUsage
|
||||||
) : Slicer(element, processor, parentUsage) {
|
) : Slicer(element, processor, parentUsage) {
|
||||||
private fun PsiElement.processHierarchyDownwardAndPass() {
|
private fun PsiElement.processHierarchyDownwardAndPass() {
|
||||||
@@ -382,7 +381,7 @@ class InflowSlicer(
|
|||||||
|
|
||||||
class OutflowSlicer(
|
class OutflowSlicer(
|
||||||
element: KtExpression,
|
element: KtExpression,
|
||||||
processor: Processor<SliceUsage>,
|
processor: SliceUsageProcessor,
|
||||||
parentUsage: KotlinSliceUsage
|
parentUsage: KotlinSliceUsage
|
||||||
) : Slicer(element, processor, parentUsage) {
|
) : Slicer(element, processor, parentUsage) {
|
||||||
private fun KtDeclaration.processVariable() {
|
private fun KtDeclaration.processVariable() {
|
||||||
|
|||||||
Reference in New Issue
Block a user