FIR: introduce callable member symbols & initial member scopes

Initial member scopes cover top-level, class-level, and  supers

Ad-hock version of call resolve was introduced to test them
NB: after this commit, total Kotlin resolve test cannot finish
because of scope problems in type resolve transformer

Related to KT-24078
#KT-24083 Fixed
This commit is contained in:
Mikhail Glukhikh
2019-01-25 15:29:21 +03:00
parent 95678a4d64
commit bec62acf5b
58 changed files with 540 additions and 72 deletions
@@ -9,6 +9,7 @@ import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.fir.java.symbols.JavaClassSymbol
import org.jetbrains.kotlin.fir.resolve.AbstractFirSymbolProvider
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.ConeSymbol
import org.jetbrains.kotlin.load.java.JavaClassFinder
import org.jetbrains.kotlin.name.ClassId
@@ -19,6 +20,10 @@ class JavaSymbolProvider(
val project: Project,
private val searchScope: GlobalSearchScope
) : AbstractFirSymbolProvider() {
override fun getCallableSymbols(callableId: CallableId): List<ConeSymbol> {
// TODO
return emptyList()
}
override fun getSymbolByFqName(classId: ClassId): ConeSymbol? {
return classCache.lookupCacheOrCalculate(classId) {