Extract method refactoring should order parameters by first usage
Fixes #KT-16198
This commit is contained in:
+3
-5
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -39,7 +39,6 @@ import org.jetbrains.kotlin.cfg.pseudocodeTraverser.traverseFollowingInstruction
|
|||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
@@ -65,7 +64,6 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
|||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsStatement
|
import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsStatement
|
||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||||
import org.jetbrains.kotlin.types.*
|
import org.jetbrains.kotlin.types.*
|
||||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
|
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
|
||||||
@@ -694,7 +692,7 @@ fun ExtractionData.performAnalysis(): AnalysisResult {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
val adjustedParameters = paramsInfo.parameters.filterTo(HashSet<Parameter>()) { it.refCount > 0 }
|
val adjustedParameters = paramsInfo.parameters.filterTo(LinkedHashSet<Parameter>()) { it.refCount > 0 }
|
||||||
|
|
||||||
val receiverCandidates = adjustedParameters.filterTo(HashSet<Parameter>()) { it.receiverCandidate }
|
val receiverCandidates = adjustedParameters.filterTo(HashSet<Parameter>()) { it.receiverCandidate }
|
||||||
val receiverParameter = if (receiverCandidates.size == 1 && !options.canWrapInWith) receiverCandidates.first() else null
|
val receiverParameter = if (receiverCandidates.size == 1 && !options.canWrapInWith) receiverCandidates.first() else null
|
||||||
@@ -705,7 +703,7 @@ fun ExtractionData.performAnalysis(): AnalysisResult {
|
|||||||
bindingContext,
|
bindingContext,
|
||||||
suggestFunctionNames(returnType),
|
suggestFunctionNames(returnType),
|
||||||
getDefaultVisibility(),
|
getDefaultVisibility(),
|
||||||
adjustedParameters.sortedBy { it.name },
|
adjustedParameters.toList(),
|
||||||
receiverParameter,
|
receiverParameter,
|
||||||
paramsInfo.typeParameters.sortedBy { it.originalDeclaration.name!! },
|
paramsInfo.typeParameters.sortedBy { it.originalDeclaration.name!! },
|
||||||
paramsInfo.replacementMap,
|
paramsInfo.replacementMap,
|
||||||
|
|||||||
+3
-6
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -26,8 +26,6 @@ import org.jetbrains.kotlin.cfg.pseudocode.getExpectedTypePredicate
|
|||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.InstructionWithReceivers
|
import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.InstructionWithReceivers
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
||||||
import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator
|
import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator
|
||||||
@@ -47,7 +45,6 @@ import org.jetbrains.kotlin.resolve.calls.tasks.isSynthesizedInvoke
|
|||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.getImportableDescriptor
|
import org.jetbrains.kotlin.resolve.descriptorUtil.getImportableDescriptor
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ImplicitReceiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ImplicitReceiver
|
||||||
@@ -62,7 +59,7 @@ import java.util.*
|
|||||||
internal class ParametersInfo {
|
internal class ParametersInfo {
|
||||||
var errorMessage: AnalysisResult.ErrorMessage? = null
|
var errorMessage: AnalysisResult.ErrorMessage? = null
|
||||||
val originalRefToParameter = MultiMap.create<KtSimpleNameExpression, MutableParameter>()
|
val originalRefToParameter = MultiMap.create<KtSimpleNameExpression, MutableParameter>()
|
||||||
val parameters = HashSet<MutableParameter>()
|
val parameters = LinkedHashSet<MutableParameter>()
|
||||||
val typeParameters = HashSet<TypeParameter>()
|
val typeParameters = HashSet<TypeParameter>()
|
||||||
val nonDenotableTypes = HashSet<KotlinType>()
|
val nonDenotableTypes = HashSet<KotlinType>()
|
||||||
val replacementMap = MultiMap.create<KtSimpleNameExpression, Replacement>()
|
val replacementMap = MultiMap.create<KtSimpleNameExpression, Replacement>()
|
||||||
@@ -78,7 +75,7 @@ internal fun ExtractionData.inferParametersInfo(
|
|||||||
): ParametersInfo {
|
): ParametersInfo {
|
||||||
val info = ParametersInfo()
|
val info = ParametersInfo()
|
||||||
|
|
||||||
val extractedDescriptorToParameter = HashMap<DeclarationDescriptor, MutableParameter>()
|
val extractedDescriptorToParameter = LinkedHashMap<DeclarationDescriptor, MutableParameter>()
|
||||||
|
|
||||||
for (refInfo in getBrokenReferencesInfo(virtualBlock)) {
|
for (refInfo in getBrokenReferencesInfo(virtualBlock)) {
|
||||||
val ref = refInfo.refExpr
|
val ref = refInfo.refExpr
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|||||||
Vendored
+3
-3
@@ -1,16 +1,16 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|
||||||
return i(a, b)
|
return i(b, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(a: Int, b: Int): Int {
|
private fun i(b: Int, a: Int): Int {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
b1 += a
|
b1 += a
|
||||||
println(b1)
|
println(b1)
|
||||||
|
|||||||
+1
-1
@@ -2,8 +2,8 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|||||||
+3
-3
@@ -2,13 +2,13 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|
||||||
val pair = pair(a, b)
|
val pair = pair(b, a)
|
||||||
b = pair.second
|
b = pair.second
|
||||||
val t = pair.first
|
val t = pair.first
|
||||||
println(b)
|
println(b)
|
||||||
@@ -16,7 +16,7 @@ fun foo(a: Int): Int {
|
|||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun pair(a: Int, b: Int): Pair<Int, Int> {
|
private fun pair(b: Int, a: Int): Pair<Int, Int> {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
return Pair({ b1 += a; b1 }(), b1)
|
return Pair({ b1 += a; b1 }(), b1)
|
||||||
}
|
}
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
|
|||||||
+3
-3
@@ -2,22 +2,22 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
var c: Int = 1
|
var c: Int = 1
|
||||||
|
|
||||||
val pair = pair(a, b, c)
|
val pair = pair(b, a, c)
|
||||||
b = pair.first
|
b = pair.first
|
||||||
c = pair.second
|
c = pair.second
|
||||||
|
|
||||||
return b + c
|
return b + c
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
private fun pair(b: Int, a: Int, c: Int): Pair<Int, Int> {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
var c1 = c
|
var c1 = c
|
||||||
b1 += a
|
b1 += a
|
||||||
|
|||||||
+1
-1
@@ -2,8 +2,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
|
|||||||
Vendored
+3
-3
@@ -2,8 +2,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
@@ -11,14 +11,14 @@ fun foo(a: Int): Int {
|
|||||||
var c: Int = 1
|
var c: Int = 1
|
||||||
val pair = 2
|
val pair = 2
|
||||||
|
|
||||||
val pair1 = pair(a, b, c)
|
val pair1 = pair(b, a, c)
|
||||||
b = pair1.first
|
b = pair1.first
|
||||||
c = pair1.second
|
c = pair1.second
|
||||||
|
|
||||||
return b + c
|
return b + c
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun pair(a: Int, b: Int, c: Int): Pair<Int, Int> {
|
private fun pair(b: Int, a: Int, c: Int): Pair<Int, Int> {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
var c1 = c
|
var c1 = c
|
||||||
b1 += a
|
b1 += a
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|||||||
Vendored
+3
-3
@@ -1,17 +1,17 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
|
|
||||||
b = i(a, b)
|
b = i(b, a)
|
||||||
|
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(a: Int, b: Int): Int {
|
private fun i(b: Int, a: Int): Int {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
b1 += a
|
b1 += a
|
||||||
println(b1)
|
println(b1)
|
||||||
|
|||||||
Vendored
+1
-1
@@ -5,8 +5,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
||||||
|
|||||||
+3
-3
@@ -5,8 +5,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var e: kotlin.Int defined in foo
|
||||||
@@ -17,7 +17,7 @@ fun foo(a: Int): Int {
|
|||||||
var d: Int = 1
|
var d: Int = 1
|
||||||
var e: Int = 1
|
var e: Int = 1
|
||||||
|
|
||||||
val list = list(a, b, c, d, e)
|
val list = list(b, a, c, d, e)
|
||||||
b = list[0]
|
b = list[0]
|
||||||
c = list[1]
|
c = list[1]
|
||||||
d = list[2]
|
d = list[2]
|
||||||
@@ -26,7 +26,7 @@ fun foo(a: Int): Int {
|
|||||||
return b + c + d + e
|
return b + c + d + e
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun list(a: Int, b: Int, c: Int, d: Int, e: Int): List<Int> {
|
private fun list(b: Int, a: Int, c: Int, d: Int, e: Int): List<Int> {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
var c1 = c
|
var c1 = c
|
||||||
var d1 = d
|
var d1 = d
|
||||||
|
|||||||
+1
-1
@@ -3,8 +3,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
|
|||||||
+3
-3
@@ -3,8 +3,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var d: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
@@ -13,7 +13,7 @@ fun foo(a: Int): Int {
|
|||||||
var c: Int = 1
|
var c: Int = 1
|
||||||
var d: Int = 1
|
var d: Int = 1
|
||||||
|
|
||||||
val triple = triple(a, b, c, d)
|
val triple = triple(b, a, c, d)
|
||||||
b = triple.first
|
b = triple.first
|
||||||
c = triple.second
|
c = triple.second
|
||||||
d = triple.third
|
d = triple.third
|
||||||
@@ -21,7 +21,7 @@ fun foo(a: Int): Int {
|
|||||||
return b + c + d
|
return b + c + d
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun triple(a: Int, b: Int, c: Int, d: Int): Triple<Int, Int, Int> {
|
private fun triple(b: Int, a: Int, c: Int, d: Int): Triple<Int, Int, Int> {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
var c1 = c
|
var c1 = c
|
||||||
var d1 = d
|
var d1 = d
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,8 +2,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
|
|||||||
+3
-3
@@ -2,20 +2,20 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var b: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: var c: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(a: Int): Int {
|
fun foo(a: Int): Int {
|
||||||
var b: Int = 1
|
var b: Int = 1
|
||||||
var c: Int = 1
|
var c: Int = 1
|
||||||
|
|
||||||
b = i(a, b, c)
|
b = i(b, a, c)
|
||||||
|
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(a: Int, b: Int, c: Int): Int {
|
private fun i(b: Int, a: Int, c: Int): Int {
|
||||||
var b1 = b
|
var b1 = b
|
||||||
var c1 = c
|
var c1 = c
|
||||||
b1 += a
|
b1 += a
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
|
|
||||||
// PARAM_TYPES: X<kotlin.Any>
|
// PARAM_TYPES: X<kotlin.Any>
|
||||||
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
||||||
class X<T> {
|
class X<T> {
|
||||||
fun add(t: T) {
|
fun add(t: T) {
|
||||||
|
|
||||||
|
|||||||
Vendored
+4
-4
@@ -1,7 +1,7 @@
|
|||||||
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
|
|
||||||
// PARAM_TYPES: X<kotlin.Any>
|
// PARAM_TYPES: X<kotlin.Any>
|
||||||
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
||||||
class X<T> {
|
class X<T> {
|
||||||
fun add(t: T) {
|
fun add(t: T) {
|
||||||
|
|
||||||
@@ -11,10 +11,10 @@ class X<T> {
|
|||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(s: String?, x: X<Any>) {
|
fun foo(s: String?, x: X<Any>) {
|
||||||
when {
|
when {
|
||||||
s != null -> __dummyTestFun__(s, x)
|
s != null -> __dummyTestFun__(x, s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun __dummyTestFun__(s: String, x: X<Any>) {
|
private fun __dummyTestFun__(x: X<Any>, s: String) {
|
||||||
x.add(s)
|
x.add(s)
|
||||||
}
|
}
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<kotlin.String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
|
|
||||||
// PARAM_TYPES: X<kotlin.Any?>
|
// PARAM_TYPES: X<kotlin.Any?>
|
||||||
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<kotlin.String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
||||||
class X<T> {
|
class X<T> {
|
||||||
fun add(t: T) {
|
fun add(t: T) {
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,7 +1,7 @@
|
|||||||
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<kotlin.String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
|
|
||||||
// PARAM_TYPES: X<kotlin.Any?>
|
// PARAM_TYPES: X<kotlin.Any?>
|
||||||
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<kotlin.String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
|
||||||
class X<T> {
|
class X<T> {
|
||||||
fun add(t: T) {
|
fun add(t: T) {
|
||||||
|
|
||||||
@@ -11,10 +11,10 @@ class X<T> {
|
|||||||
// SIBLING:
|
// SIBLING:
|
||||||
fun foo(s: String?, x: X<Any?>) {
|
fun foo(s: String?, x: X<Any?>) {
|
||||||
when {
|
when {
|
||||||
s != null -> __dummyTestFun__(s, x)
|
s != null -> __dummyTestFun__(x, s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun __dummyTestFun__(s: String?, x: X<Any?>) {
|
private fun __dummyTestFun__(x: X<Any?>, s: String?) {
|
||||||
x.add(s)
|
x.add(s)
|
||||||
}
|
}
|
||||||
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar(m: Int) = this * m * n
|
fun Int.bar(m: Int) = this * m * n
|
||||||
|
|
||||||
|
|||||||
Vendored
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar(m: Int) = this * m * n
|
fun Int.bar(m: Int) = this * m * n
|
||||||
|
|
||||||
return i(Int::bar, n)
|
return i(n, Int::bar)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(bar: Int.(m: Int) -> Int, n: Int) = n.bar(n + 1)
|
private fun i(n: Int, bar: Int.(m: Int) -> Int) = n.bar(n + 1)
|
||||||
+4
-3
@@ -1,10 +1,11 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
|
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar1(m: Int) = this + m + n
|
fun Int.bar1(m: Int) = this + m + n
|
||||||
fun Int.bar2(m: Int) = this * m * n
|
fun Int.bar2(m: Int) = this * m * n
|
||||||
|
|||||||
+6
-5
@@ -1,15 +1,16 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
|
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar1(m: Int) = this + m + n
|
fun Int.bar1(m: Int) = this + m + n
|
||||||
fun Int.bar2(m: Int) = this * m * n
|
fun Int.bar2(m: Int) = this * m * n
|
||||||
|
|
||||||
return i(Int::bar1, Int::bar2, n)
|
return i(n, Int::bar1, Int::bar2)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(bar1: Int.(m: Int) -> Int, bar2: Int.(m: Int) -> Int, n: Int) = n.bar1(n + 1).bar2(n + 2)
|
private fun i(n: Int, bar1: Int.(m: Int) -> Int, bar2: Int.(m: Int) -> Int) = n.bar1(n + 1).bar2(n + 2)
|
||||||
idea/testData/refactoring/extractFunction/parameters/capturedFunctions/localExtensionFunInfixCall.kt
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar(m: Int) = this * m * n
|
fun Int.bar(m: Int) = this * m * n
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
// OPTIONS: true, false, false, false, true, false
|
// OPTIONS: true, false, false, false, true, false
|
||||||
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): kotlin.Int defined in foo
|
||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
|
// PARAM_TYPES: kotlin.Int.(m: kotlin.Int) -> kotlin.Int
|
||||||
fun foo(n: Int): Int {
|
fun foo(n: Int): Int {
|
||||||
fun Int.bar(m: Int) = this * m * n
|
fun Int.bar(m: Int) = this * m * n
|
||||||
|
|
||||||
return i(Int::bar, n)
|
return i(n, Int::bar)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(bar: Int.(m: Int) -> Int, n: Int) = n bar (n + 1)
|
private fun i(n: Int, bar: Int.(m: Int) -> Int) = n bar (n + 1)
|
||||||
+1
-1
@@ -4,8 +4,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
|
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
|
||||||
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
public class A() {
|
public class A() {
|
||||||
fun bar(a: Int, b: Int): Int {
|
fun bar(a: Int, b: Int): Int {
|
||||||
|
|||||||
+3
-3
@@ -4,8 +4,8 @@
|
|||||||
// PARAM_TYPES: kotlin.Int
|
// PARAM_TYPES: kotlin.Int
|
||||||
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
|
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
|
||||||
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
|
||||||
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
|
|
||||||
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
|
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
|
||||||
|
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
|
||||||
// SIBLING:
|
// SIBLING:
|
||||||
public class A() {
|
public class A() {
|
||||||
fun bar(a: Int, b: Int): Int {
|
fun bar(a: Int, b: Int): Int {
|
||||||
@@ -13,10 +13,10 @@ public class A() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun i(a: A, t: Int, u: Int, x: Int) = a.bar(t - x, u + x)
|
private fun i(a: A, t: Int, x: Int, u: Int) = a.bar(t - x, u + x)
|
||||||
|
|
||||||
fun foo(a: A, x: Int): Int {
|
fun foo(a: A, x: Int): Int {
|
||||||
val t = 10
|
val t = 10
|
||||||
val u = 20
|
val u = 20
|
||||||
return i(a, t, u, x)
|
return i(a, t, x, u)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user