From fdd8b7ae6c61cbe33c1df53441d76754c4179c44 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Thu, 5 Apr 2018 11:59:43 +0300 Subject: [PATCH] Annotations in IR are represented as call expressions (nothing else) --- .../kotlin/psi2ir/transformations/AnnotationGenerator.kt | 4 ++-- .../kotlin/ir/declarations/IrAnnotationContainer.kt | 4 ++-- .../kotlin/ir/declarations/impl/IrDeclarationBase.kt | 4 ++-- .../org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt | 6 ++---- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/AnnotationGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/AnnotationGenerator.kt index d25a9747e38..fb9bedcbfc1 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/AnnotationGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/transformations/AnnotationGenerator.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrField import org.jetbrains.kotlin.ir.declarations.IrProperty import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction -import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid @@ -55,7 +55,7 @@ class AnnotationGenerator(private val context: GeneratorContext) : IrElementVisi } } - fun generateAnnotationConstructorCall(annotationDescriptor: AnnotationDescriptor): IrExpression { + fun generateAnnotationConstructorCall(annotationDescriptor: AnnotationDescriptor): IrCall { val annotationType = annotationDescriptor.type val annotationClassDescriptor = annotationType.constructor.declarationDescriptor ?: throw AssertionError("No declaration descriptor for annotation $annotationDescriptor") diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrAnnotationContainer.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrAnnotationContainer.kt index 51b5adf6ca1..78ddd68fcb9 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrAnnotationContainer.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrAnnotationContainer.kt @@ -5,8 +5,8 @@ package org.jetbrains.kotlin.ir.declarations -import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrCall interface IrAnnotationContainer { - val annotations: MutableList + val annotations: MutableList } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt index 775daad04fb..8483828bbaf 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent -import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrCall abstract class IrDeclarationBase( startOffset: Int, @@ -31,5 +31,5 @@ abstract class IrDeclarationBase( override lateinit var parent: IrDeclarationParent - override val annotations: MutableList = ArrayList() + override val annotations: MutableList = ArrayList() } \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt index 8a12670c34c..0004f211f9d 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt @@ -22,15 +22,13 @@ import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.SourceManager import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrFile -import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.symbols.IrFileSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrFileSymbolImpl import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.utils.SmartList -import java.util.* -import kotlin.collections.ArrayList class IrFileImpl( override val fileEntry: SourceManager.FileEntry, @@ -64,7 +62,7 @@ class IrFileImpl( override val declarations: MutableList = ArrayList() - override val annotations: MutableList = ArrayList() + override val annotations: MutableList = ArrayList() override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitFile(this, data)