Minor. Reformat

This commit is contained in:
Mikhael Bogdanov
2018-08-25 13:24:00 +02:00
parent 7843d4e0d4
commit 7e7b556018
@@ -26,7 +26,12 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
} }
} }
private class SignatureExpectation(val header: String, val name: String, val expectedJvmSignature: String?, expectedGenericSignature: String) { private class SignatureExpectation(
val header: String,
val name: String,
val expectedJvmSignature: String?,
expectedGenericSignature: String
) {
private val expectedFormattedSignature = formatSignature(header, expectedJvmSignature, expectedGenericSignature) private val expectedFormattedSignature = formatSignature(header, expectedJvmSignature, expectedGenericSignature)
private val jvmDescriptorToFormattedSignature = mutableMapOf<String, String>() private val jvmDescriptorToFormattedSignature = mutableMapOf<String, String>()
@@ -41,18 +46,18 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
fun check() { fun check() {
val formattedActualSignature = val formattedActualSignature =
if (expectedJvmSignature == null) { if (expectedJvmSignature == null) {
Assert.assertTrue( Assert.assertTrue(
"Expected single declaration, but ${jvmDescriptorToFormattedSignature.keys} found", "Expected single declaration, but ${jvmDescriptorToFormattedSignature.keys} found",
jvmDescriptorToFormattedSignature.size == 1) jvmDescriptorToFormattedSignature.size == 1
)
jvmDescriptorToFormattedSignature.values.single() jvmDescriptorToFormattedSignature.values.single()
} } else {
else { jvmDescriptorToFormattedSignature[expectedJvmSignature].sure {
jvmDescriptorToFormattedSignature[expectedJvmSignature].sure { "Expected $expectedJvmSignature but only ${jvmDescriptorToFormattedSignature.keys} found for $name"
"Expected $expectedJvmSignature but only ${jvmDescriptorToFormattedSignature.keys} found for $name"
}
} }
}
Assert.assertEquals(expectedFormattedSignature, formattedActualSignature) Assert.assertEquals(expectedFormattedSignature, formattedActualSignature)
} }
@@ -62,7 +67,7 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
private val classSuitesByClassName = LinkedHashMap<String, ClassExpectationsSuite>() private val classSuitesByClassName = LinkedHashMap<String, ClassExpectationsSuite>()
fun getOrCreateClassSuite(className: String): ClassExpectationsSuite = fun getOrCreateClassSuite(className: String): ClassExpectationsSuite =
classSuitesByClassName.getOrPut(className) { ClassExpectationsSuite(className) } classSuitesByClassName.getOrPut(className) { ClassExpectationsSuite(className) }
fun check() { fun check() {
Assert.assertTrue(classSuitesByClassName.isNotEmpty()) Assert.assertTrue(classSuitesByClassName.isNotEmpty())
@@ -114,12 +119,25 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
} }
private inner class Checker : ClassVisitor(Opcodes.ASM5) { private inner class Checker : ClassVisitor(Opcodes.ASM5) {
override fun visit(version: Int, access: Int, name: String, signature: String?, superName: String?, interfaces: Array<out String>?) { override fun visit(
version: Int,
access: Int,
name: String,
signature: String?,
superName: String?,
interfaces: Array<out String>?
) {
classExpectations.forEach { it.accept(name, name, signature ?: "null") } classExpectations.forEach { it.accept(name, name, signature ?: "null") }
super.visit(version, access, name, signature, superName, interfaces) super.visit(version, access, name, signature, superName, interfaces)
} }
override fun visitMethod(access: Int, name: String, desc: String, signature: String?, exceptions: Array<out String>?): MethodVisitor? { override fun visitMethod(
access: Int,
name: String,
desc: String,
signature: String?,
exceptions: Array<out String>?
): MethodVisitor? {
methodExpectations.forEach { it.accept(name, desc, signature ?: "null") } methodExpectations.forEach { it.accept(name, desc, signature ?: "null") }
return super.visitMethod(access, name, desc, signature, exceptions) return super.visitMethod(access, name, desc, signature, exceptions)
} }
@@ -158,12 +176,12 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
val memberName = expectationMatch.group(4) val memberName = expectationMatch.group(4)
if (kind == "class" && memberName != null) { if (kind == "class" && memberName != null) {
throw AssertionError("$ktFile:${lineNo+1}: use $className\$$memberName to denote inner class") throw AssertionError("$ktFile:${lineNo + 1}: use $className\$$memberName to denote inner class")
} }
val jvmSignatureMatch = jvmSignatureRegex.matchExact(lines[lineNo + 1]) val jvmSignatureMatch = jvmSignatureRegex.matchExact(lines[lineNo + 1])
val genericSignatureMatch = genericSignatureRegex.matchExact(lines[lineNo + 1]) val genericSignatureMatch = genericSignatureRegex.matchExact(lines[lineNo + 1])
?: genericSignatureRegex.matchExact(lines[lineNo + 2]) ?: genericSignatureRegex.matchExact(lines[lineNo + 2])
if (genericSignatureMatch != null) { if (genericSignatureMatch != null) {
val jvmSignature = jvmSignatureMatch?.group(1) val jvmSignature = jvmSignatureMatch?.group(1)
@@ -175,17 +193,15 @@ abstract class AbstractWriteSignatureTest : CodegenTestCase() {
"class" -> classSuite.addClassExpectation(className, jvmSignature, genericSignature) "class" -> classSuite.addClassExpectation(className, jvmSignature, genericSignature)
"field" -> classSuite.addFieldExpectation(className, memberName, jvmSignature, genericSignature) "field" -> classSuite.addFieldExpectation(className, memberName, jvmSignature, genericSignature)
"method" -> classSuite.addMethodExpectation(className, memberName, jvmSignature, genericSignature) "method" -> classSuite.addMethodExpectation(className, memberName, jvmSignature, genericSignature)
else -> throw AssertionError("$ktFile:${lineNo+1}: unsupported expectation kind: $kind") else -> throw AssertionError("$ktFile:${lineNo + 1}: unsupported expectation kind: $kind")
} }
// Expectation, skip the following 'jvm signature' and 'generic signature' lines // Expectation, skip the following 'jvm signature' and 'generic signature' lines
lineNo += 3 lineNo += 3
} else {
throw AssertionError("$ktFile:${lineNo + 1}: '$kind' should be followed by 'jvm signature' and 'generic signature'")
} }
else { } else {
throw AssertionError("$ktFile:${lineNo+1}: '$kind' should be followed by 'jvm signature' and 'generic signature'")
}
}
else {
++lineNo ++lineNo
} }
} }