UAST-java: fix for methods parameters converting

This commit is contained in:
Nicolay Mitropolsky
2017-09-26 10:14:34 +03:00
parent 9e3f3c9cd1
commit 621abc7e02
3 changed files with 7 additions and 4 deletions
@@ -176,7 +176,8 @@ fun UExpression.endsWithQualified(fqName: String): Boolean {
return true
}
fun UElement.asRecursiveLogString(): String {
@JvmOverloads
fun UElement.asRecursiveLogString(render: (UElement) -> String = { it.asLogString() }): String {
val stringBuilder = StringBuilder()
val indent = " "
@@ -185,7 +186,7 @@ fun UElement.asRecursiveLogString(): String {
override fun visitElement(node: UElement): Boolean {
stringBuilder.append(indent.repeat(level))
stringBuilder.appendln(node.asLogString())
stringBuilder.appendln(render(node))
level++
return false
}
@@ -238,7 +238,7 @@ internal object JavaConverter {
receiver = convertOrEmpty(el.methodExpression.qualifierExpression!!, this)
selector = JavaUCallExpression(el, this)
}
if (requiredType?.isAssignableFrom(UCallExpression::class.java) != null)
if (requiredType?.isAssignableFrom(UCallExpression::class.java) != false)
expr.selector
else
expr
@@ -49,7 +49,9 @@ class JavaUastApiTest : AbstractJavaUastTest() {
val index2 = file.psi.text.indexOf("q")
val literal = PsiTreeUtil.getParentOfType(file.psi.findElementAt(index2), PsiLiteralExpression::class.java)!!
UsefulTestCase.assertInstanceOf(literal.toUElement(), ULiteralExpression::class.java)
val uLiteral = literal.toUElement()!!
UsefulTestCase.assertInstanceOf(uLiteral, ULiteralExpression::class.java)
UsefulTestCase.assertInstanceOf(uLiteral.uastParent, UCallExpression::class.java)
}
}