Fixed use of options
This commit is contained in:
@@ -392,16 +392,14 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
|
||||
failedToImportDescriptors: Set<DeclarationDescriptor>
|
||||
) : QualifiedExpressionShorteningVisitor(file, elementFilter, failedToImportDescriptors) {
|
||||
|
||||
override fun visitDotQualifiedExpression(expression: KtDotQualifiedExpression) {
|
||||
if (expression.receiverExpression is KtThisExpression && !options.removeThis) return
|
||||
super.visitDotQualifiedExpression(expression)
|
||||
}
|
||||
|
||||
override fun analyzeQualifiedElement(element: KtDotQualifiedExpression, bindingContext: BindingContext): AnalyzeQualifiedElementResult {
|
||||
val receiver = element.receiverExpression
|
||||
when (receiver) {
|
||||
is KtThisExpression -> {
|
||||
if (!options.removeThis) return Skip
|
||||
}
|
||||
else -> {
|
||||
if (bindingContext[BindingContext.QUALIFIER, receiver] == null) return Skip
|
||||
}
|
||||
}
|
||||
if (receiver !is KtThisExpression && bindingContext[BindingContext.QUALIFIER, receiver] == null) return Skip
|
||||
|
||||
if (PsiTreeUtil.getParentOfType(
|
||||
element,
|
||||
@@ -466,8 +464,6 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
|
||||
private val simpleThis = KtPsiFactory(file).createExpression("this") as KtThisExpression
|
||||
|
||||
override fun analyzeQualifiedElement(element: KtThisExpression, bindingContext: BindingContext): AnalyzeQualifiedElementResult {
|
||||
if (!options.removeThisLabels || element.getTargetLabel() == null) return Skip
|
||||
|
||||
val targetBefore = element.instanceReference.targets(bindingContext).singleOrNull() ?: return Skip
|
||||
val scope = element.getResolutionScope(bindingContext, resolutionFacade)
|
||||
val newContext = simpleThis.analyzeInContext(scope, element)
|
||||
@@ -476,7 +472,7 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT
|
||||
}
|
||||
|
||||
override fun visitThisExpression(expression: KtThisExpression) {
|
||||
if (elementFilter(expression) == FilterResult.PROCESS) {
|
||||
if (options.removeThisLabels && elementFilter(expression) == FilterResult.PROCESS && expression.getTargetLabel() != null) {
|
||||
addQualifiedElementToAnalyze(expression)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user