Generate super classes and overridden functions in proper scope
Such references require proper scope so that local symbols are bound.
Example:
```
fun <T> outer() {
abstract class ALocal<S : T> {
abstract fun bar()
}
class Local<S : T> : ALocal<S>() {
override fun bar() {}
}
}
```
Here local classes have type parameters with upper bounds depending on
function type parameters, and members overriding members in other local
classes.
This commit is contained in:
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
|
||||
import org.jetbrains.kotlin.ir.util.patchOverriddenFunctionsFromDescriptors
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi2ir.generators.GeneratorContext
|
||||
import org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator
|
||||
@@ -61,6 +60,5 @@ class Psi2IrTranslator(val configuration: Psi2IrConfiguration = Psi2IrConfigurat
|
||||
postprocessingSteps.forEach { it.postprocess(context, irElement) }
|
||||
|
||||
irElement.patchDeclarationParents()
|
||||
irElement.patchOverriddenFunctionsFromDescriptors(context.symbolTable)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.descriptors.IrImplementingDelegateDescriptorImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.expressions.mapValueParameters
|
||||
import org.jetbrains.kotlin.ir.util.StableDescriptorsComparator
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtDelegatedSuperTypeEntry
|
||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
||||
@@ -187,7 +188,7 @@ class ClassGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGe
|
||||
}
|
||||
|
||||
private fun generateDelegatedFunction(irDelegate: IrField, delegated: FunctionDescriptor, overridden: FunctionDescriptor): IrFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
irDelegate.startOffset, irDelegate.endOffset,
|
||||
IrDeclarationOrigin.DELEGATED_MEMBER,
|
||||
delegated
|
||||
|
||||
+2
-1
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.mapValueParameters
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
import org.jetbrains.kotlin.psi2ir.containsNull
|
||||
@@ -48,7 +49,7 @@ class DataClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De
|
||||
}
|
||||
|
||||
private fun declareSimpleFunction(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, function: FunctionDescriptor) =
|
||||
context.symbolTable.declareSimpleFunction(startOffset, endOffset, origin, function)
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(startOffset, endOffset, origin, function)
|
||||
|
||||
private inner class MemberFunctionBuilder(
|
||||
val irClass: IrClass,
|
||||
|
||||
+15
-1
@@ -83,10 +83,24 @@ class DeclarationGenerator(override val context: GeneratorContext) : Generator {
|
||||
val ktTypeParameterDeclaration = DescriptorToSourceUtils.getSourceFromDescriptor(typeParameterDescriptor)
|
||||
val startOffset = ktTypeParameterDeclaration.startOffsetOrUndefined
|
||||
val endOffset = ktTypeParameterDeclaration.endOffsetOrUndefined
|
||||
context.symbolTable.declareTypeParameter(startOffset, endOffset, IrDeclarationOrigin.DEFINED, typeParameterDescriptor)
|
||||
declareTypeParameterWithSuperClassifiers(startOffset, endOffset, IrDeclarationOrigin.DEFINED, typeParameterDescriptor)
|
||||
}
|
||||
}
|
||||
|
||||
private fun declareTypeParameterWithSuperClassifiers(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: TypeParameterDescriptor
|
||||
) =
|
||||
context.symbolTable.declareTypeParameter(startOffset, endOffset, origin, descriptor).also { irTypeParameter ->
|
||||
descriptor.typeConstructor.supertypes.mapNotNullTo(irTypeParameter.superClassifiers) {
|
||||
it.constructor.declarationDescriptor?.let {
|
||||
context.symbolTable.referenceClassifier(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun generateInitializerBody(scopeOwnerSymbol: IrSymbol, ktBody: KtExpression): IrExpressionBody =
|
||||
createBodyGenerator(scopeOwnerSymbol).generateExpressionBody(ktBody)
|
||||
|
||||
|
||||
+3
-2
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
import org.jetbrains.kotlin.psi.KtPropertyDelegate
|
||||
@@ -93,7 +94,7 @@ class DelegatedPropertyGenerator(declarationGenerator: DeclarationGenerator) : D
|
||||
accessorDescriptor: PropertyAccessorDescriptor,
|
||||
generateBody: (IrFunction) -> IrBody
|
||||
): IrFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktDelegate.startOffset, ktDelegate.endOffset,
|
||||
IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR,
|
||||
accessorDescriptor
|
||||
@@ -327,7 +328,7 @@ class DelegatedPropertyGenerator(declarationGenerator: DeclarationGenerator) : D
|
||||
ktDelegate: KtPropertyDelegate,
|
||||
generateBody: (IrFunction) -> IrBody
|
||||
) =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktDelegate.startOffset, ktDelegate.endOffset,
|
||||
IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR,
|
||||
getterDescriptor
|
||||
|
||||
+3
-2
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.addMember
|
||||
import org.jetbrains.kotlin.ir.expressions.IrSyntheticBodyKind
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrSyntheticBodyImpl
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.psi2ir.findFirstFunction
|
||||
|
||||
class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGeneratorExtension(declarationGenerator) {
|
||||
@@ -38,7 +39,7 @@ class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De
|
||||
}
|
||||
|
||||
irClass.addMember(
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
irClass.startOffset, irClass.endOffset,
|
||||
IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER,
|
||||
valuesFunction
|
||||
@@ -57,7 +58,7 @@ class EnumClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De
|
||||
}
|
||||
|
||||
irClass.addMember(
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
|
||||
IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER,
|
||||
valueOfFunction
|
||||
|
||||
+5
-4
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
||||
import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||
@@ -55,7 +56,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
|
||||
}
|
||||
|
||||
fun generateFakeOverrideFunction(functionDescriptor: FunctionDescriptor, ktElement: KtElement): IrFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktElement.startOffsetOrUndefined, ktElement.endOffsetOrUndefined,
|
||||
IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
functionDescriptor
|
||||
@@ -70,7 +71,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
|
||||
descriptor: FunctionDescriptor,
|
||||
generateBody: BodyGenerator.() -> IrBody?
|
||||
): IrSimpleFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktFunction.startOffset, ktFunction.endOffset, origin, descriptor
|
||||
).buildWithScope { irFunction ->
|
||||
generateFunctionParameterDeclarations(irFunction, ktFunction, ktReceiver)
|
||||
@@ -91,7 +92,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
|
||||
ktProperty: KtProperty,
|
||||
ktAccessor: KtPropertyAccessor?
|
||||
): IrSimpleFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktAccessor?.startOffset ?: ktProperty.startOffset,
|
||||
ktAccessor?.endOffset ?: ktProperty.endOffset,
|
||||
if (ktAccessor != null) IrDeclarationOrigin.DEFINED else IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR,
|
||||
@@ -110,7 +111,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
|
||||
descriptor: PropertyAccessorDescriptor,
|
||||
ktParameter: KtParameter
|
||||
): IrFunction =
|
||||
context.symbolTable.declareSimpleFunction(
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
ktParameter.startOffsetOrUndefined,
|
||||
ktParameter.endOffsetOrUndefined,
|
||||
IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR,
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.kotlin.ir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -34,5 +35,7 @@ interface IrTypeParameter : IrSymbolDeclaration<IrTypeParameterSymbol> {
|
||||
val index: Int
|
||||
val upperBounds: List<KotlinType>
|
||||
|
||||
val superClassifiers: MutableList<IrClassifierSymbol>
|
||||
|
||||
override fun <D> transform(transformer: IrElementTransformer<D>, data: D): IrTypeParameter
|
||||
}
|
||||
+4
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.ir.declarations.impl
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrTypeParameter
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
@@ -26,6 +27,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import org.jetbrains.kotlin.utils.SmartList
|
||||
|
||||
class IrTypeParameterImpl(
|
||||
startOffset: Int,
|
||||
@@ -56,6 +58,8 @@ class IrTypeParameterImpl(
|
||||
|
||||
override val descriptor: TypeParameterDescriptor get() = symbol.descriptor
|
||||
|
||||
override val superClassifiers: MutableList<IrClassifierSymbol> = SmartList<IrClassifierSymbol>()
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitTypeParameter(this, data)
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ class DeclarationStubGenerator(
|
||||
}
|
||||
|
||||
fun generateFunctionStub(descriptor: FunctionDescriptor): IrSimpleFunction =
|
||||
symbolTable.declareSimpleFunction(UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, descriptor.original).also { irFunction ->
|
||||
symbolTable.declareSimpleFunctionWithOverrides(UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, descriptor.original).also { irFunction ->
|
||||
generateTypeParameterStubs(descriptor.typeParameters, irFunction)
|
||||
generateValueParametersStubs(descriptor.valueParameters, irFunction)
|
||||
}
|
||||
|
||||
@@ -24,10 +24,8 @@ import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.*
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import java.util.*
|
||||
@@ -188,7 +186,25 @@ open class DeepCopyIrTree : IrElementTransformerVoid() {
|
||||
originalTypeParameter.startOffset, originalTypeParameter.endOffset,
|
||||
mapDeclarationOrigin(originalTypeParameter.origin),
|
||||
newTypeParameterDescriptor
|
||||
)
|
||||
).apply {
|
||||
for (i in upperBounds.indices) {
|
||||
val upperBoundClassifier = upperBounds[i].constructor.declarationDescriptor ?: continue
|
||||
val oldSuperClassifierSymbol = originalTypeParameter.superClassifiers[i]
|
||||
val newSuperClassifierSymbol =
|
||||
if (upperBoundClassifier == oldSuperClassifierSymbol.descriptor)
|
||||
oldSuperClassifierSymbol
|
||||
else
|
||||
createUnboundClassifierSymbol(upperBoundClassifier)
|
||||
superClassifiers.add(newSuperClassifierSymbol)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun createUnboundClassifierSymbol(classifier: ClassifierDescriptor): IrClassifierSymbol =
|
||||
when (classifier) {
|
||||
is TypeParameterDescriptor -> IrTypeParameterSymbolImpl(classifier)
|
||||
is ClassDescriptor -> IrClassSymbolImpl(classifier)
|
||||
else -> throw IllegalArgumentException("Unexpected classifier descriptor: $classifier")
|
||||
}
|
||||
|
||||
protected fun copyValueParameter(
|
||||
originalValueParameter: IrValueParameter,
|
||||
|
||||
@@ -196,7 +196,11 @@ open class DeepCopyIrTreeWithSymbols(private val symbolRemapper: SymbolRemapper)
|
||||
declaration.startOffset, declaration.endOffset,
|
||||
mapDeclarationOrigin(declaration.origin),
|
||||
symbolRemapper.getDeclaredTypeParameter(declaration.symbol)
|
||||
)
|
||||
).apply {
|
||||
declaration.superClassifiers.mapTo(superClassifiers) {
|
||||
symbolRemapper.getReferencedClassifier(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitValueParameter(declaration: IrValueParameter): IrValueParameter =
|
||||
IrValueParameterImpl(
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers
|
||||
@@ -42,13 +39,8 @@ class DependenciesCollector {
|
||||
assert(symbolTable.unboundValueParameters.isEmpty()) { "Unbound value parameters: ${symbolTable.unboundValueParameters}" }
|
||||
assert(symbolTable.unboundVariables.isEmpty()) { "Unbound variables: ${symbolTable.unboundVariables}" }
|
||||
|
||||
for (unboundClass in symbolTable.unboundClasses.toTypedArray()) {
|
||||
for (superClassifier in unboundClass.descriptor.getAllSuperClassifiers()) {
|
||||
if (superClassifier is ClassDescriptor) {
|
||||
symbolTable.referenceClass(superClassifier)
|
||||
}
|
||||
}
|
||||
}
|
||||
symbolTable.markOverriddenFunctionsForUnboundFunctionsReferenced()
|
||||
symbolTable.markSuperClassesForUnboundClassesReferenced()
|
||||
|
||||
symbolTable.unboundClasses.addTopLevelDeclarations()
|
||||
symbolTable.unboundConstructors.addTopLevelDeclarations()
|
||||
@@ -57,14 +49,39 @@ class DependenciesCollector {
|
||||
symbolTable.unboundSimpleFunctions.addTopLevelDeclarations()
|
||||
}
|
||||
|
||||
private fun Collection<IrSymbol>.addTopLevelDeclarations() {
|
||||
forEach { addTopLevelDeclaration(it) }
|
||||
private fun SymbolTable.markOverriddenFunctionsForUnboundFunctionsReferenced() {
|
||||
for (unboundFunction in unboundSimpleFunctions.toTypedArray()) {
|
||||
markOverriddenFunctionsReferenced(unboundFunction.descriptor, HashSet())
|
||||
}
|
||||
}
|
||||
|
||||
fun addTopLevelDeclaration(symbol: IrSymbol) {
|
||||
val descriptor = symbol.descriptor
|
||||
val topLevelDeclaration = getTopLevelDeclaration(descriptor)
|
||||
addTopLevelDescriptor(topLevelDeclaration)
|
||||
private fun SymbolTable.markOverriddenFunctionsReferenced(
|
||||
function: FunctionDescriptor,
|
||||
visitedFunctions: MutableSet<FunctionDescriptor>
|
||||
) {
|
||||
for (overridden in function.overriddenDescriptors) {
|
||||
if (overridden !in visitedFunctions) {
|
||||
visitedFunctions.add(overridden)
|
||||
referenceFunction(overridden.original)
|
||||
markOverriddenFunctionsReferenced(overridden, visitedFunctions)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun SymbolTable.markSuperClassesForUnboundClassesReferenced() {
|
||||
for (unboundClass in unboundClasses.toTypedArray()) {
|
||||
for (superClassifier in unboundClass.descriptor.getAllSuperClassifiers()) {
|
||||
if (superClassifier is ClassDescriptor) {
|
||||
referenceClass(superClassifier)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun Collection<IrSymbol>.addTopLevelDeclarations() {
|
||||
forEach {
|
||||
addTopLevelDescriptor(getTopLevelDeclaration(it.descriptor))
|
||||
}
|
||||
}
|
||||
|
||||
private fun getTopLevelDeclaration(descriptor: DeclarationDescriptor): DeclarationDescriptor {
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.SourceManager
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrBindableSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
@@ -86,6 +87,12 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor<Unit, String> {
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitTypeParameter(declaration: IrTypeParameter, data: String) {
|
||||
declaration.dumpLabeledElementWith(data) {
|
||||
declaration.superClassifiers.renderDeclarationElementsOrDescriptors("superClassifiers")
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitSimpleFunction(declaration: IrSimpleFunction, data: String) {
|
||||
declaration.dumpLabeledElementWith(data) {
|
||||
declaration.overriddenSymbols.renderDeclarationElementsOrDescriptors("overridden")
|
||||
@@ -97,9 +104,7 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor<Unit, String> {
|
||||
}
|
||||
}
|
||||
|
||||
private fun <D : DeclarationDescriptor, B : IrSymbolOwner> Collection<IrBindableSymbol<D, B>>.renderDeclarationElementsOrDescriptors(
|
||||
caption: String
|
||||
) {
|
||||
private fun Collection<IrSymbol>.renderDeclarationElementsOrDescriptors(caption: String) {
|
||||
if (isNotEmpty()) {
|
||||
indented(caption) {
|
||||
for (symbol in this) {
|
||||
@@ -109,7 +114,7 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor<Unit, String> {
|
||||
}
|
||||
}
|
||||
|
||||
private fun <D : DeclarationDescriptor, B : IrSymbolOwner> IrBindableSymbol<D, B>.renderDeclarationElementOrDescriptor() {
|
||||
private fun IrSymbol.renderDeclarationElementOrDescriptor() {
|
||||
if (isBound)
|
||||
owner.render()
|
||||
else
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
||||
|
||||
fun <T : IrElement> T.patchOverriddenFunctionsFromDescriptors(symbolTable: SymbolTable) =
|
||||
apply {
|
||||
acceptVoid(PatchOverriddenFunctionsFromDescriptorsVisitor(symbolTable))
|
||||
}
|
||||
|
||||
class PatchOverriddenFunctionsFromDescriptorsVisitor(
|
||||
private val symbolTable: SymbolTable
|
||||
) : IrElementVisitorVoid {
|
||||
|
||||
override fun visitElement(element: IrElement) {
|
||||
element.acceptChildrenVoid(this)
|
||||
}
|
||||
|
||||
override fun visitSimpleFunction(declaration: IrSimpleFunction) {
|
||||
declaration.descriptor.overriddenDescriptors.mapTo(declaration.overriddenSymbols) {
|
||||
symbolTable.referenceSimpleFunction(it.original)
|
||||
}
|
||||
|
||||
super.visitSimpleFunction(declaration)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||
|
||||
fun SymbolTable.declareSimpleFunctionWithOverrides(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: FunctionDescriptor
|
||||
) =
|
||||
declareSimpleFunction(startOffset, endOffset, origin, descriptor).also { declaration ->
|
||||
generateOverriddenSymbols(declaration, this)
|
||||
}
|
||||
|
||||
fun generateOverriddenSymbols(
|
||||
declaration: IrSimpleFunction,
|
||||
symbolTable: SymbolTable
|
||||
) {
|
||||
declaration.descriptor.overriddenDescriptors.mapTo(declaration.overriddenSymbols) {
|
||||
symbolTable.referenceSimpleFunction(it.original)
|
||||
}
|
||||
}
|
||||
@@ -459,6 +459,8 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array<T>) returnType:Test2<T> flags:
|
||||
VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<T> flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/dataClassesGeneric.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (x:T) returnType:Test1<T> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:T flags:
|
||||
BLOCK_BODY
|
||||
|
||||
+2
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/delegatingConstructorCallToTypeAliasConstructor.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (value:T) returnType:Cell<T> flags:
|
||||
VALUE_PARAMETER name:value index:0 type:T flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -44,6 +44,8 @@ FILE fqName:<root> fileName:/fakeOverrides.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:CFoo<T> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
fun outer() {
|
||||
abstract class ALocal {
|
||||
abstract fun afun()
|
||||
abstract val aval: Int
|
||||
abstract var avar: Int
|
||||
}
|
||||
|
||||
class Local : ALocal() {
|
||||
override fun afun() {}
|
||||
override val aval = 1
|
||||
override var avar = 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
FILE fqName:<root> fileName:/localClassWithOverrides.kt
|
||||
FUN name:outer visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
CLASS CLASS name:ALocal modality:ABSTRACT visibility:local flags:
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:outer.ALocal flags:
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:outer.ALocal flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='ALocal'
|
||||
FUN name:afun visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Unit flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.ALocal flags:
|
||||
PROPERTY name:aval type:kotlin.Int visibility:public modality:ABSTRACT flags:val
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aval> visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.ALocal flags:
|
||||
PROPERTY name:avar type:kotlin.Int visibility:public modality:ABSTRACT flags:var
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-avar> visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.ALocal flags:
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-avar> visibility:public modality:ABSTRACT <> ($this:outer.ALocal, <set-?>:kotlin.Int) returnType:Unit flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.ALocal flags:
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
CLASS CLASS name:Local modality:FINAL visibility:local flags:
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:outer.Local flags:
|
||||
superClasses:
|
||||
CLASS CLASS name:ALocal modality:ABSTRACT visibility:local flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:outer.Local flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor ALocal()'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='Local'
|
||||
FUN name:afun visibility:public modality:OPEN <> ($this:outer.Local) returnType:Unit flags:
|
||||
overridden:
|
||||
FUN name:afun visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Unit flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.Local flags:
|
||||
BLOCK_BODY
|
||||
PROPERTY name:aval type:kotlin.Int visibility:public modality:OPEN flags:val
|
||||
FIELD PROPERTY_BACKING_FIELD name:aval type:kotlin.Int visibility:public
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=1
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aval> visibility:public modality:OPEN <> ($this:outer.Local) returnType:Int flags:
|
||||
overridden:
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aval> visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.Local flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-aval>(): Int'
|
||||
GET_FIELD 'aval: Int' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR 'this@Local: Local' type=outer.Local origin=null
|
||||
PROPERTY name:avar type:kotlin.Int visibility:public modality:OPEN flags:var
|
||||
FIELD PROPERTY_BACKING_FIELD name:avar type:kotlin.Int visibility:public
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=2
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-avar> visibility:public modality:OPEN <> ($this:outer.Local) returnType:Int flags:
|
||||
overridden:
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-avar> visibility:public modality:ABSTRACT <> ($this:outer.ALocal) returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.Local flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-avar>(): Int'
|
||||
GET_FIELD 'avar: Int' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR 'this@Local: Local' type=outer.Local origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-avar> visibility:public modality:OPEN <> ($this:outer.Local, <set-?>:kotlin.Int) returnType:Unit flags:
|
||||
overridden:
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-avar> visibility:public modality:ABSTRACT <> ($this:outer.ALocal, <set-?>:kotlin.Int) returnType:Unit flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:outer.Local flags:
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'avar: Int' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR 'this@Local: Local' type=outer.Local origin=null
|
||||
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
|
||||
overridden:
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
|
||||
overridden:
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
@@ -4,11 +4,15 @@ FILE fqName:<root> fileName:/class.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public flags:
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestInterface.TestNestedInterface<TT> flags:
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:TT index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
@@ -40,6 +44,8 @@ FILE fqName:<root> fileName:/class.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T0 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:Test<T0> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
@@ -49,6 +55,8 @@ FILE fqName:<root> fileName:/class.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T1 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:Test.TestNested<T1> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
@@ -71,6 +79,8 @@ FILE fqName:<root> fileName:/class.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T2 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> ($this:Test<T0>) returnType:Test<T0>.TestInner<T2> flags:
|
||||
$outer: VALUE_PARAMETER name:<this> type:Test<T0> flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -4,7 +4,11 @@ FILE fqName:<root> fileName:/constructor.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T1 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T2 index:1 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (x:T1, y:T2) returnType:Test1<T1, T2> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:T1 flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T2 flags:
|
||||
@@ -69,6 +73,8 @@ FILE fqName:<root> fileName:/constructor.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:Z index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> ($this:Test2, z:Z) returnType:Test2.TestInner<Z> flags:
|
||||
$outer: VALUE_PARAMETER name:<this> type:Test2 flags:
|
||||
VALUE_PARAMETER name:z index:0 type:Z flags:
|
||||
@@ -170,6 +176,8 @@ FILE fqName:<root> fileName:/constructor.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:Test4<T> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/dataClassMembers.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (x:T, y:kotlin.String) returnType:Test<T> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:T flags:
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.String flags:
|
||||
|
||||
+2
@@ -73,6 +73,8 @@ FILE fqName:<root> fileName:/defaultPropertyAccessors.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T, testInPrimaryCtor2:kotlin.Int) returnType:InPrimaryCtor<T> flags:
|
||||
VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T flags:
|
||||
VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int flags:
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase<T>, x:kotlin.Int) returnType:Unit flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:IBase<T> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
|
||||
@@ -12,6 +14,8 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:IBase<T> flags:
|
||||
FUN name:qux visibility:public modality:ABSTRACT <X> ($this:IBase<T>, t:T, x:X) returnType:Unit flags:
|
||||
TYPE_PARAMETER name:X index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:IBase<T> flags:
|
||||
VALUE_PARAMETER name:t index:0 type:T flags:
|
||||
VALUE_PARAMETER name:x index:1 type:X flags:
|
||||
@@ -33,6 +37,8 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
|
||||
superClasses:
|
||||
CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public flags:
|
||||
TYPE_PARAMETER name:TT index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (impl:IBase<TT>) returnType:Test<TT> flags:
|
||||
VALUE_PARAMETER name:impl index:0 type:IBase<TT> flags:
|
||||
BLOCK_BODY
|
||||
@@ -45,6 +51,8 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
|
||||
overridden:
|
||||
FUN name:qux visibility:public modality:ABSTRACT <X> ($this:IBase<T>, t:T, x:X) returnType:Unit flags:
|
||||
TYPE_PARAMETER name:X index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:Test<TT> flags:
|
||||
VALUE_PARAMETER name:t index:0 type:TT flags:
|
||||
VALUE_PARAMETER name:x index:1 type:X flags:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE fqName:<root> fileName:/fun.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <T> (i:kotlin.Int, j:T) returnType:Unit flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
||||
VALUE_PARAMETER name:j index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -36,6 +38,8 @@ FILE fqName:<root> fileName:/fun.kt
|
||||
BLOCK_BODY
|
||||
FUN name:testMembetExt2 visibility:public modality:FINAL <T> ($this:Host, $receiver:kotlin.String, i:kotlin.Int, j:T) returnType:Unit flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
|
||||
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/genericInnerClass.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T1 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:Outer<T1> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
@@ -13,6 +15,8 @@ FILE fqName:<root> fileName:/genericInnerClass.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T2 index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> ($this:Outer<T1>) returnType:Outer<T1>.Inner<T2> flags:
|
||||
$outer: VALUE_PARAMETER name:<this> type:Outer<T1> flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
FILE fqName:<root> fileName:/localFun.kt
|
||||
FUN name:outer visibility:public modality:FINAL <TT> () returnType:Unit flags:
|
||||
TYPE_PARAMETER name:TT index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
BLOCK_BODY
|
||||
FUN name:test1 visibility:local modality:FINAL <T> (i:kotlin.Int, j:T) returnType:Unit flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
||||
VALUE_PARAMETER name:j index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -49,6 +49,8 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:Host<T> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE fqName:<root> fileName:/argumentMappedWithError.kt
|
||||
FUN name:convert visibility:public modality:FINAL <R> ($receiver:kotlin.Number) returnType:R flags:
|
||||
TYPE_PARAMETER name:R index:0 variance: upperBounds:[kotlin.Number]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Number flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='convert() on Number: R'
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/callableRefToGenericMember.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:A<T> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
|
||||
@@ -8,6 +8,12 @@ MODULE_FRAGMENT name:<built-ins module>
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> (p1:P1) returnType:R flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:0 type:P1 flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
|
||||
+18
@@ -1,6 +1,8 @@
|
||||
FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
FUN name:test0 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -17,6 +19,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test1 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -34,6 +38,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test2 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Double]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -52,6 +58,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test3 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -70,6 +78,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test4 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -88,7 +98,11 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test5 visibility:public modality:FINAL <T, R> (x:kotlin.Any, y:R) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
TYPE_PARAMETER name:R index:1 variance: upperBounds:[T]
|
||||
superClassifiers:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float?]
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:R flags:
|
||||
BLOCK_BODY
|
||||
@@ -107,6 +121,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
FUN name:test6 visibility:public modality:FINAL <T> (x:kotlin.Any, y:T) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Number]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
VALUE_PARAMETER name:y index:1 type:T flags:
|
||||
BLOCK_BODY
|
||||
@@ -126,6 +142,8 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Float]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:F<T> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
|
||||
@@ -18,6 +18,8 @@ FILE fqName:<root> fileName:/in.kt
|
||||
element: GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <T> (a:T, x:kotlin.collections.Collection<T>) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:a index:0 type:T flags:
|
||||
VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<T> flags:
|
||||
BLOCK_BODY
|
||||
@@ -27,6 +29,8 @@ FILE fqName:<root> fileName:/in.kt
|
||||
element: GET_VAR 'value-parameter a: T' type=T origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <T> (a:T, x:kotlin.collections.Collection<T>) returnType:Boolean flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:a index:0 type:T flags:
|
||||
VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection<T> flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/thisOfGenericOuterClass.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (x:T) returnType:Outer<T> flags:
|
||||
VALUE_PARAMETER name:x index:0 type:T flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -18,6 +18,8 @@ FILE fqName:<root> fileName:/integerCoercionToT.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
FUN name:reinterpret visibility:public modality:FINAL <T> ($receiver:CPointed) returnType:T flags:inline
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[CPointed]
|
||||
superClassifiers:
|
||||
CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
|
||||
$receiver: VALUE_PARAMETER name:<this> type:CPointed flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='reinterpret() on CPointed: T'
|
||||
@@ -27,6 +29,8 @@ FILE fqName:<root> fileName:/integerCoercionToT.kt
|
||||
superClasses:
|
||||
CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> () returnType:CInt32VarX<T> flags:
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
FILE fqName:<root> fileName:/fixationOrder1.kt
|
||||
FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:Function1<X, Y> flags:
|
||||
TYPE_PARAMETER name:X index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:Y index:1 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='foo(): (X) -> Y'
|
||||
CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null
|
||||
@@ -10,7 +14,11 @@ FILE fqName:<root> fileName:/fixationOrder1.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:A index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:B index:1 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
@@ -26,7 +34,11 @@ FILE fqName:<root> fileName:/fixationOrder1.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
||||
FUN name:check visibility:public modality:FINAL <T, R> (x:T, y:R, f:(T) -> R) returnType:Inv2<T, R> flags:
|
||||
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:R index:1 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
VALUE_PARAMETER name:x index:0 type:T flags:
|
||||
VALUE_PARAMETER name:y index:1 type:R flags:
|
||||
VALUE_PARAMETER name:f index:2 type:(T) -> R flags:
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE fqName:<root> fileName:/typeAliasCtorForGenericClass.kt
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:Q index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR visibility:public <> (q:Q) returnType:A<Q> flags:
|
||||
VALUE_PARAMETER name:q index:0 type:Q flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
FILE fqName:<root> fileName:/builtinMap.kt
|
||||
FUN name:plus visibility:public modality:FINAL <K, V> ($receiver:kotlin.collections.Map<out K, V>, pair:kotlin.Pair<K, V>) returnType:Map<K, V> flags:
|
||||
TYPE_PARAMETER name:K index:0 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
TYPE_PARAMETER name:V index:1 variance: upperBounds:[kotlin.Any?]
|
||||
superClassifiers:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.Map<out K, V> flags:
|
||||
VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<K, V> flags:
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
MODULE_FRAGMENT name:<built-ins module>
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:kotlin
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:kotlin.collections
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableMap modality:ABSTRACT visibility:public flags:
|
||||
superClasses:
|
||||
UNBOUND: interface Map<K, out V>
|
||||
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:K index:0 variance: upperBounds:[kotlin.Any?]
|
||||
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:V index:1 variance: upperBounds:[kotlin.Any?]
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:OPEN <> (key:K, value:V) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:1 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:getOrDefault visibility:public modality:OPEN <> (key:K, defaultValue:V) returnType:V flags:
|
||||
overridden:
|
||||
UNBOUND: fun getOrDefault(key: K, defaultValue: V): V
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:defaultValue index:1 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:clear visibility:public modality:ABSTRACT <> () returnType:Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:put visibility:public modality:ABSTRACT <> (key:K, value:V) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:1 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:putAll visibility:public modality:ABSTRACT <> (from:kotlin.collections.Map<out K, V>) returnType:Unit flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:from index:0 type:kotlin.collections.Map<out K, V> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:ABSTRACT <> (key:K) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:containsKey visibility:public modality:ABSTRACT <> (key:K) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun containsKey(key: K): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:containsValue visibility:public modality:ABSTRACT <> (value:V) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun containsValue(value: V): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:0 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:ABSTRACT <> (key:K) returnType:V? flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun get(key: K): V?
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:isEmpty visibility:public modality:ABSTRACT <> () returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun isEmpty(): kotlin.Boolean
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:size type:kotlin.Int visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-size> visibility:public modality:ABSTRACT <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-size>(): kotlin.Int
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:entries type:kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>> visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-entries> visibility:public modality:ABSTRACT <> () returnType:MutableSet<MutableEntry<K, V>> flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-entries>(): kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:keys type:kotlin.collections.MutableSet<K> visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-keys> visibility:public modality:ABSTRACT <> () returnType:MutableSet<K> flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-keys>(): kotlin.collections.Set<K>
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:values type:kotlin.collections.MutableCollection<V> visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-values> visibility:public modality:ABSTRACT <> () returnType:MutableCollection<V> flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-values>(): kotlin.collections.Collection<V>
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableEntry modality:ABSTRACT visibility:public flags:
|
||||
superClasses:
|
||||
UNBOUND: interface Entry<out K, out V>
|
||||
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:K index:0 variance: upperBounds:[kotlin.Any?]
|
||||
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:V index:1 variance: upperBounds:[kotlin.Any?]
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:ABSTRACT <> (newValue:V) returnType:V flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:newValue index:0 type:V flags:
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:key type:K visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-key> visibility:public modality:ABSTRACT <> () returnType:K flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-key>(): K
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:value type:V visibility:public modality:ABSTRACT flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-value> visibility:public modality:ABSTRACT <> () returnType:V flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-value>(): V
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:compute visibility:public modality:OPEN <> (p0:K, p1:java.util.function.BiFunction<in K, in V?, out V?>) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.BiFunction<in K, in V?, out V?> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:computeIfAbsent visibility:public modality:OPEN <> (p0:K, p1:java.util.function.Function<in K, out V>) returnType:V flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.Function<in K, out V> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:computeIfPresent visibility:public modality:OPEN <> (p0:K, p1:java.util.function.BiFunction<in K, in V, out V?>) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.BiFunction<in K, in V, out V?> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:merge visibility:public modality:OPEN <> (p0:K, p1:V, p2:java.util.function.BiFunction<in V, in V, out V?>) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p2 index:2 type:java.util.function.BiFunction<in V, in V, out V?> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:putIfAbsent visibility:public modality:OPEN <> (p0:K, p1:V) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:replace visibility:public modality:OPEN <> (p0:K, p1:V) returnType:V? flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:replace visibility:public modality:OPEN <> (p0:K, p1:V, p2:V) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p2 index:2 type:V flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:replaceAll visibility:public modality:OPEN <> (p0:java.util.function.BiFunction<in K, in V, out V>) returnType:Unit flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:java.util.function.BiFunction<in K, in V, out V> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:forEach visibility:public modality:OPEN <> (p0:java.util.function.BiConsumer<in K, in V>) returnType:Unit flags:
|
||||
overridden:
|
||||
UNBOUND: fun forEach(p0: java.util.function.BiConsumer<in K, in V>): kotlin.Unit
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:java.util.function.BiConsumer<in K, in V> flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
+1830
-4
File diff suppressed because it is too large
Load Diff
@@ -8,18 +8,36 @@ MODULE_FRAGMENT name:<test-module>
|
||||
ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:THREE
|
||||
ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TWO
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType:Any flags:
|
||||
overridden:
|
||||
UNBOUND: fun clone(): kotlin.Any
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType:Unit flags:
|
||||
overridden:
|
||||
UNBOUND: fun finalize(): kotlin.Unit
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(JEnum..JEnum?)>..java.lang.Class<(JEnum..JEnum?)>?) flags:
|
||||
overridden:
|
||||
UNBOUND: fun getDeclaringClass(): java.lang.Class<E!>!
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:JEnum!) returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun compareTo(other: E): kotlin.Int
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:JEnum! flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:name type:kotlin.String visibility:public modality:FINAL flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-name> visibility:public modality:FINAL <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-name>(): kotlin.String
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-ordinal> visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun <get-ordinal>(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:JEnum flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:0 type:kotlin.String flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:values visibility:public modality:FINAL <> () returnType:Array<JEnum> flags:
|
||||
|
||||
@@ -15,10 +15,22 @@ MODULE_FRAGMENT name:<test-module>
|
||||
FIELD IR_EXTERNAL_DECLARATION_STUB name:z type:kotlin.Int visibility:public
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:foo visibility:public modality:OPEN <> () returnType:Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// !DUMP_DEPENDENCIES
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
public void bar() {}
|
||||
}
|
||||
|
||||
// FILE: javaMethod.kt
|
||||
|
||||
fun test(j: J) = j.bar()
|
||||
@@ -0,0 +1,7 @@
|
||||
FILE fqName:<root> fileName:/javaMethod.kt
|
||||
FUN name:test visibility:public modality:FINAL <> (j:J) returnType:Unit flags:
|
||||
VALUE_PARAMETER name:j index:0 type:J flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test(J): Unit'
|
||||
CALL 'bar(): Unit' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'value-parameter j: J' type=J origin=null
|
||||
@@ -0,0 +1,17 @@
|
||||
MODULE_FRAGMENT name:<test-module>
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:<root>
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J modality:OPEN visibility:public flags:
|
||||
superClasses:
|
||||
UNBOUND: class Any
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
@@ -10,11 +10,23 @@ MODULE_FRAGMENT name:<test-module>
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J.JJ flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:foo visibility:public modality:OPEN <> () returnType:Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// !DUMP_DEPENDENCIES
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
public static void bar() {}
|
||||
}
|
||||
|
||||
// FILE: javaStaticMethod.kt
|
||||
|
||||
fun test() = J.bar()
|
||||
@@ -0,0 +1,5 @@
|
||||
FILE fqName:<root> fileName:/javaStaticMethod.kt
|
||||
FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test(): Unit'
|
||||
CALL 'bar(): Unit' type=kotlin.Unit origin=null
|
||||
@@ -0,0 +1,17 @@
|
||||
MODULE_FRAGMENT name:<test-module>
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:<root>
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J modality:OPEN visibility:public flags:
|
||||
superClasses:
|
||||
UNBOUND: class Any
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
|
||||
@@ -39,9 +39,15 @@ MODULE_FRAGMENT name:<built-ins module>
|
||||
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE type:kotlin.Int visibility:public modality:FINAL flags:constmval
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-MIN_VALUE> visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:inv visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:and visibility:public modality:FINAL <> (other:kotlin.Int) returnType:Int flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:
|
||||
@@ -126,15 +132,40 @@ MODULE_FRAGMENT name:<built-ins module>
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:unaryPlus visibility:public modality:FINAL <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> (other:kotlin.Int) returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: operator fun compareTo(other: T): kotlin.Int
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:OPEN <> () returnType:Byte flags:
|
||||
overridden:
|
||||
UNBOUND: fun toByte(): kotlin.Byte
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:OPEN <> () returnType:Char flags:
|
||||
overridden:
|
||||
UNBOUND: fun toChar(): kotlin.Char
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> () returnType:Double flags:
|
||||
overridden:
|
||||
UNBOUND: fun toDouble(): kotlin.Double
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> () returnType:Float flags:
|
||||
overridden:
|
||||
UNBOUND: fun toFloat(): kotlin.Float
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun toInt(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:OPEN <> () returnType:Long flags:
|
||||
overridden:
|
||||
UNBOUND: fun toLong(): kotlin.Long
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:OPEN <> () returnType:Short flags:
|
||||
overridden:
|
||||
UNBOUND: fun toShort(): kotlin.Short
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
UNBOUND: fun hashCode(): kotlin.Int
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
UNBOUND: fun toString(): kotlin.String
|
||||
|
||||
@@ -276,6 +276,12 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("localClassWithOverrides.kt")
|
||||
public void testLocalClassWithOverrides() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/declarations/localClassWithOverrides.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("localDelegatedProperties.kt")
|
||||
public void testLocalDelegatedProperties() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/declarations/localDelegatedProperties.kt");
|
||||
@@ -1257,12 +1263,24 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("javaMethod.kt")
|
||||
public void testJavaMethod() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/stubs/javaMethod.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("javaNestedClass.kt")
|
||||
public void testJavaNestedClass() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/stubs/javaNestedClass.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("javaStaticMethod.kt")
|
||||
public void testJavaStaticMethod() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/stubs/javaStaticMethod.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("kotlinInnerClass.kt")
|
||||
public void testKotlinInnerClass() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/stubs/kotlinInnerClass.kt");
|
||||
|
||||
Reference in New Issue
Block a user