Formatting: IR test classes

This commit is contained in:
Dmitry Petrov
2018-01-11 15:27:51 +03:00
parent 704ce121bc
commit 2f09c51dca
5 changed files with 42 additions and 33 deletions
@@ -16,14 +16,14 @@
package org.jetbrains.kotlin.ir
import org.jetbrains.kotlin.backend.common.AbstractClosureAnnotator
import org.jetbrains.kotlin.backend.common.Closure
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.backend.common.AbstractClosureAnnotator
import org.jetbrains.kotlin.backend.common.Closure
import java.io.File
import java.io.PrintWriter
import java.io.StringWriter
@@ -57,8 +57,7 @@ abstract class AbstractClosureAnnotatorTestCase : AbstractIrGeneratorTestCase()
override fun recordFunctionClosure(functionDescriptor: FunctionDescriptor, closure: Closure) {
if (functionDescriptor is ConstructorDescriptor) {
actualOut.println("Closure for constructor ${functionDescriptor.containingDeclaration.name}:")
}
else {
} else {
actualOut.println("Closure for function ${functionDescriptor.name}:")
}
printClosure(closure)
@@ -69,10 +69,10 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
}
val configuration = createConfiguration(
configurationKind, jdkKind,
listOf<File>(getAnnotationsJar()),
arrayOf(javaFilesDir).filterNotNull(),
files
configurationKind, jdkKind,
listOf<File>(getAnnotationsJar()),
arrayOf(javaFilesDir).filterNotNull(),
files
)
myEnvironment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
@@ -96,7 +96,7 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
private val IGNORE_ERRORS_PATTERN = Regex("""// !IGNORE_ERRORS""")
internal fun shouldIgnoreErrors(wholeFile: File): Boolean =
IGNORE_ERRORS_PATTERN.containsMatchIn(wholeFile.readText())
IGNORE_ERRORS_PATTERN.containsMatchIn(wholeFile.readText())
internal fun createExpectedTextFile(testFile: TestFile, dir: File, fileName: String): File {
val textFile = File(dir, fileName)
@@ -110,10 +110,10 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
}
fun generateIrModule(
ktFilesToAnalyze: List<KtFile>,
environment: KotlinCoreEnvironment,
psi2ir: Psi2IrTranslator,
shouldGenerate: (KtFile) -> Boolean
ktFilesToAnalyze: List<KtFile>,
environment: KotlinCoreEnvironment,
psi2ir: Psi2IrTranslator,
shouldGenerate: (KtFile) -> Boolean
): IrModuleFragment {
val analysisResult = JvmResolveUtil.analyze(ktFilesToAnalyze, environment)
if (!psi2ir.configuration.ignoreErrors) {
@@ -124,11 +124,21 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
return generateIrModule(fileToGenerate, analysisResult.moduleDescriptor, analysisResult.bindingContext, psi2ir)
}
fun generateIrModule(ktFiles: List<KtFile>, moduleDescriptor: ModuleDescriptor, bindingContext: BindingContext, ignoreErrors: Boolean = false) =
generateIrModule(ktFiles, moduleDescriptor, bindingContext, Psi2IrTranslator(Psi2IrConfiguration(ignoreErrors)))
fun generateIrModule(
ktFiles: List<KtFile>,
moduleDescriptor: ModuleDescriptor,
bindingContext: BindingContext,
ignoreErrors: Boolean = false
) =
generateIrModule(ktFiles, moduleDescriptor, bindingContext, Psi2IrTranslator(Psi2IrConfiguration(ignoreErrors)))
fun generateIrModule(ktFiles: List<KtFile>, moduleDescriptor: ModuleDescriptor, bindingContext: BindingContext, psi2ir: Psi2IrTranslator) =
psi2ir.generateModule(moduleDescriptor, ktFiles, bindingContext)
fun generateIrModule(
ktFiles: List<KtFile>,
moduleDescriptor: ModuleDescriptor,
bindingContext: BindingContext,
psi2ir: Psi2IrTranslator
) =
psi2ir.generateModule(moduleDescriptor, ktFiles, bindingContext)
}
}
@@ -36,13 +36,13 @@ abstract class AbstractIrSourceRangesTestCase : AbstractIrGeneratorTestCase() {
}
private fun IrElement.dumpWithSourceLocations(fileEntry: SourceManager.FileEntry): String =
StringBuilder().also {
acceptVoid(DumpSourceLocations(it, fileEntry))
}.toString()
StringBuilder().also {
acceptVoid(DumpSourceLocations(it, fileEntry))
}.toString()
private class DumpSourceLocations(
out: Appendable,
val fileEntry: SourceManager.FileEntry
out: Appendable,
val fileEntry: SourceManager.FileEntry
) : IrElementVisitorVoid {
val printer = Printer(out, " ")
val elementRenderer = RenderIrElementVisitor()
@@ -56,9 +56,9 @@ abstract class AbstractIrSourceRangesTestCase : AbstractIrGeneratorTestCase() {
}
private fun SourceRangeInfo.render() =
if (startLineNumber == endLineNumber)
"$startLineNumber:$startColumnNumber..$endColumnNumber"
else
"$startLineNumber:$startColumnNumber..$endLineNumber:$endColumnNumber"
if (startLineNumber == endLineNumber)
"$startLineNumber:$startColumnNumber..$endColumnNumber"
else
"$startLineNumber:$startColumnNumber..$endLineNumber:$endColumnNumber"
}
}
@@ -25,8 +25,8 @@ abstract class AbstractPsi2IrBoxTestCase : AbstractIrGeneratorTestCase() {
val irModule = generateIrModule(false)
val irModuleDump = irModule.dump()
val expectedPath = wholeFile.canonicalPath
// .replace("/codegen/box/", "/ir/irTextBox/")
.replace(".kt", ".txt")
// .replace("/codegen/box/", "/ir/irTextBox/")
.replace(".kt", ".txt")
val expectedFile = File(expectedPath)
KotlinTestUtils.assertEqualsToFile(expectedFile, irModuleDump)
}
@@ -25,11 +25,11 @@ import java.io.File
abstract class AbstractPsi2IrDiagnosticsTest : AbstractDiagnosticsTest() {
override fun performAdditionalChecksAfterDiagnostics(
testDataFile: File,
testFiles: List<TestFile>,
moduleFiles: Map<TestModule?, List<TestFile>>,
moduleDescriptors: Map<TestModule?, ModuleDescriptorImpl>,
moduleBindings: Map<TestModule?, BindingContext>
testDataFile: File,
testFiles: List<TestFile>,
moduleFiles: Map<TestModule?, List<TestFile>>,
moduleDescriptors: Map<TestModule?, ModuleDescriptorImpl>,
moduleBindings: Map<TestModule?, BindingContext>
) {
val actualIrDump = StringBuilder()
for (module in moduleFiles.keys) {