IR: isExpect
This commit is contained in:
+7
-2
@@ -5,7 +5,12 @@
|
||||
|
||||
package org.jetbrains.kotlin.backend.common.ir
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.MemberDescriptor
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.IrProperty
|
||||
|
||||
val IrDeclaration.isExpect get() = descriptor.let { it is MemberDescriptor && it.isExpect }
|
||||
val IrDeclaration.isExpect
|
||||
get() = this is IrClass && isExpect ||
|
||||
this is IrFunction && isExpect ||
|
||||
this is IrProperty && isExpect
|
||||
+2
@@ -18,6 +18,7 @@ class IrClassBuilder : IrDeclarationBuilder() {
|
||||
var isData: Boolean = false
|
||||
var isExternal: Boolean = false
|
||||
var isInline: Boolean = false
|
||||
var isExpect: Boolean = false
|
||||
|
||||
fun updateFrom(from: IrClass) {
|
||||
super.updateFrom(from)
|
||||
@@ -29,5 +30,6 @@ class IrClassBuilder : IrDeclarationBuilder() {
|
||||
isData = from.isData
|
||||
isExternal = from.isExternal
|
||||
isInline = from.isInline
|
||||
isExpect = from.isExpect
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -22,6 +22,7 @@ class IrFunctionBuilder : IrDeclarationBuilder() {
|
||||
var modality: Modality = Modality.FINAL
|
||||
var isTailrec: Boolean = false
|
||||
var isSuspend: Boolean = false
|
||||
var isExpect: Boolean = false
|
||||
|
||||
var isPrimary: Boolean = false
|
||||
|
||||
@@ -30,6 +31,7 @@ class IrFunctionBuilder : IrDeclarationBuilder() {
|
||||
|
||||
isInline = from.isInline
|
||||
isExternal = from.isExternal
|
||||
isExpect = from.isExpect
|
||||
|
||||
if (from is IrSimpleFunction) {
|
||||
modality = from.modality
|
||||
|
||||
+1
@@ -15,4 +15,5 @@ class IrPropertyBuilder : IrDeclarationBuilder() {
|
||||
var isLateinit: Boolean = false
|
||||
var isDelegated: Boolean = false
|
||||
var isExternal: Boolean = false
|
||||
var isExpect: Boolean = false
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ interface IrClass :
|
||||
val isData: Boolean
|
||||
val isExternal: Boolean
|
||||
val isInline: Boolean
|
||||
val isExpect: Boolean
|
||||
|
||||
val superTypes: MutableList<IrType>
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ interface IrFunction :
|
||||
|
||||
val isInline: Boolean // NB: there's an inline constructor for Array and each primitive array class
|
||||
val isExternal: Boolean
|
||||
val isExpect: Boolean
|
||||
|
||||
var returnType: IrType
|
||||
|
||||
var dispatchReceiverParameter: IrValueParameter?
|
||||
|
||||
@@ -34,6 +34,7 @@ interface IrProperty :
|
||||
val isLateinit: Boolean
|
||||
val isDelegated: Boolean
|
||||
val isExternal: Boolean
|
||||
val isExpect: Boolean
|
||||
|
||||
var backingField: IrField?
|
||||
var getter: IrSimpleFunction?
|
||||
|
||||
@@ -43,7 +43,8 @@ class IrClassImpl(
|
||||
override val isInner: Boolean,
|
||||
override val isData: Boolean,
|
||||
override val isExternal: Boolean,
|
||||
override val isInline: Boolean
|
||||
override val isInline: Boolean,
|
||||
override val isExpect: Boolean
|
||||
) :
|
||||
IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrClass {
|
||||
@@ -64,7 +65,8 @@ class IrClassImpl(
|
||||
isInner = symbol.descriptor.isInner,
|
||||
isData = symbol.descriptor.isData,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal(),
|
||||
isInline = symbol.descriptor.isInline
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExpect = symbol.descriptor.isExpect
|
||||
)
|
||||
|
||||
init {
|
||||
|
||||
+9
-5
@@ -37,11 +37,14 @@ class IrConstructorImpl(
|
||||
returnType: IrType,
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isPrimary: Boolean
|
||||
override val isPrimary: Boolean,
|
||||
isExpect: Boolean
|
||||
) :
|
||||
IrFunctionBase(
|
||||
startOffset, endOffset, origin, name,
|
||||
visibility, isInline, isExternal, returnType
|
||||
visibility,
|
||||
isInline, isExternal, isExpect,
|
||||
returnType
|
||||
),
|
||||
IrConstructor {
|
||||
|
||||
@@ -57,9 +60,10 @@ class IrConstructorImpl(
|
||||
symbol.descriptor.name,
|
||||
symbol.descriptor.visibility,
|
||||
returnType,
|
||||
symbol.descriptor.isInline,
|
||||
symbol.descriptor.isEffectivelyExternal(),
|
||||
symbol.descriptor.isPrimary
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal(),
|
||||
isPrimary = symbol.descriptor.isPrimary,
|
||||
isExpect = symbol.descriptor.isExpect
|
||||
) {
|
||||
this.body = body
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ abstract class IrFunctionBase(
|
||||
override var visibility: Visibility,
|
||||
override val isInline: Boolean,
|
||||
override val isExternal: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
returnType: IrType
|
||||
) :
|
||||
IrDeclarationBase(startOffset, endOffset, origin),
|
||||
|
||||
@@ -31,9 +31,10 @@ class IrFunctionImpl(
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isTailrec: Boolean,
|
||||
override val isSuspend: Boolean
|
||||
override val isSuspend: Boolean,
|
||||
isExpect: Boolean
|
||||
) :
|
||||
IrFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, returnType),
|
||||
IrFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, isExpect, returnType),
|
||||
IrSimpleFunction {
|
||||
|
||||
constructor(
|
||||
@@ -50,10 +51,11 @@ class IrFunctionImpl(
|
||||
visibility,
|
||||
modality,
|
||||
returnType,
|
||||
symbol.descriptor.isInline,
|
||||
symbol.descriptor.isExternal,
|
||||
symbol.descriptor.isTailrec,
|
||||
symbol.descriptor.isSuspend
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExternal = symbol.descriptor.isExternal,
|
||||
isTailrec = symbol.descriptor.isTailrec,
|
||||
isSuspend = symbol.descriptor.isSuspend,
|
||||
isExpect = symbol.descriptor.isExpect
|
||||
)
|
||||
|
||||
override val descriptor: FunctionDescriptor = symbol.descriptor
|
||||
|
||||
@@ -39,8 +39,9 @@ class IrPropertyImpl(
|
||||
override val isVar: Boolean = symbol.descriptor.isVar,
|
||||
override val isConst: Boolean = symbol.descriptor.isConst,
|
||||
override val isLateinit: Boolean = symbol.descriptor.isLateInit,
|
||||
@Suppress("DEPRECATION") override val isDelegated: Boolean = symbol.descriptor.isDelegated,
|
||||
override val isExternal: Boolean = symbol.descriptor.isEffectivelyExternal()
|
||||
override val isDelegated: Boolean = @Suppress("DEPRECATION") symbol.descriptor.isDelegated,
|
||||
override val isExternal: Boolean = symbol.descriptor.isEffectivelyExternal(),
|
||||
override val isExpect: Boolean = symbol.descriptor.isExpect
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrProperty {
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ class IrLazyClass(
|
||||
override val isData: Boolean,
|
||||
override val isExternal: Boolean,
|
||||
override val isInline: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
stubGenerator: DeclarationStubGenerator,
|
||||
typeTranslator: TypeTranslator
|
||||
) :
|
||||
@@ -57,6 +58,7 @@ class IrLazyClass(
|
||||
isData = symbol.descriptor.isData,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal(),
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExpect = symbol.descriptor.isExpect,
|
||||
stubGenerator = stubGenerator,
|
||||
typeTranslator = TypeTranslator
|
||||
)
|
||||
|
||||
+8
-6
@@ -28,12 +28,13 @@ class IrLazyConstructor(
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
override val isPrimary: Boolean,
|
||||
isExpect: Boolean,
|
||||
stubGenerator: DeclarationStubGenerator,
|
||||
typeTranslator: TypeTranslator
|
||||
) :
|
||||
IrLazyFunctionBase(
|
||||
startOffset, endOffset, origin, name,
|
||||
visibility, isInline, isExternal,
|
||||
visibility, isInline, isExternal, isExpect,
|
||||
stubGenerator, typeTranslator
|
||||
),
|
||||
IrConstructor {
|
||||
@@ -49,11 +50,12 @@ class IrLazyConstructor(
|
||||
startOffset, endOffset, origin, symbol,
|
||||
symbol.descriptor.name,
|
||||
symbol.descriptor.visibility,
|
||||
symbol.descriptor.isInline,
|
||||
symbol.descriptor.isEffectivelyExternal(),
|
||||
symbol.descriptor.isPrimary,
|
||||
stubGenerator,
|
||||
TypeTranslator
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal(),
|
||||
isPrimary = symbol.descriptor.isPrimary,
|
||||
isExpect = symbol.descriptor.isExpect,
|
||||
stubGenerator = stubGenerator,
|
||||
typeTranslator = TypeTranslator
|
||||
)
|
||||
|
||||
override val typeParameters: MutableList<IrTypeParameter> by lazy {
|
||||
|
||||
+13
-11
@@ -33,10 +33,11 @@ class IrLazyFunction(
|
||||
isExternal: Boolean,
|
||||
override val isTailrec: Boolean,
|
||||
override val isSuspend: Boolean,
|
||||
isExpect: Boolean,
|
||||
stubGenerator: DeclarationStubGenerator,
|
||||
typeTranslator: TypeTranslator
|
||||
) :
|
||||
IrLazyFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, stubGenerator, typeTranslator),
|
||||
IrLazyFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, isExpect, stubGenerator, typeTranslator),
|
||||
IrSimpleFunction {
|
||||
|
||||
constructor(
|
||||
@@ -51,12 +52,13 @@ class IrLazyFunction(
|
||||
symbol.descriptor.name,
|
||||
symbol.descriptor.visibility,
|
||||
symbol.descriptor.modality,
|
||||
symbol.descriptor.isInline,
|
||||
symbol.descriptor.isExternal,
|
||||
symbol.descriptor.isTailrec,
|
||||
symbol.descriptor.isSuspend,
|
||||
stubGenerator,
|
||||
TypeTranslator
|
||||
isInline = symbol.descriptor.isInline,
|
||||
isExternal = symbol.descriptor.isExternal,
|
||||
isTailrec = symbol.descriptor.isTailrec,
|
||||
isSuspend = symbol.descriptor.isSuspend,
|
||||
isExpect = symbol.descriptor.isExpect,
|
||||
stubGenerator = stubGenerator,
|
||||
typeTranslator = TypeTranslator
|
||||
)
|
||||
|
||||
override val descriptor: FunctionDescriptor = symbol.descriptor
|
||||
@@ -65,13 +67,13 @@ class IrLazyFunction(
|
||||
typeTranslator.buildWithScope(this) {
|
||||
stubGenerator.symbolTable.withScope(descriptor) {
|
||||
val propertyIfAccessor = descriptor.propertyIfAccessor
|
||||
propertyIfAccessor.typeParameters.mapTo(arrayListOf()) {
|
||||
propertyIfAccessor.typeParameters.mapTo(arrayListOf()) { typeParameterDescriptor ->
|
||||
if (descriptor != propertyIfAccessor) {
|
||||
stubGenerator.generateOrGetScopedTypeParameterStub(it).also {
|
||||
it.parent = this@IrLazyFunction
|
||||
stubGenerator.generateOrGetScopedTypeParameterStub(typeParameterDescriptor).also { irTypeParameter ->
|
||||
irTypeParameter.parent = this@IrLazyFunction
|
||||
}
|
||||
} else {
|
||||
stubGenerator.generateOrGetTypeParameterStub(it)
|
||||
stubGenerator.generateOrGetTypeParameterStub(typeParameterDescriptor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -26,6 +26,7 @@ abstract class IrLazyFunctionBase(
|
||||
override var visibility: Visibility,
|
||||
override val isInline: Boolean,
|
||||
override val isExternal: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
stubGenerator: DeclarationStubGenerator,
|
||||
typeTranslator: TypeTranslator
|
||||
) :
|
||||
|
||||
@@ -35,6 +35,7 @@ class IrLazyProperty(
|
||||
override val isLateinit: Boolean,
|
||||
override val isDelegated: Boolean,
|
||||
override val isExternal: Boolean,
|
||||
override val isExpect: Boolean,
|
||||
stubGenerator: DeclarationStubGenerator,
|
||||
typeTranslator: TypeTranslator,
|
||||
private val bindingContext: BindingContext? = null
|
||||
@@ -59,6 +60,7 @@ class IrLazyProperty(
|
||||
isLateinit = symbol.descriptor.isLateInit,
|
||||
isDelegated = @Suppress("DEPRECATION") symbol.descriptor.isDelegated,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal(),
|
||||
isExpect = symbol.descriptor.isExpect,
|
||||
stubGenerator = stubGenerator,
|
||||
typeTranslator = typeTranslator,
|
||||
bindingContext = bindingContext
|
||||
|
||||
@@ -144,7 +144,8 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
declaration.isInner,
|
||||
declaration.isData,
|
||||
declaration.isExternal,
|
||||
declaration.isInline
|
||||
declaration.isInline,
|
||||
declaration.isExpect
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
copyTypeParametersFrom(declaration)
|
||||
@@ -164,10 +165,11 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
declaration.visibility,
|
||||
declaration.modality,
|
||||
declaration.returnType,
|
||||
declaration.isInline,
|
||||
declaration.isExternal,
|
||||
declaration.isTailrec,
|
||||
declaration.isSuspend
|
||||
isInline = declaration.isInline,
|
||||
isExternal = declaration.isExternal,
|
||||
isTailrec = declaration.isTailrec,
|
||||
isSuspend = declaration.isSuspend,
|
||||
isExpect = declaration.isExpect
|
||||
).apply {
|
||||
declaration.overriddenSymbols.mapTo(overriddenSymbols) {
|
||||
symbolRemapper.getReferencedFunction(it) as IrSimpleFunctionSymbol
|
||||
@@ -183,9 +185,10 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
declaration.name,
|
||||
declaration.visibility,
|
||||
declaration.returnType,
|
||||
declaration.isInline,
|
||||
declaration.isExternal,
|
||||
declaration.isPrimary
|
||||
isInline = declaration.isInline,
|
||||
isExternal = declaration.isExternal,
|
||||
isPrimary = declaration.isPrimary,
|
||||
isExpect = declaration.isExpect
|
||||
).apply {
|
||||
transformFunctionChildren(declaration)
|
||||
}
|
||||
@@ -215,11 +218,12 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
declaration.name,
|
||||
declaration.visibility,
|
||||
declaration.modality,
|
||||
declaration.isVar,
|
||||
declaration.isConst,
|
||||
declaration.isLateinit,
|
||||
declaration.isDelegated,
|
||||
declaration.isExternal
|
||||
isVar = declaration.isVar,
|
||||
isConst = declaration.isConst,
|
||||
isLateinit = declaration.isLateinit,
|
||||
isDelegated = declaration.isDelegated,
|
||||
isExpect = declaration.isExpect,
|
||||
isExternal = declaration.isExternal
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
this.backingField = declaration.backingField?.transform()
|
||||
|
||||
@@ -370,7 +370,8 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
|
||||
"tailrec".takeIf { isTailrec },
|
||||
"inline".takeIf { isInline },
|
||||
"external".takeIf { isExternal },
|
||||
"suspend".takeIf { isSuspend }
|
||||
"suspend".takeIf { isSuspend },
|
||||
"expect".takeIf { isExpect }
|
||||
)
|
||||
|
||||
private fun IrFunction.renderTypeParameters(): String =
|
||||
@@ -397,7 +398,8 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
|
||||
renderFlagsList(
|
||||
"inline".takeIf { isInline },
|
||||
"external".takeIf { isExternal },
|
||||
"primary".takeIf { isPrimary }
|
||||
"primary".takeIf { isPrimary },
|
||||
"expect".takeIf { isExpect }
|
||||
)
|
||||
|
||||
override fun visitProperty(declaration: IrProperty, data: Nothing?): String =
|
||||
@@ -413,6 +415,7 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
|
||||
"const".takeIf { isConst },
|
||||
"lateinit".takeIf { isLateinit },
|
||||
"delegated".takeIf { isDelegated },
|
||||
"expect".takeIf { isExpect },
|
||||
if (isVar) "var" else "val"
|
||||
)
|
||||
|
||||
@@ -443,7 +446,8 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
|
||||
"inner".takeIf { isInner },
|
||||
"data".takeIf { isData },
|
||||
"external".takeIf { isExternal },
|
||||
"inline".takeIf { isInline }
|
||||
"inline".takeIf { isInline },
|
||||
"expect".takeIf { isExpect }
|
||||
)
|
||||
|
||||
override fun visitVariable(declaration: IrVariable, data: Nothing?): String =
|
||||
|
||||
+7
-7
@@ -1,8 +1,8 @@
|
||||
FILE fqName:<root> fileName:/expectClassInherited.kt
|
||||
CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
CLASS CLASS name:A modality:ABSTRACT visibility:public [expect] superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
|
||||
CONSTRUCTOR visibility:protected <> () returnType:<root>.A [primary]
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.A) returnType:kotlin.Unit
|
||||
CONSTRUCTOR visibility:protected <> () returnType:<root>.A [primary,expect]
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.A) returnType:kotlin.Unit [expect]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.A
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
@@ -17,15 +17,15 @@ FILE fqName:<root> fileName:/expectClassInherited.kt
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:B modality:OPEN visibility:public superTypes:[<root>.A]
|
||||
CLASS CLASS name:B modality:OPEN visibility:public [expect] superTypes:[<root>.A]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B
|
||||
CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:<root>.B [primary]
|
||||
CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:<root>.B [primary,expect]
|
||||
VALUE_PARAMETER name:i index:0 type:kotlin.Int
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B) returnType:kotlin.Unit
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B) returnType:kotlin.Unit [expect]
|
||||
overridden:
|
||||
public abstract fun foo (): kotlin.Unit declared in <root>.A
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.B
|
||||
FUN name:bar visibility:public modality:OPEN <> ($this:<root>.B, s:kotlin.String) returnType:kotlin.Unit
|
||||
FUN name:bar visibility:public modality:OPEN <> ($this:<root>.B, s:kotlin.String) returnType:kotlin.Unit [expect]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.B
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
FILE fqName:<root> fileName:/expectedEnumClass.kt
|
||||
CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.MyEnum>]
|
||||
CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public [expect] superTypes:[kotlin.Enum<<root>.MyEnum>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
||||
ENUM_ENTRY name:FOO
|
||||
ENUM_ENTRY name:BAR
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
FILE fqName:<root> fileName:/expectedSealedClass.kt
|
||||
CLASS CLASS name:Ops modality:SEALED visibility:public superTypes:[kotlin.Any]
|
||||
CLASS CLASS name:Ops modality:SEALED visibility:public [expect] superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ops
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.Ops [primary]
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.Ops [primary,expect]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
@@ -15,9 +15,9 @@ FILE fqName:<root> fileName:/expectedSealedClass.kt
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[<root>.Ops]
|
||||
CLASS CLASS name:Add modality:FINAL visibility:public [expect] superTypes:[<root>.Ops]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Add
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Add [primary]
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Add [primary,expect]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Ops
|
||||
|
||||
Reference in New Issue
Block a user