Skip to content

Commit 118183e

Browse files
committed
Extract comparison operators
1 parent a19b5e6 commit 118183e

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

java/kotlin-extractor2/src/main/kotlin/entities/Expression.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)