[FIR] Do not build synthetics for static or Unit returning get
This commit is contained in:
@@ -7,15 +7,19 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.isStatic
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||||
import org.jetbrains.kotlin.fir.symbols.AccessorSymbol
|
import org.jetbrains.kotlin.fir.symbols.AccessorSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||||
import org.jetbrains.kotlin.fir.symbols.SyntheticSymbol
|
import org.jetbrains.kotlin.fir.symbols.SyntheticSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||||
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
|
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||||
import org.jetbrains.kotlin.load.java.propertyNameByGetMethodName
|
import org.jetbrains.kotlin.load.java.propertyNameByGetMethodName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
||||||
@@ -46,6 +50,8 @@ class FirSyntheticPropertiesScope(
|
|||||||
|
|
||||||
if (fir.typeParameters.isNotEmpty()) return ProcessorAction.NEXT
|
if (fir.typeParameters.isNotEmpty()) return ProcessorAction.NEXT
|
||||||
if (fir.valueParameters.isNotEmpty()) return ProcessorAction.NEXT
|
if (fir.valueParameters.isNotEmpty()) return ProcessorAction.NEXT
|
||||||
|
if (fir.isStatic) return ProcessorAction.NEXT
|
||||||
|
if (fir.returnTypeRef.coneTypeSafe<ConeClassLikeType>()?.lookupTag?.classId == StandardClassIds.Unit) return ProcessorAction.NEXT
|
||||||
|
|
||||||
val synthetic = SyntheticPropertySymbol(
|
val synthetic = SyntheticPropertySymbol(
|
||||||
accessorId = symbol.callableId,
|
accessorId = symbol.callableId,
|
||||||
|
|||||||
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
fun foo(javaClass: JavaClass) {
|
fun foo(javaClass: JavaClass) {
|
||||||
javaClass.<!UNRESOLVED_REFERENCE!>something1<!>
|
javaClass.<!UNRESOLVED_REFERENCE!>something1<!>
|
||||||
javaClass.<!UNRESOLVED_REFERENCE!>something2<!>
|
javaClass.<!UNRESOLVED_REFERENCE!>something2<!>
|
||||||
javaClass.somethingStatic
|
javaClass.<!UNRESOLVED_REFERENCE!>somethingStatic<!>
|
||||||
javaClass.somethingVoid
|
javaClass.<!UNRESOLVED_REFERENCE!>somethingVoid<!>
|
||||||
javaClass.<!UNRESOLVED_REFERENCE!>ter<!>
|
javaClass.<!UNRESOLVED_REFERENCE!>ter<!>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user