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

org.jetbrains.kotlin.ir.backend.js.utils.IrNamer.kt Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
/*
 * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * 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.backend.js.utils

import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrLoop
import org.jetbrains.kotlin.js.backend.ast.JsName
import org.jetbrains.kotlin.js.backend.ast.JsNameRef

interface IrNamer {
    fun getNameForConstructor(constructor: IrConstructor): JsName
    fun getNameForMemberFunction(function: IrSimpleFunction): JsName
    fun getNameForMemberField(field: IrField): JsName
    fun getNameForField(field: IrField): JsName
    fun getNameForValueDeclaration(declaration: IrValueDeclaration): JsName
    fun getNameForClass(klass: IrClass): JsName
    fun getNameForStaticFunction(function: IrSimpleFunction): JsName
    fun getNameForStaticDeclaration(declaration: IrDeclarationWithName): JsName
    fun getNameForProperty(property: IrProperty): JsName
    fun getRefForExternalClass(klass: IrClass): JsNameRef
    fun getNameForLoop(loop: IrLoop): JsName?
    fun getAssociatedObjectKey(irClass: IrClass): Int?
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy