Analysis API FIR: resolve Java synthetic properties KtSyntheticJavaPropertySymbol
This commit is contained in:
+4
-1
@@ -605,9 +605,12 @@ private class BuilderCache<From, To : Any> private constructor(
|
|||||||
internal fun FirElement.buildSymbol(builder: KtSymbolByFirBuilder) =
|
internal fun FirElement.buildSymbol(builder: KtSymbolByFirBuilder) =
|
||||||
(this as? FirDeclaration)?.symbol?.let(builder::buildSymbol)
|
(this as? FirDeclaration)?.symbol?.let(builder::buildSymbol)
|
||||||
|
|
||||||
internal fun FirDeclaration.buildSymbol(builder: KtSymbolByFirBuilder) =
|
internal fun FirDeclaration.buildSymbol(builder: KtSymbolByFirBuilder): KtSymbol =
|
||||||
builder.buildSymbol(symbol)
|
builder.buildSymbol(symbol)
|
||||||
|
|
||||||
|
internal fun FirBasedSymbol<*>.buildSymbol(builder: KtSymbolByFirBuilder): KtSymbol =
|
||||||
|
builder.buildSymbol(this)
|
||||||
|
|
||||||
private fun collectReferencedTypeParameters(declaration: FirCallableDeclaration): Set<ConeTypeParameterLookupTag> {
|
private fun collectReferencedTypeParameters(declaration: FirCallableDeclaration): Set<ConeTypeParameterLookupTag> {
|
||||||
val allUsedTypeParameters = mutableSetOf<ConeTypeParameterLookupTag>()
|
val allUsedTypeParameters = mutableSetOf<ConeTypeParameterLookupTag>()
|
||||||
|
|
||||||
|
|||||||
+1
-12
@@ -98,18 +98,7 @@ internal object FirReferenceResolveHelper {
|
|||||||
listOfNotNull(resolvedSymbol.fir.buildSymbol(symbolBuilder))
|
listOfNotNull(resolvedSymbol.fir.buildSymbol(symbolBuilder))
|
||||||
}
|
}
|
||||||
is FirResolvedNamedReference -> {
|
is FirResolvedNamedReference -> {
|
||||||
val fir = when (val symbol = resolvedSymbol) {
|
listOfNotNull(resolvedSymbol.buildSymbol(symbolBuilder))
|
||||||
is FirSyntheticPropertySymbol -> {
|
|
||||||
val syntheticProperty = symbol.fir as FirSyntheticProperty
|
|
||||||
if (syntheticProperty.getter.delegate.symbol.callableId == symbol.getterId) {
|
|
||||||
syntheticProperty.getter.delegate
|
|
||||||
} else {
|
|
||||||
syntheticProperty.setter!!.delegate
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else -> symbol.fir
|
|
||||||
}
|
|
||||||
listOfNotNull(fir.buildSymbol(symbolBuilder))
|
|
||||||
}
|
}
|
||||||
is FirThisReference -> {
|
is FirThisReference -> {
|
||||||
val boundSymbol = boundSymbol
|
val boundSymbol = boundSymbol
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
Resolved to:
|
Resolved to:
|
||||||
0: (in JavaClass) open fun getSomething(): kotlin.Int
|
0: (in JavaClass) open var something: kotlin.Int
|
||||||
Reference in New Issue
Block a user