Make descriptor-based API in ir:tree more granular

This commit is contained in:
Mikhail Glukhikh
2020-06-08 15:47:40 +03:00
parent c4b24548cb
commit cbbb497edf
143 changed files with 605 additions and 187 deletions
@@ -206,7 +206,7 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
visitDeclaration(declaration)
require((declaration.origin == IrDeclarationOrigin.FAKE_OVERRIDE) == declaration.isFakeOverride) {
"${declaration.descriptor}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
"${declaration.render()}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
}
}
@@ -214,10 +214,11 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
visitDeclaration(declaration)
require((declaration.origin == IrDeclarationOrigin.FAKE_OVERRIDE) == declaration.isFakeOverride) {
"${declaration.descriptor}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
"${declaration.render()}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
}
}
@OptIn(DescriptorBasedIr::class)
override fun visitFunction(declaration: IrFunction) {
visitDeclaration(declaration)
@@ -258,7 +259,7 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
visitFunction(declaration)
require((declaration.origin == IrDeclarationOrigin.FAKE_OVERRIDE) == declaration.isFakeOverride) {
"${declaration.descriptor}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
"${declaration.render()}: origin: ${declaration.origin}; isFakeOverride: ${declaration.isFakeOverride}"
}
}
@@ -302,12 +303,14 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
}
}
@OptIn(DescriptorBasedIr::class)
override fun visitClass(declaration: IrClass) {
visitDeclaration(declaration)
checkTypeParameters(declaration.descriptor, declaration, declaration.descriptor.declaredTypeParameters)
}
@DescriptorBasedIr
private fun checkTypeParameters(
descriptor: DeclarationDescriptor,
declaration: IrTypeParametersContainer,