KT-64808 [stubs] Add extra tests for synthethic declarations from data and value classes

It's not related to the stubs format changes, but there were no tests
for that in symbols resolve tests
This commit is contained in:
Roman Golyshev
2024-02-22 17:48:02 +01:00
committed by teamcity
parent 47aa6392bf
commit c1ea878e52
27 changed files with 630 additions and 0 deletions
@@ -190,6 +190,36 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryConstructorVariableWithAnnotations.kt");
}
@Test
@TestMetadata("libraryDataClass_component.kt")
public void testLibraryDataClass_component() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_component.kt");
}
@Test
@TestMetadata("libraryDataClass_copy.kt")
public void testLibraryDataClass_copy() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_copy.kt");
}
@Test
@TestMetadata("libraryDataClass_equals.kt")
public void testLibraryDataClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_equals.kt");
}
@Test
@TestMetadata("libraryDataClass_hashCode.kt")
public void testLibraryDataClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_hashCode.kt");
}
@Test
@TestMetadata("libraryDataClass_toString.kt")
public void testLibraryDataClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_toString.kt");
}
@Test
@TestMetadata("libraryMemberProperty.kt")
public void testLibraryMemberProperty() {
@@ -226,6 +256,24 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryPropertyWithAnnotations.kt");
}
@Test
@TestMetadata("libraryValueClass_equals.kt")
public void testLibraryValueClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_equals.kt");
}
@Test
@TestMetadata("libraryValueClass_hashCode.kt")
public void testLibraryValueClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_hashCode.kt");
}
@Test
@TestMetadata("libraryValueClass_toString.kt")
public void testLibraryValueClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_toString.kt");
}
@Test
@TestMetadata("libraryVariable.kt")
public void testLibraryVariable() {
@@ -190,6 +190,36 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryConstructorVariableWithAnnotations.kt");
}
@Test
@TestMetadata("libraryDataClass_component.kt")
public void testLibraryDataClass_component() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_component.kt");
}
@Test
@TestMetadata("libraryDataClass_copy.kt")
public void testLibraryDataClass_copy() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_copy.kt");
}
@Test
@TestMetadata("libraryDataClass_equals.kt")
public void testLibraryDataClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_equals.kt");
}
@Test
@TestMetadata("libraryDataClass_hashCode.kt")
public void testLibraryDataClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_hashCode.kt");
}
@Test
@TestMetadata("libraryDataClass_toString.kt")
public void testLibraryDataClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_toString.kt");
}
@Test
@TestMetadata("libraryMemberProperty.kt")
public void testLibraryMemberProperty() {
@@ -226,6 +256,24 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryPropertyWithAnnotations.kt");
}
@Test
@TestMetadata("libraryValueClass_equals.kt")
public void testLibraryValueClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_equals.kt");
}
@Test
@TestMetadata("libraryValueClass_hashCode.kt")
public void testLibraryValueClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_hashCode.kt");
}
@Test
@TestMetadata("libraryValueClass_toString.kt")
public void testLibraryValueClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_toString.kt");
}
@Test
@TestMetadata("libraryVariable.kt")
public void testLibraryVariable() {
@@ -190,6 +190,36 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryConstructorVariableWithAnnotations.kt");
}
@Test
@TestMetadata("libraryDataClass_component.kt")
public void testLibraryDataClass_component() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_component.kt");
}
@Test
@TestMetadata("libraryDataClass_copy.kt")
public void testLibraryDataClass_copy() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_copy.kt");
}
@Test
@TestMetadata("libraryDataClass_equals.kt")
public void testLibraryDataClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_equals.kt");
}
@Test
@TestMetadata("libraryDataClass_hashCode.kt")
public void testLibraryDataClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_hashCode.kt");
}
@Test
@TestMetadata("libraryDataClass_toString.kt")
public void testLibraryDataClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryDataClass_toString.kt");
}
@Test
@TestMetadata("libraryMemberProperty.kt")
public void testLibraryMemberProperty() {
@@ -226,6 +256,24 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryPropertyWithAnnotations.kt");
}
@Test
@TestMetadata("libraryValueClass_equals.kt")
public void testLibraryValueClass_equals() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_equals.kt");
}
@Test
@TestMetadata("libraryValueClass_hashCode.kt")
public void testLibraryValueClass_hashCode() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_hashCode.kt");
}
@Test
@TestMetadata("libraryValueClass_toString.kt")
public void testLibraryValueClass_toString() {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/libraryValueClass_toString.kt");
}
@Test
@TestMetadata("libraryVariable.kt")
public void testLibraryVariable() {
@@ -0,0 +1,13 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
data class DataClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.DataClass) {
instance.<caret>component1()
}
@@ -0,0 +1 @@
operator fun component1(): kotlin.String
@@ -0,0 +1,37 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/DataClass.component1
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: true
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: component1
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/String
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,13 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
data class DataClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.DataClass) {
instance.<caret>copy()
}
@@ -0,0 +1 @@
fun copy(name: kotlin.String): one.DataClass
@@ -0,0 +1,62 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/DataClass.copy
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: copy
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
generatedPrimaryConstructorProperty: null
hasDefaultValue: true
isCrossinline: false
isExtension: false
isImplicitLambdaParameter: false
isNoinline: false
isVararg: false
name: name
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/String
symbolKind: LOCAL
typeParameters: []
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
]
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,13 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
data class DataClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.DataClass) {
instance.<caret>equals(instance)
}
@@ -0,0 +1 @@
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
@@ -0,0 +1,62 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/DataClass.equals
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: true
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: equals
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Boolean
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: other
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any?
symbolKind: LOCAL
typeParameters: []
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
]
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,13 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
data class DataClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.DataClass) {
instance.<caret>hashCode()
}
@@ -0,0 +1 @@
open fun hashCode(): kotlin.Int
@@ -0,0 +1,37 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/DataClass.hashCode
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: hashCode
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Int
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,13 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
data class DataClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.DataClass) {
instance.<caret>toString()
}
@@ -0,0 +1 @@
open fun toString(): kotlin.String
@@ -0,0 +1,37 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/DataClass.toString
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: toString
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/String
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/DataClass
getContainingFileSymbol: null
getContainingJvmClassName: one.DataClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,14 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
@JvmInline
value class ValueClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.ValueClass) {
instance.<caret>equals(instance)
}
@@ -0,0 +1 @@
open operator fun equals(other: kotlin.Any?): kotlin.Boolean
@@ -0,0 +1,62 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/ValueClass.equals
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: true
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: equals
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Boolean
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: other
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any?
symbolKind: LOCAL
typeParameters: []
getContainingFileSymbol: null
getContainingJvmClassName: one.ValueClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
]
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/ValueClass
getContainingFileSymbol: null
getContainingJvmClassName: one.ValueClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,14 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
@JvmInline
value class ValueClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.ValueClass) {
instance.<caret>hashCode()
}
@@ -0,0 +1 @@
open fun hashCode(): kotlin.Int
@@ -0,0 +1,37 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/ValueClass.hashCode
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: hashCode
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Int
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/ValueClass
getContainingFileSymbol: null
getContainingJvmClassName: one.ValueClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null
@@ -0,0 +1,14 @@
// IGNORE_FE10
// MODULE: lib
// MODULE_KIND: LibraryBinary
// FILE: Lib.kt
package one
@JvmInline
value class ValueClass(val name: String)
// MODULE: main(lib)
// FILE: usage.kt
fun usage(instance: one.ValueClass) {
instance.<caret>toString()
}
@@ -0,0 +1 @@
open fun toString(): kotlin.String
@@ -0,0 +1,37 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: one/ValueClass.toString
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: toString
origin: LIBRARY
receiverParameter: null
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/String
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: one/ValueClass
getContainingFileSymbol: null
getContainingJvmClassName: one.ValueClass
getContainingModule: KtLibraryModule "Library lib"
deprecationStatus: null