Formatter: shouldn't format property chains

#KT-36387 Fixed
#KT-36466 Fixed
This commit is contained in:
Dmitry Gridin
2020-02-13 17:29:40 +07:00
parent 522eeae062
commit feaa53c4f2
16 changed files with 887 additions and 331 deletions
@@ -123,31 +123,15 @@ abstract class KotlinCommonBlock(
return nodeSubBlocks
}
private fun ASTNode.isQualifiedNode(strict: Boolean = false): Boolean {
if (strict) return elementType in QUALIFIED_EXPRESSIONS
var currentNode: ASTNode? = this
while (currentNode != null) {
if (currentNode.elementType in QUALIFIED_EXPRESSIONS) return true
if (currentNode.elementType != PARENTHESIZED && currentNode.psi?.safeAs<KtPostfixExpression>()
?.operationToken != EXCLEXCL
) return false
currentNode = currentNode.treeParent
}
return false
}
private fun splitSubBlocksOnDot(nodeSubBlocks: List<ASTBlock>): List<ASTBlock> {
if (node.treeParent?.isQualifiedNode() == true) return nodeSubBlocks
if (!canWrapCallChain(node)) return nodeSubBlocks
if (node.treeParent?.isQualifier == true || node.isCallChainWithoutWrap) return nodeSubBlocks
val operationBlockIndex = nodeSubBlocks.indexOfBlockWithType(QUALIFIED_OPERATION)
if (operationBlockIndex == -1) return nodeSubBlocks
val block = nodeSubBlocks.first()
val wrap = createWrapForQualifiedExpression(node)
val indent = createIndentForQualifiedExpression(block)
val wrap = createWrapForQualifierExpression(node)
val indent = createIndentForQualifierExpression(node)
val newBlock = block.processBlock(indent, wrap)
return nodeSubBlocks.replaceBlock(newBlock, 0).splitAtIndex(operationBlockIndex, indent, wrap)
}
@@ -158,21 +142,16 @@ abstract class KotlinCommonBlock(
@Suppress("UNCHECKED_CAST")
val subBlocks = subBlocks as List<ASTBlock>
val elementType = currentNode.elementType
val index = when (elementType) {
PARENTHESIZED -> subBlocks.indexOfFirst { block ->
val type = block.requireNode().elementType
type != LPAR && type !in WHITE_SPACE_OR_COMMENT_BIT_SET
}
POSTFIX_EXPRESSION, in QUALIFIED_EXPRESSIONS -> 0
else -> return this
}
if (elementType != POSTFIX_EXPRESSION && elementType !in QUALIFIED_EXPRESSIONS) return this
val index = 0
val resultWrap = if (currentNode.wrapForFirstCallInChainIsAllowed)
wrap.takeIf { elementType != PARENTHESIZED } ?: createWrapForQualifiedExpression(currentNode)
wrap ?: createWrapForQualifierExpression(currentNode)
else
null
val newBlock = subBlocks.elementAt(index).processBlock(indent, resultWrap)
return subBlocks.replaceBlock(newBlock, index).let {
val operationIndex = subBlocks.indexOfBlockWithType(QUALIFIED_OPERATION)
if (operationIndex != -1)
@@ -184,23 +163,25 @@ abstract class KotlinCommonBlock(
private fun List<ASTBlock>.replaceBlock(block: ASTBlock, index: Int = 0): List<ASTBlock> = toMutableList().apply { this[index] = block }
private val ASTNode.wrapForFirstCallInChainIsAllowed
get() = settings.kotlinCommonSettings.WRAP_FIRST_METHOD_IN_CALL_CHAIN ||
settings.kotlinCommonSettings.METHOD_CALL_CHAIN_WRAP != CommonCodeStyleSettings.WRAP_AS_NEEDED ||
firstChildNode?.isQualifiedNode(true) == true
private val ASTNode.wrapForFirstCallInChainIsAllowed: Boolean
get() {
if (unwrapQualifier()?.isCall != true) return false
return settings.kotlinCommonSettings.WRAP_FIRST_METHOD_IN_CALL_CHAIN || receiverIsCall()
}
private fun createWrapForQualifiedExpression(node: ASTNode): Wrap? = if (node.wrapForFirstCallInChainIsAllowed)
Wrap.createWrap(
settings.kotlinCommonSettings.METHOD_CALL_CHAIN_WRAP,
settings.kotlinCommonSettings.WRAP_FIRST_METHOD_IN_CALL_CHAIN,
)
else
null
private fun createWrapForQualifierExpression(node: ASTNode): Wrap? =
if (node.wrapForFirstCallInChainIsAllowed && node.receiverIsCall())
Wrap.createWrap(
settings.kotlinCommonSettings.METHOD_CALL_CHAIN_WRAP,
true /* wrapFirstElement */,
)
else
null
private fun createIndentForQualifiedExpression(block: ASTBlock): Indent {
private fun createIndentForQualifierExpression(node: ASTNode): Indent {
// enforce indent to children when there's a line break before the dot in any call in the chain (meaning that
// the call chain following that call is indented)
val enforceIndentToChildren = anyCallInCallChainIsWrapped(block)
val enforceIndentToChildren = anyCallInCallChainIsWrapped(node)
val indentType = if (settings.kotlinCustomSettings.CONTINUATION_INDENT_FOR_CHAINED_CALLS) {
if (enforceIndentToChildren) Indent.Type.CONTINUATION else Indent.Type.CONTINUATION_WITHOUT_FIRST
@@ -249,29 +230,6 @@ abstract class KotlinCommonBlock(
return subList(0, index) + operationSyntheticBlock
}
private fun anyCallInCallChainIsWrapped(astBlock: ASTBlock): Boolean {
var result: ASTBlock? = astBlock
while (true) {
if (result == null || !isCallBlock(result)) return false
val dot = result.node?.findChildByType(QUALIFIED_OPERATION)
if (dot != null && hasLineBreakBefore(dot)) {
return true
}
result = result.subBlocks.firstOrNull() as? ASTBlock?
}
}
private fun isCallBlock(astBlock: ASTBlock): Boolean {
val node = astBlock.requireNode()
val lastChildElementType = node.lastChildNode?.elementType
return node.isQualifiedNode() && (lastChildElementType == CALL_EXPRESSION || lastChildElementType == REFERENCE_EXPRESSION)
}
private fun canWrapCallChain(node: ASTNode): Boolean {
val callChainParent = node.parents().firstOrNull { !it.isQualifiedNode() } ?: return true
return callChainParent.elementType !in QUALIFIED_EXPRESSIONS_WITHOUT_WRAP
}
private fun splitSubBlocksOnElvis(nodeSubBlocks: List<ASTBlock>): List<ASTBlock> {
val elvisIndex = nodeSubBlocks.indexOfBlockWithType(ELVIS_SET)
if (elvisIndex >= 0) {
@@ -827,6 +785,54 @@ abstract class KotlinCommonBlock(
}
}
private fun ASTNode.qualifierReceiver(): ASTNode? = unwrapQualifier()?.psi
?.safeAs<KtQualifiedExpression>()
?.receiverExpression
?.node
?.unwrapQualifier()
private tailrec fun ASTNode.unwrapQualifier(): ASTNode? {
if (elementType in QUALIFIED_EXPRESSIONS) return this
val psi = psi as? KtPostfixExpression ?: return null
if (psi.operationToken != EXCLEXCL) return null
return psi.baseExpression?.node?.unwrapQualifier()
}
private fun ASTNode.receiverIsCall(): Boolean = qualifierReceiver()?.isCall == true
private val ASTNode.isCallChainWithoutWrap: Boolean
get() {
val callChainParent = parents().firstOrNull { !it.isQualifier } ?: return true
return callChainParent.elementType in QUALIFIED_EXPRESSIONS_WITHOUT_WRAP
}
private val ASTNode.isQualifier: Boolean
get() {
var currentNode: ASTNode? = this
while (currentNode != null) {
if (currentNode.elementType in QUALIFIED_EXPRESSIONS) return true
if (currentNode.psi?.safeAs<KtPostfixExpression>()?.operationToken != EXCLEXCL) return false
currentNode = currentNode.treeParent
}
return false
}
private val ASTNode.isCall: Boolean
get() = unwrapQualifier()?.lastChildNode?.elementType == CALL_EXPRESSION
private fun anyCallInCallChainIsWrapped(node: ASTNode): Boolean {
val sequentialCalls = generateSequence(node) { it.firstChildNode }.takeWhile { it.isCall }
return sequentialCalls.any { call ->
val qualifier = call.findChildByType(QUALIFIED_OPERATION)
qualifier != null && hasLineBreakBefore(qualifier)
}
}
private fun ASTNode.isFirstParameter(): Boolean = treePrev?.elementType == LPAR
private fun wrapAfterAnnotation(wrapType: Int): WrappingStrategy {
@@ -983,8 +989,7 @@ private val INDENT_RULES = arrayOf(
strategy("Chained calls")
.within(QUALIFIED_EXPRESSIONS)
.notForType(DOT, SAFE_ACCESS)
.forElement { it.treeParent.firstChildNode != it }
.forType(EOL_COMMENT, BLOCK_COMMENT, DOC_COMMENT, SHEBANG_COMMENT)
.continuationIf(KotlinCodeStyleSettings::CONTINUATION_INDENT_FOR_CHAINED_CALLS),
strategy("Colon of delegation list")
@@ -8,15 +8,13 @@ val x2 = foo()
.baz()
.quux()
val x3 = ((foo()
.bar()))
val x3 = ((foo().bar()))
.baz()
.quux()
val x4 = (foo()
.bar()
.baz())
.quux()
.baz()).quux()
val x5 = (foo())
.bar()
@@ -38,8 +36,49 @@ val x8 = foo!!!!!!!!
.baz()!!
.quux()!!
val x9 = ((b!!)!!!!)!!
.f
val x9 = ((b!!)!!!!)!!.f
val x10 = a()!!.a()
val x11 = a()!!!!.a()
val x12 = a()!!
.a()!!
.a()
val x13 = a()!!!!
.a()
.a()
val x14 = a().a()
val x15 = (a()).a()
val x16 = (a())
.a()
.a()
val x17 = (a().a()).a()
val x18 = (a().a())
.a()
.a()
val x18 = (a()
.a()
.a())
.a()
.a()
val x19 = (a()
.a()
.a()).a()
val x20 = foo!!.foo
.baz()!!
.quux()!!.foo.foo.foo.baz().foo
.baz()
.baz()
val y = xyzzy(foo
.bar()
@@ -90,4 +129,4 @@ fun foo() {
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
// SET_TRUE: ALLOW_TRAILING_COMMA
// SET_TRUE: ALLOW_TRAILING_COMMA
@@ -30,6 +30,39 @@ val x8 = foo!!!!!!!!.bar()
val x9 = ((b!!)!!!!)!!.f
val x10 = a()!!.a()
val x11 = a()!!!!.a()
val x12 = a()!!.a()!!
.a()
val x13 = a()!!!!.a()
.a()
val x14 = a().a()
val x15 = (a()).a()
val x16 = (a()).a()
.a()
val x17 = (a().a()).a()
val x18 = (a().a()).a()
.a()
val x18 = (a().a()
.a()).a()
.a()
val x19 = (a().a()
.a()).a()
val x20 = foo!!.foo.baz()!!
.quux()!!.foo.foo.foo.baz().foo.baz()
.baz()
val y = xyzzy(foo.bar()
.baz()
.quux())
+24
View File
@@ -16,6 +16,30 @@ val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = a()!!.a()
val x11 = a()!!!!.a()
val x12 = a()!!.a()!!.a()
val x13 = a()!!!!.a().a()
val x14 = a().a()
val x15 = (a()).a()
val x16 = (a()).a().a()
val x17 = (a().a()).a()
val x18 = (a().a()).a().a()
val x18 = (a().a().a()).a().a()
val x19 = (a().a().a()).a()
val x20 = foo!!.foo.baz()!!.quux()!!.foo.foo.foo.baz().foo.baz().baz()
val y = xyzzy(foo.bar().baz().quux())
fun foo() {
@@ -1,116 +1,124 @@
fun test() {
INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.adad.adad
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.adad.adad
INSTANCE.adad.adad
INSTANCE.adad
INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (((INSTANCE)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww))
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (((INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.adad.adad
val b = INSTANCE.adad
val b = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!!!
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = if (INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
val b = INSTANCE!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = if (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
true
else
false
if (INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
if (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
true
else
false
if ((INSTANCE)
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
if ((INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
true
else
false
val bawdawdwad = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.adad.adawd
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().adad.adawd
val c = INSTANCE()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
}
val b = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c2 = INSTANCE
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().adad.adawd
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!
.a()!!.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!
.a().a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww())
.a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.adad.adawd
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a().a()
val x19 = (a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 1
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
+60 -26
View File
@@ -1,29 +1,23 @@
fun test() {
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.adad.adad
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.adad.adad
INSTANCE.adad.adad
INSTANCE.adad
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
(INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww).awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
@@ -37,6 +31,8 @@ fun test() {
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = if (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
@@ -54,33 +50,71 @@ fun test() {
else
false
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.adad.adawd
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().adad.adawd
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
}
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c2 = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().adad.adawd
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()!!
.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
.a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.adad.adawd
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a().a()
val x19 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 1
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
+43
View File
@@ -31,6 +31,8 @@ fun test() {
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = INSTANCE!!.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val b = if (INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww == INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww)
@@ -64,8 +66,49 @@ val bawdawdwad = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwaws
val c = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c2 = INSTANCE.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww
val c = INSTANCE().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().adad.adawd
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()!!.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a().a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()).a().a()
val x19 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 1
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
@@ -1,244 +1,337 @@
val x = foo
.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
val y = xyzzy(foo.bar().baz().quux())
fun foo() {
foo
foo.bar().baz().quux()
.foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
z = (((foo()))!!).bar()
z += (foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()!!).baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
return ((foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux()).foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()).baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo
.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
}
val T = foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
val X = xyzzy(foo().bar().baz().quux())
fun DOO() {
foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
z = (((foo()))!!).bar()
z += (foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()!!)
z += (foo().bar().baz().quux().foo().bar().baz().quux().foo().bar()!!)
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
return ((foo
return ((foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux())
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar())
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
}
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!
.a()!!
.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!
.a()
.a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww())
.a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a().a()
val x19 = (a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 5
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
// SET_FALSE: CONTINUATION_INDENT_FOR_CHAINED_CALLS
@@ -1,239 +1,318 @@
val x = foo
.bar()
.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.foo
.bar()
.baz()
.quux()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
val y = xyzzy(foo.bar().baz().quux())
fun foo() {
foo.bar()
foo.bar().baz().quux()
.foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
z = (((foo()))!!).bar()
z += (foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()!!).baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
return ((foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux()).foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()).baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()
.baz()
.quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
}
val T = foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
.foo()
.bar()
.baz()
.quux()
val X = xyzzy(foo().bar().baz().quux())
fun DOO() {
foo().bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
z = (((foo()))!!).bar()
z += (foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()!!).baz()
z += (foo().bar().baz().quux().foo().bar().baz().quux().foo().bar()!!).baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
return ((foo.bar()
return ((foo().bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()).foo
.quux()).foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()).baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
.foo
.foo()
.bar()
.baz()
.quux()
}
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()!!
.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
.a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a().a()
val x19 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 5
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
// SET_FALSE: CONTINUATION_INDENT_FOR_CHAINED_CALLS
@@ -14,6 +14,67 @@ fun foo() {
return ((foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()).foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar()).baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux().foo.bar().baz().quux()
}
val T = foo()
.bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux()
val X = xyzzy(foo().bar().baz().quux())
fun DOO() {
foo().bar().baz().quux()
.foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux()
z = (( ( foo()) )!! ).bar()
z += (foo().bar().baz().quux().foo().bar().baz().quux().foo().bar() !!) .baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux()
return ((foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux()).foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar()).baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux().foo().bar().baz().quux()
}
val x = foo.bar().baz().quux()
val x2 = foo().bar().baz().quux()
val x3 = ((foo().bar())).baz().quux()
val x4 = (foo().bar().baz()).quux()
val x5 = (foo()).bar().baz().quux()
val x6 = foo!!.bar().baz()!!.quux()!!
val x7 = foo!!.bar().baz()!!.quux()!!
val x8 = foo!!!!!!!!.bar().baz()!!.quux()!!
val x9 = ((b!!)!!!!)!!.f
val x10 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()
val x11 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
val x12 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!.a()!!
.a()
val x13 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()!!!!.a()
.a()
val x14 = awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww().a()
val x15 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x16 = (awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
.awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
val x17 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()).a()
val x18 = (a().a()).a().a()
val x18 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a().a()
val x19 = (a().awswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswswwawswswswswswswsww()
.a()).a()
// SET_INT: METHOD_CALL_CHAIN_WRAP = 5
// SET_FALSE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
// SET_FALSE: CONTINUATION_INDENT_FOR_CHAINED_CALLS
+19
View File
@@ -0,0 +1,19 @@
fun foo() {
listOf(42).map { it }
bar(A().b)
"hello".length
}
fun bar(x: Int) {
}
class A {
val b: B = B()
}
class B {
val c: Int = 42
}
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_TRUE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
+19
View File
@@ -0,0 +1,19 @@
fun foo() {
listOf(42).map { it }
bar(A().b)
"hello".length
}
fun bar(x: Int) {
}
class A {
val b: B = B()
}
class B {
val c: Int = 42
}
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_TRUE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
@@ -0,0 +1,28 @@
fun foo() {
listOf(42).map { it }
bar(A().b.toString())
"hello".length
}
fun bar(x: Int) {
}
class A {
val b: B = B()
}
class B {
val c: Int = 42
}
fun usage() {
data class A(val i: Int) {
fun doSmth(): A = this
}
val a = A(10)
a.doSmth().i
}
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_TRUE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
+28
View File
@@ -0,0 +1,28 @@
fun foo() {
listOf(42).map { it }
bar(A().b.toString())
"hello".length
}
fun bar(x: Int) {
}
class A {
val b: B = B()
}
class B {
val c: Int = 42
}
fun usage() {
data class A(val i: Int) {
fun doSmth(): A = this
}
val a = A(10)
a.doSmth().i
}
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_TRUE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
+28
View File
@@ -0,0 +1,28 @@
fun foo() {
listOf(42).map { it }
bar(A().b.toString())
"hello".length
}
fun bar(x: Int) {
}
class A {
val b: B = B()
}
class B {
val c: Int = 42
}
fun usage() {
data class A(val i: Int) {
fun doSmth(): A = this
}
val a = A(10)
a.doSmth().i
}
// SET_INT: METHOD_CALL_CHAIN_WRAP = 2
// SET_TRUE: WRAP_FIRST_METHOD_IN_CALL_CHAIN
@@ -931,6 +931,16 @@ public class FormatterTestGenerated extends AbstractFormatterTest {
public void testKT22346() throws Exception {
runTest("idea/testData/formatter/callChain/KT22346.after.kt");
}
@TestMetadata("KT36466.after.kt")
public void testKT36466() throws Exception {
runTest("idea/testData/formatter/callChain/KT36466.after.kt");
}
@TestMetadata("NotCallChain.after.kt")
public void testNotCallChain() throws Exception {
runTest("idea/testData/formatter/callChain/NotCallChain.after.kt");
}
}
@TestMetadata("idea/testData/formatter/fileAnnotations")
@@ -1882,6 +1892,11 @@ public class FormatterTestGenerated extends AbstractFormatterTest {
public void testFunctionLiteralsInChainCalls() throws Exception {
runTest("idea/testData/formatter/callChain/FunctionLiteralsInChainCalls.after.inv.kt");
}
@TestMetadata("NotCallChain.after.inv.kt")
public void testNotCallChain() throws Exception {
runTest("idea/testData/formatter/callChain/NotCallChain.after.inv.kt");
}
}
@TestMetadata("idea/testData/formatter/fileAnnotations")