[FIR] Set Java constructor source to Java class's when it's implicit
When there are no declared constructors in Java class, make javaConstructor's source element point to the class declaration, making it possible to navigate from constructor's invocation there. ^KTIJ-22360 Fixed
This commit is contained in:
committed by
Space Team
parent
f05fe1d46d
commit
02484baf07
@@ -640,7 +640,7 @@ abstract class FirJavaFacade(
|
||||
): FirJavaConstructor {
|
||||
val constructorSymbol = FirConstructorSymbol(constructorId)
|
||||
return buildJavaConstructor {
|
||||
source = javaConstructor?.toSourceElement()
|
||||
source = javaConstructor?.toSourceElement() ?: javaClass.toSourceElement(KtFakeSourceElementKind.ImplicitConstructor)
|
||||
this.moduleData = moduleData
|
||||
isFromSource = javaClass.isFromSource
|
||||
symbol = constructorSymbol
|
||||
@@ -687,9 +687,7 @@ abstract class FirJavaFacade(
|
||||
moduleData: FirModuleData,
|
||||
): FirJavaConstructor {
|
||||
return buildJavaConstructor {
|
||||
source = (javaClass as? JavaElementImpl<*>)
|
||||
?.psi
|
||||
?.toKtPsiSourceElement(KtFakeSourceElementKind.ImplicitConstructor) as? KtFakeSourceElement
|
||||
source = javaClass.toSourceElement(KtFakeSourceElementKind.ImplicitConstructor)
|
||||
this.moduleData = moduleData
|
||||
isFromSource = javaClass.isFromSource
|
||||
symbol = FirConstructorSymbol(constructorId)
|
||||
|
||||
Reference in New Issue
Block a user