Expose local scopes to use in completion
This commit is contained in:
committed by
Ilya Kirillov
parent
6129f4bcef
commit
97d4918ed3
@@ -34,6 +34,8 @@ class PersistentMultimap<K, V> private constructor(private val map: PersistentMa
|
||||
operator fun get(key: K): List<V> {
|
||||
return map[key] ?: emptyList()
|
||||
}
|
||||
|
||||
val keys: ImmutableSet<K> get() = map.keys
|
||||
}
|
||||
|
||||
class PersistentSetMultimap<K, V> private constructor(private val map: PersistentMap<K, PersistentSet<V>>) {
|
||||
@@ -63,4 +65,4 @@ class PersistentSetMultimap<K, V> private constructor(private val map: Persisten
|
||||
operator fun get(key: K): Set<V> {
|
||||
return map[key] ?: emptySet()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -83,6 +83,8 @@ open class FirBodyResolveTransformer(
|
||||
return data.expectedTypeRef.compose()
|
||||
}
|
||||
|
||||
open fun onBeforeStatementResolution(statement: FirStatement) {}
|
||||
|
||||
// ------------------------------------- Expressions -------------------------------------
|
||||
|
||||
override fun transformExpression(expression: FirExpression, data: ResolutionMode): CompositeTransformResult<FirStatement> {
|
||||
|
||||
+3
@@ -291,6 +291,9 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform
|
||||
|
||||
block.transformStatementsIndexed(transformer) { index ->
|
||||
val value = if (index == numberOfStatements - 1) data else ResolutionMode.ContextIndependent
|
||||
|
||||
transformer.onBeforeStatementResolution(block.statements[index])
|
||||
|
||||
TransformData.Data(value)
|
||||
}
|
||||
if (data == ResolutionMode.ContextIndependent) {
|
||||
|
||||
@@ -70,4 +70,6 @@ class FirLocalScope private constructor(
|
||||
}
|
||||
|
||||
override fun mayContainName(name: Name) = properties.containsKey(name) || functions[name].isNotEmpty() || classes.containsKey(name)
|
||||
|
||||
override fun getCallableNames(): Set<Name> = properties.keys + functions.keys + classes.keys
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user