org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol.kt Maven / Gradle / Ivy
/*
* 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("")
}
}