All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.ir.declarations.persistent.carriers.FunctionCarrier.kt Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
/*
 * Copyright 2010-2019 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.declarations.persistent.carriers

import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.ir.types.IrType

internal interface FunctionCarrier : FunctionBaseCarrier {
    var correspondingPropertySymbolField: IrPropertySymbol?
    var overriddenSymbolsField: List
    var attributeOwnerIdField: IrAttributeContainer

    override fun clone(): FunctionCarrier {
        return FunctionCarrierImpl(
            lastModified,
            parentField,
            originField,
            annotationsField,
            returnTypeFieldField,
            dispatchReceiverParameterField,
            extensionReceiverParameterField,
            bodyField,
            metadataField,
            visibilityField,
            typeParametersField,
            valueParametersField,
            correspondingPropertySymbolField,
            overriddenSymbolsField,
            attributeOwnerIdField
        )
    }
}

internal class FunctionCarrierImpl(
        override val lastModified: Int,
        override var parentField: IrDeclarationParent?,
        override var originField: IrDeclarationOrigin,
        override var annotationsField: List,
        override var returnTypeFieldField: IrType,
        override var dispatchReceiverParameterField: IrValueParameter?,
        override var extensionReceiverParameterField: IrValueParameter?,
        override var bodyField: IrBody?,
        override var metadataField: MetadataSource?,
        override var visibilityField: DescriptorVisibility,
        override var typeParametersField: List,
        override var valueParametersField: List,
        override var correspondingPropertySymbolField: IrPropertySymbol?,
        override var overriddenSymbolsField: List,
        override var attributeOwnerIdField: IrAttributeContainer
) : FunctionCarrier




© 2015 - 2024 Weber Informatics LLC | Privacy Policy