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