Add minor improvements to psi2ir and IR utilities:

* Generate missing IR parameter declarations in external stubs
* Use origin = FAKE_OVERRIDE in external IR stubs for fake overrides
* Set .parent in external IR stubs
* Set .parent in IR generated by some utility methods
This commit is contained in:
Svyatoslav Scherbina
2018-03-01 17:06:23 +03:00
parent 13a7270129
commit 7a2d761a7d
127 changed files with 2293 additions and 1613 deletions
@@ -113,6 +113,7 @@ fun IrClass.addSimpleDelegatingConstructor(superConstructorSymbol: IrConstructor
)
)
constructor.parent = this
this.declarations.add(constructor)
}
}
@@ -126,7 +126,9 @@ fun IrFunction.createParameterDeclarations() {
innerStartOffset(this), innerEndOffset(this),
IrDeclarationOrigin.DEFINED,
this
)
).also {
it.parent = this@createParameterDeclarations
}
dispatchReceiverParameter = descriptor.dispatchReceiverParameter?.irValueParameter()
extensionReceiverParameter = descriptor.extensionReceiverParameter?.irValueParameter()
@@ -140,7 +142,9 @@ fun IrFunction.createParameterDeclarations() {
innerStartOffset(it), innerEndOffset(it),
IrDeclarationOrigin.DEFINED,
it
)
).also { typeParameter ->
typeParameter.parent = this
}
}
}