[AA FIR] support symbol restoring for static members
^KT-55487 Fixed
This commit is contained in:
committed by
Space Team
parent
f3c7972d20
commit
e476150025
+36
@@ -64,6 +64,18 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValueOf.kt")
|
||||
public void testEnumValueOf() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValueOf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValues.kt")
|
||||
public void testEnumValues() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValues.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("explicitLambdaParameter.kt")
|
||||
public void testExplicitLambdaParameter() throws Exception {
|
||||
@@ -106,6 +118,30 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaMethod.kt")
|
||||
public void testJavaMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticField.kt")
|
||||
public void testJavaStaticField() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticMethod.kt")
|
||||
public void testJavaStaticMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaSyntheticAccessor.kt")
|
||||
public void testJavaSyntheticAccessor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructorValueParameter.kt")
|
||||
public void testPrimaryConstructorValueParameter() throws Exception {
|
||||
|
||||
+1
@@ -117,6 +117,7 @@ internal class KtFirFunctionSymbol(
|
||||
requireOwnerPointer(),
|
||||
firSymbol.name,
|
||||
FirCallableSignature.createSignature(firSymbol),
|
||||
isStatic = firSymbol.isStatic,
|
||||
)
|
||||
|
||||
KtSymbolKind.LOCAL -> throw CanNotCreateSymbolPointerForLocalLibraryDeclarationException(
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ internal class KtFirJavaFieldSymbol(
|
||||
|
||||
context(KtAnalysisSession)
|
||||
override fun createPointer(): KtSymbolPointer<KtJavaFieldSymbol> = withValidityAssertion {
|
||||
KtFirJavaFieldSymbolPointer(requireOwnerPointer(), name)
|
||||
KtFirJavaFieldSymbolPointer(requireOwnerPointer(), name, firSymbol.isStatic)
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = symbolEquals(other)
|
||||
|
||||
+6
-1
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isOverride
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
||||
import org.jetbrains.kotlin.fir.symbols.SyntheticSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.isExtension
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
@@ -97,7 +98,11 @@ internal class KtFirSyntheticJavaPropertySymbol(
|
||||
|
||||
context(KtAnalysisSession)
|
||||
override fun createPointer(): KtSymbolPointer<KtSyntheticJavaPropertySymbol> = withValidityAssertion {
|
||||
KtFirJavaSyntheticPropertySymbolPointer(requireOwnerPointer(), name)
|
||||
KtFirJavaSyntheticPropertySymbolPointer(
|
||||
ownerPointer = requireOwnerPointer(),
|
||||
propertyName = name,
|
||||
isSynthetic = firSymbol is SyntheticSymbol,
|
||||
)
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = symbolEquals(other)
|
||||
|
||||
+2
-1
@@ -18,7 +18,8 @@ import org.jetbrains.kotlin.name.Name
|
||||
internal class KtFirJavaFieldSymbolPointer(
|
||||
ownerPointer: KtSymbolPointer<KtSymbolWithMembers>,
|
||||
private val fieldName: Name,
|
||||
) : KtFirMemberSymbolPointer<KtJavaFieldSymbol>(ownerPointer) {
|
||||
isStatic: Boolean,
|
||||
) : KtFirMemberSymbolPointer<KtJavaFieldSymbol>(ownerPointer, isStatic) {
|
||||
override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol(
|
||||
candidates: FirScope,
|
||||
firSession: FirSession,
|
||||
|
||||
+19
@@ -11,13 +11,18 @@ import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticPropertiesScope
|
||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.getProperties
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
internal class KtFirJavaSyntheticPropertySymbolPointer(
|
||||
ownerPointer: KtSymbolPointer<KtSymbolWithMembers>,
|
||||
private val propertyName: Name,
|
||||
private val isSynthetic: Boolean,
|
||||
) : KtFirMemberSymbolPointer<KtSyntheticJavaPropertySymbol>(ownerPointer) {
|
||||
override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol(
|
||||
candidates: FirScope,
|
||||
@@ -30,4 +35,18 @@ internal class KtFirJavaSyntheticPropertySymbolPointer(
|
||||
|
||||
return firSymbolBuilder.variableLikeBuilder.buildSyntheticJavaPropertySymbol(syntheticProperty.symbol)
|
||||
}
|
||||
|
||||
context(KtFirAnalysisSession)
|
||||
override fun getSearchScope(owner: FirClassSymbol<*>): FirScope? {
|
||||
val baseScope = super.getSearchScope(owner) as? FirTypeScope ?: return null
|
||||
return if (isSynthetic) {
|
||||
FirSyntheticPropertiesScope.createIfSyntheticNamesProviderIsDefined(
|
||||
session = useSiteSession,
|
||||
dispatchReceiverType = owner.defaultType(),
|
||||
baseScope = baseScope,
|
||||
)
|
||||
} else {
|
||||
baseScope
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -18,7 +18,8 @@ internal class KtFirMemberFunctionSymbolPointer(
|
||||
ownerPointer: KtSymbolPointer<KtSymbolWithMembers>,
|
||||
private val name: Name,
|
||||
private val signature: FirCallableSignature,
|
||||
) : KtFirMemberSymbolPointer<KtFunctionSymbol>(ownerPointer) {
|
||||
isStatic: Boolean,
|
||||
) : KtFirMemberSymbolPointer<KtFunctionSymbol>(ownerPointer, isStatic) {
|
||||
override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol(
|
||||
candidates: FirScope,
|
||||
firSession: FirSession
|
||||
|
||||
+24
-14
@@ -6,41 +6,51 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols.pointers
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.analyze
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.fir.utils.firSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.requireIsInstance
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
|
||||
internal abstract class KtFirMemberSymbolPointer<S : KtSymbol>(
|
||||
private val ownerPointer: KtSymbolPointer<KtSymbolWithMembers>,
|
||||
private val isStatic: Boolean = false,
|
||||
) : KtSymbolPointer<S>() {
|
||||
@Deprecated("Consider using org.jetbrains.kotlin.analysis.api.KtAnalysisSession.restoreSymbol")
|
||||
final override fun restoreSymbol(analysisSession: KtAnalysisSession): S? {
|
||||
require(analysisSession is KtFirAnalysisSession)
|
||||
val ownerSymbol = with(analysisSession) {
|
||||
ownerPointer.restoreSymbol()
|
||||
}
|
||||
val scope = with(analysisSession) {
|
||||
val ownerSymbol = ownerPointer.restoreSymbol() ?: return null
|
||||
val owner = ownerSymbol.firSymbol as? FirClassSymbol ?: return null
|
||||
getSearchScope(owner)
|
||||
} ?: return null
|
||||
|
||||
val owner = ownerSymbol?.firSymbol as? FirClassSymbol ?: return null
|
||||
val firSession = analysisSession.useSiteSession
|
||||
val scope = owner.unsubstitutedScope(
|
||||
firSession,
|
||||
analysisSession.getScopeSessionFor(firSession),
|
||||
withForcedTypeCalculator = false,
|
||||
)
|
||||
|
||||
return analysisSession.chooseCandidateAndCreateSymbol(scope, firSession)
|
||||
return analysisSession.chooseCandidateAndCreateSymbol(scope, analysisSession.useSiteSession)
|
||||
}
|
||||
|
||||
protected abstract fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol(candidates: FirScope, firSession: FirSession): S?
|
||||
|
||||
context(KtFirAnalysisSession)
|
||||
protected open fun getSearchScope(owner: FirClassSymbol<*>): FirScope? {
|
||||
val firSession = useSiteSession
|
||||
val scopeSession = getScopeSessionFor(firSession)
|
||||
return if (isStatic) {
|
||||
val firClass = owner.fir as? FirClass ?: return null
|
||||
firClass.scopeProvider.getStaticMemberScopeForCallables(firClass, firSession, scopeSession)
|
||||
} else {
|
||||
owner.unsubstitutedScope(
|
||||
useSiteSession = firSession,
|
||||
scopeSession = scopeSession,
|
||||
withForcedTypeCalculator = false,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
context(KtAnalysisSession)
|
||||
|
||||
+36
@@ -64,6 +64,18 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValueOf.kt")
|
||||
public void testEnumValueOf() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValueOf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValues.kt")
|
||||
public void testEnumValues() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValues.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("explicitLambdaParameter.kt")
|
||||
public void testExplicitLambdaParameter() throws Exception {
|
||||
@@ -106,6 +118,30 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaMethod.kt")
|
||||
public void testJavaMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticField.kt")
|
||||
public void testJavaStaticField() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticMethod.kt")
|
||||
public void testJavaStaticMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaSyntheticAccessor.kt")
|
||||
public void testJavaSyntheticAccessor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructorValueParameter.kt")
|
||||
public void testPrimaryConstructorValueParameter() throws Exception {
|
||||
|
||||
+36
@@ -64,6 +64,18 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValueOf.kt")
|
||||
public void testEnumValueOf() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValueOf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumValues.kt")
|
||||
public void testEnumValues() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumValues.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("explicitLambdaParameter.kt")
|
||||
public void testExplicitLambdaParameter() throws Exception {
|
||||
@@ -106,6 +118,30 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaMethod.kt")
|
||||
public void testJavaMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticField.kt")
|
||||
public void testJavaStaticField() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaStaticMethod.kt")
|
||||
public void testJavaStaticMethod() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaStaticMethod.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("javaSyntheticAccessor.kt")
|
||||
public void testJavaSyntheticAccessor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructorValueParameter.kt")
|
||||
public void testPrimaryConstructorValueParameter() throws Exception {
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /MyKotlinEnum.valueOf
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: true
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: false
|
||||
isSuspend: false
|
||||
modality: FINAL
|
||||
name: valueOf
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: null
|
||||
returnType: MyKotlinEnum
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: [
|
||||
KtValueParameterSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
contextReceivers: []
|
||||
generatedPrimaryConstructorProperty: null
|
||||
hasDefaultValue: false
|
||||
isCrossinline: false
|
||||
isExtension: false
|
||||
isImplicitLambdaParameter: false
|
||||
isNoinline: false
|
||||
isVararg: false
|
||||
name: value
|
||||
origin: SOURCE
|
||||
receiverParameter: null
|
||||
returnType: kotlin/String
|
||||
symbolKind: LOCAL
|
||||
typeParameters: []
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
]
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
@@ -0,0 +1,9 @@
|
||||
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
|
||||
|
||||
enum class MyKotlinEnum {
|
||||
FirstEntry, SecondEntry;
|
||||
}
|
||||
|
||||
fun test() {
|
||||
MyKotlinEnum.val<caret>ueOf("")
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun valueOf(value: kotlin.String): MyKotlinEnum
|
||||
@@ -0,0 +1,46 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /MyKotlinEnum.valueOf
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: true
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: true
|
||||
isSuspend: false
|
||||
modality: FINAL
|
||||
name: valueOf
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: null
|
||||
returnType: MyKotlinEnum
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: [
|
||||
KtValueParameterSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: null
|
||||
contextReceivers: []
|
||||
generatedPrimaryConstructorProperty: null
|
||||
hasDefaultValue: false
|
||||
isCrossinline: false
|
||||
isExtension: false
|
||||
isImplicitLambdaParameter: false
|
||||
isNoinline: false
|
||||
isVararg: false
|
||||
name: value
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: null
|
||||
returnType: kotlin/String
|
||||
symbolKind: LOCAL
|
||||
typeParameters: []
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
]
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /MyKotlinEnum.values
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: true
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: false
|
||||
isSuspend: false
|
||||
modality: FINAL
|
||||
name: values
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Array<MyKotlinEnum>
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
@@ -0,0 +1,9 @@
|
||||
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
|
||||
|
||||
enum class MyKotlinEnum {
|
||||
FirstEntry, SecondEntry;
|
||||
}
|
||||
|
||||
fun test() {
|
||||
MyKotlinEnum.valu<caret>es()
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun values(): kotlin.Array<MyKotlinEnum>
|
||||
@@ -0,0 +1,26 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /MyKotlinEnum.values
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: true
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: true
|
||||
isSuspend: false
|
||||
modality: FINAL
|
||||
name: values
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Array<MyKotlinEnum>
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
@@ -0,0 +1,9 @@
|
||||
// FILE: main.kt
|
||||
fun some() {
|
||||
JavaClass().f<caret>oo();
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public void foo() {};
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
open fun foo()
|
||||
@@ -0,0 +1,27 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.foo
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: false
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: false
|
||||
isSuspend: false
|
||||
modality: OPEN
|
||||
name: foo
|
||||
origin: JAVA
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Unit
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getDispatchReceiver(): JavaClass
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
var field: kotlin.Int
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
KtJavaFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.field
|
||||
contextReceivers: []
|
||||
isExtension: false
|
||||
isStatic: true
|
||||
isVal: false
|
||||
modality: FINAL
|
||||
name: field
|
||||
origin: JAVA
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Int
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
@@ -0,0 +1,10 @@
|
||||
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
|
||||
// FILE: main.kt
|
||||
fun some() {
|
||||
JavaClass.f<caret>ield;
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public static int field = 1;
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
open var field: kotlin.Int
|
||||
@@ -0,0 +1,17 @@
|
||||
KtJavaFieldSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.field
|
||||
contextReceivers: []
|
||||
isExtension: false
|
||||
isStatic: true
|
||||
isVal: false
|
||||
modality: OPEN
|
||||
name: field
|
||||
origin: JAVA
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Int
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
@@ -0,0 +1,10 @@
|
||||
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
|
||||
// FILE: main.kt
|
||||
fun some() {
|
||||
JavaClass.f<caret>oo();
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public static void foo() {};
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
open fun foo()
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
KtFunctionSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.foo
|
||||
contextReceivers: []
|
||||
contractEffects: []
|
||||
hasStableParameterNames: false
|
||||
isBuiltinFunctionInvoke: false
|
||||
isExtension: false
|
||||
isExternal: false
|
||||
isInfix: false
|
||||
isInline: false
|
||||
isOperator: false
|
||||
isOverride: false
|
||||
isStatic: true
|
||||
isSuspend: false
|
||||
modality: OPEN
|
||||
name: foo
|
||||
origin: JAVA
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Unit
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
val JavaClass.foo: kotlin.Int
|
||||
get()
|
||||
Vendored
+67
@@ -0,0 +1,67 @@
|
||||
KtSyntheticJavaPropertySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.foo
|
||||
contextReceivers: []
|
||||
getter: KtPropertyGetterSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.getFoo
|
||||
contextReceivers: []
|
||||
hasBody: false
|
||||
hasStableParameterNames: true
|
||||
isDefault: false
|
||||
isExtension: false
|
||||
isInline: false
|
||||
isOverride: false
|
||||
modality: FINAL
|
||||
origin: SOURCE_MEMBER_GENERATED
|
||||
receiverParameter: KtReceiverParameterSymbol:
|
||||
annotationsList: []
|
||||
origin: SOURCE
|
||||
owningCallableSymbol: KtSyntheticJavaPropertySymbol(/JavaClass.foo)
|
||||
type: JavaClass
|
||||
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10ReceiverParameterSymbol
|
||||
|
||||
deprecationStatus: null
|
||||
returnType: kotlin/Int
|
||||
symbolKind: ACCESSOR
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10DescPropertyGetterSymbol
|
||||
|
||||
deprecationStatus: null
|
||||
hasBackingField: true
|
||||
hasGetter: true
|
||||
hasSetter: false
|
||||
initializer: null
|
||||
isDelegatedProperty: false
|
||||
isExtension: true
|
||||
isFromPrimaryConstructor: false
|
||||
isOverride: false
|
||||
isStatic: false
|
||||
isVal: true
|
||||
javaGetterSymbol: KtFunctionSymbol(/JavaClass.getFoo)
|
||||
javaSetterSymbol: null
|
||||
modality: FINAL
|
||||
name: foo
|
||||
origin: JAVA_SYNTHETIC_PROPERTY
|
||||
receiverParameter: KtReceiverParameterSymbol:
|
||||
annotationsList: []
|
||||
origin: SOURCE
|
||||
owningCallableSymbol: KtSyntheticJavaPropertySymbol(/JavaClass.foo)
|
||||
type: JavaClass
|
||||
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10ReceiverParameterSymbol
|
||||
|
||||
deprecationStatus: null
|
||||
returnType: kotlin/Int
|
||||
setter: null
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10DescSyntheticJavaPropertySymbol
|
||||
|
||||
deprecationStatus: null
|
||||
getterDeprecationStatus: null
|
||||
javaGetterName: getFoo
|
||||
javaSetterName: null
|
||||
setterDeprecationStatus: null
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
|
||||
// FILE: main.kt
|
||||
fun some() {
|
||||
JavaClass().f<caret>oo;
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public int getFoo() { return 1; };
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
open val foo: kotlin.Int
|
||||
get()
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
KtSyntheticJavaPropertySymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.foo
|
||||
contextReceivers: []
|
||||
getter: KtPropertyGetterSymbol:
|
||||
annotationsList: []
|
||||
callableIdIfNonLocal: /JavaClass.getFoo
|
||||
contextReceivers: []
|
||||
hasBody: false
|
||||
hasStableParameterNames: true
|
||||
isDefault: false
|
||||
isExtension: false
|
||||
isInline: false
|
||||
isOverride: false
|
||||
modality: OPEN
|
||||
origin: JAVA_SYNTHETIC_PROPERTY
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Int
|
||||
symbolKind: ACCESSOR
|
||||
typeParameters: []
|
||||
valueParameters: []
|
||||
visibility: Public
|
||||
getDispatchReceiver(): JavaClass
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
hasBackingField: true
|
||||
hasGetter: true
|
||||
hasSetter: false
|
||||
initializer: null
|
||||
isDelegatedProperty: false
|
||||
isExtension: false
|
||||
isFromPrimaryConstructor: false
|
||||
isOverride: false
|
||||
isStatic: false
|
||||
isVal: true
|
||||
javaGetterSymbol: KtFunctionSymbol(/JavaClass.getFoo)
|
||||
javaSetterSymbol: null
|
||||
modality: OPEN
|
||||
name: foo
|
||||
origin: JAVA_SYNTHETIC_PROPERTY
|
||||
receiverParameter: null
|
||||
returnType: kotlin/Int
|
||||
setter: null
|
||||
symbolKind: CLASS_MEMBER
|
||||
typeParameters: []
|
||||
visibility: Public
|
||||
getDispatchReceiver(): JavaClass
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
getterDeprecationStatus: null
|
||||
javaGetterName: getFoo
|
||||
javaSetterName: null
|
||||
setterDeprecationStatus: null
|
||||
Reference in New Issue
Block a user