@@ -318,8 +318,21 @@ private fun KotlinFileExtractor.extractBinaryExpression(
318318 extractBinaryExpression(expression, callable, parent, tw::writeExprs_eqexpr)
319319 } else if (op == KtTokens .EXCLEQEQEQ && target == null ) {
320320 extractBinaryExpression(expression, callable, parent, tw::writeExprs_neexpr)
321+ } else if (op in listOf (KtTokens .LT , KtTokens .GT , KtTokens .LTEQ , KtTokens .GTEQ )) {
322+ if (target.isNumericWithName(" compareTo" )) {
323+ when (op) {
324+ KtTokens .LT -> extractBinaryExpression(expression, callable, parent, tw::writeExprs_ltexpr)
325+ KtTokens .GT -> extractBinaryExpression(expression, callable, parent, tw::writeExprs_gtexpr)
326+ KtTokens .LTEQ -> extractBinaryExpression(expression, callable, parent, tw::writeExprs_leexpr)
327+ KtTokens .GTEQ -> extractBinaryExpression(expression, callable, parent, tw::writeExprs_gtexpr)
328+ else -> TODO (" error" )
329+ }
330+ } else {
331+ TODO (" Extract lowered equivalent call, such as `a.compareTo(b) < 0`" )
332+ }
333+
321334 } else {
322- // todo: other operators, such as .., ..<, in, !in, +=, -=, *=, /=, %=, <, >, <=, > =, ==, !=,
335+ // todo: other operators, such as .., ..<, in, !in, =, +=, -=, *=, /=, %=, ==, !=,
323336 TODO (" Extract as method call" )
324337 }
325338}
0 commit comments