Add IrClass.irInline

This commit is contained in:
Dmitry Petrov
2018-08-13 14:40:17 +03:00
parent 9db2b6ffba
commit de11d9164d
8 changed files with 44 additions and 11 deletions
@@ -35,6 +35,7 @@ interface IrClass : IrSymbolDeclaration<IrClassSymbol>, IrDeclarationContainer,
val isInner: Boolean
val isData: Boolean
val isExternal: Boolean
val isInline: Boolean
val superTypes: MutableList<IrType>
@@ -43,7 +43,8 @@ class IrClassImpl(
override val isCompanion: Boolean,
override val isInner: Boolean,
override val isData: Boolean,
override val isExternal: Boolean
override val isExternal: Boolean,
override val isInline: Boolean
) :
IrDeclarationBase(startOffset, endOffset, origin),
IrClass {
@@ -61,7 +62,8 @@ class IrClassImpl(
isCompanion = symbol.descriptor.isCompanionObject,
isInner = symbol.descriptor.isInner,
isData = symbol.descriptor.isData,
isExternal = symbol.descriptor.isEffectivelyExternal()
isExternal = symbol.descriptor.isEffectivelyExternal(),
isInline = symbol.descriptor.isInline
)
constructor(
@@ -34,6 +34,7 @@ class IrLazyClass(
override val isInner: Boolean,
override val isData: Boolean,
override val isExternal: Boolean,
override val isInline: Boolean,
stubGenerator: DeclarationStubGenerator,
typeTranslator: TypeTranslator
) :
@@ -56,6 +57,7 @@ class IrLazyClass(
isInner = symbol.descriptor.isInner,
isData = symbol.descriptor.isData,
isExternal = symbol.descriptor.isEffectivelyExternal(),
isInline = symbol.descriptor.isInline,
stubGenerator = stubGenerator,
typeTranslator = TypeTranslator
)
@@ -139,7 +139,8 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"companion".takeIf { isCompanion },
"inner".takeIf { isInner },
"data".takeIf { isData },
"external".takeIf { isExternal }
"external".takeIf { isExternal },
"inline".takeIf { isInline }
)
override fun visitTypeAlias(declaration: IrTypeAlias, data: Nothing?): String =