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

org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol.kt Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
/*
 * Copyright 2010-2020 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.fir.symbols.impl

import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
import org.jetbrains.kotlin.fir.declarations.FirField
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name

open class FirVariableSymbol>(override val callableId: CallableId) : FirCallableSymbol() {

    constructor(name: Name) : this(CallableId(name))  // TODO?
}

open class FirPropertySymbol(
    callableId: CallableId,
) : FirVariableSymbol(callableId) {
    // TODO: should we use this constructor for local variables?
    constructor(name: Name) : this(CallableId(name))
}

class FirBackingFieldSymbol(callableId: CallableId) : FirVariableSymbol(callableId)

class FirDelegateFieldSymbol>(callableId: CallableId) : FirVariableSymbol(callableId) {
    val delegate: FirExpression
        get() = fir.delegate!!
}

class FirFieldSymbol(callableId: CallableId) : FirVariableSymbol(callableId)

class FirErrorPropertySymbol(
    val diagnostic: ConeDiagnostic
) : FirVariableSymbol(CallableId(FqName.ROOT, null, NAME)) {
    companion object {
        val NAME: Name = Name.special("")
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy