Hello, thank you for sharing this tool. I found a problem when trying to match multiline:
given:
private var otherField: String? = null
@JvmField
@Inject
var fileDownloader: FileDownloader? = null
Matcher:
.replaceAllWithVariables<KtExpression>(
matcher =
template {
val a by match<KtExpression>()
val b by match<KtExpression>()
"""
@JvmField
@Inject
var $a: $b? = null
""".trimIndent()
},
replaceWith = { (result, variables) ->
val a by variables
val b by variables
"""
@Inject
lateinit var $a: $b
""".trimIndent()
}
this tool will throw exception
Exception in thread "main" java.lang.IllegalStateException: Template references variable $a as a matcher of KtProperty, but variable was defined as a matcher of KtExpression
Hello, thank you for sharing this tool. I found a problem when trying to match multiline:
given:
Matcher:
this tool will throw exception