From 138f11ee270b4aa90ceff87604c1d40aad8a271c Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Sat, 4 Jul 2020 00:36:34 +0300 Subject: [PATCH] FIR IDE: introduce member scope tests --- .../kotlin/generators/tests/GenerateTests.kt | 11 +- .../testData/memberScopeByFqName/Int.txt | 795 ++++++++++++++++++ .../memberScopeByFqName/MutableList.txt | 312 +++++++ .../memberScopeByFqName/java.lang.String.txt | 778 +++++++++++++++++ .../fileWalkDirectionEnum.txt | 0 .../iterator.txt | 0 .../listOf.txt | 0 ...gTest.kt => AbstractSymbolByFqNameTest.kt} | 22 +- .../api/scopes/AbstractMemberScopeTest.kt | 20 + .../MemberScopeByFqNameTestGenerated.java | 45 + .../AbstractSymbolsByFqNameBuildingTest.kt | 15 + ...SymbolsByFqNameBuildingTestGenerated.java} | 2 +- 12 files changed, 1986 insertions(+), 14 deletions(-) create mode 100644 idea/idea-frontend-fir/testData/memberScopeByFqName/Int.txt create mode 100644 idea/idea-frontend-fir/testData/memberScopeByFqName/MutableList.txt create mode 100644 idea/idea-frontend-fir/testData/memberScopeByFqName/java.lang.String.txt rename idea/idea-frontend-fir/testData/{stdLibSymbols => symbolsByFqName}/fileWalkDirectionEnum.txt (100%) rename idea/idea-frontend-fir/testData/{stdLibSymbols => symbolsByFqName}/iterator.txt (100%) rename idea/idea-frontend-fir/testData/{stdLibSymbols => symbolsByFqName}/listOf.txt (100%) rename idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/{symbols/AbstractStdlibSymbolsBuildingTest.kt => AbstractSymbolByFqNameTest.kt} (84%) create mode 100644 idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/AbstractMemberScopeTest.kt create mode 100644 idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByFqNameBuildingTest.kt rename idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/{StdlibSymbolsBuildingTestGenerated.java => SymbolsByFqNameBuildingTestGenerated.java} (94%) diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index ac60790ce72..b9131e07f55 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -90,7 +90,8 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.AbstractFirMultiModuleResolve import org.jetbrains.kotlin.idea.fir.AbstractKtDeclarationAndFirDeclarationEqualityChecker import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest import org.jetbrains.kotlin.idea.frontend.api.fir.AbstractResolveCallTest -import org.jetbrains.kotlin.idea.frontend.api.symbols.AbstractStdlibSymbolsBuildingTest +import org.jetbrains.kotlin.idea.frontend.api.scopes.AbstractMemberScopeByFqNameTest +import org.jetbrains.kotlin.idea.frontend.api.symbols.AbstractSymbolsByFqNameBuildingTest import org.jetbrains.kotlin.idea.frontend.api.symbols.AbstractSymbolPointerTest import org.jetbrains.kotlin.idea.frontend.api.symbols.AbstractSymbolsByPsiBuildingTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest @@ -961,8 +962,12 @@ fun main(args: Array) { model("symbolsByPsi") } - testClass { - model("stdLibSymbols", extension = "txt") + testClass { + model("symbolsByFqName", extension = "txt") + } + + testClass { + model("memberScopeByFqName", extension = "txt") } testClass { diff --git a/idea/idea-frontend-fir/testData/memberScopeByFqName/Int.txt b/idea/idea-frontend-fir/testData/memberScopeByFqName/Int.txt new file mode 100644 index 00000000000..295ad78bcef --- /dev/null +++ b/idea/idea-frontend-fir/testData/memberScopeByFqName/Int.txt @@ -0,0 +1,795 @@ +class: kotlin/Int + +// SYMBOLS: +KtFirFunctionSymbol: + fqName: kotlin.Int.and + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: and + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: compareTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.dec + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: dec + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.div + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: div + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.inc + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: inc + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.inv + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: inv + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.minus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: minus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.or + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: or + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.plus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: plus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rangeTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rangeTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/ranges/IntRange + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rangeTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rangeTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/ranges/IntRange + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rangeTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rangeTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/ranges/LongRange + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rangeTo + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rangeTo + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/ranges/IntRange + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.rem + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: rem + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.shl + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: shl + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(bitCount)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.shr + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: shr + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(bitCount)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.times + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: times + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toByte + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toByte + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Byte + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toChar + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toChar + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Char + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toDouble + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toDouble + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Double + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toFloat + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toFloat + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Float + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toInt + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toInt + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toLong + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toLong + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Long + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.toShort + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toShort + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Short + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.unaryMinus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: unaryMinus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.unaryPlus + isExtension: false + isOperator: true + isSuspend: false + modality: FINAL + name: unaryPlus + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Int.ushr + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: ushr + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(bitCount)] + +KtFirFunctionSymbol: + fqName: kotlin.Int.xor + isExtension: false + isOperator: false + isSuspend: false + modality: FINAL + name: xor + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Any.equals + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: equals + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Any.hashCode + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: hashCode + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Any.toString + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toString + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] diff --git a/idea/idea-frontend-fir/testData/memberScopeByFqName/MutableList.txt b/idea/idea-frontend-fir/testData/memberScopeByFqName/MutableList.txt new file mode 100644 index 00000000000..6db4fb22e38 --- /dev/null +++ b/idea/idea-frontend-fir/testData/memberScopeByFqName/MutableList.txt @@ -0,0 +1,312 @@ +class: kotlin/collections/MutableList + +// SYMBOLS: +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.add + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: add + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.add + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: add + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Unit + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index), KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.addAll + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: addAll + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index), KtFirFunctionValueParameterSymbol(elements)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.addAll + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: addAll + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(elements)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.clear + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: clear + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Unit + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.listIterator + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: listIterator + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/collections/MutableListIterator + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.listIterator + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: listIterator + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/collections/MutableListIterator + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.remove + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: remove + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.removeAll + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: removeAll + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(elements)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.removeAt + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: removeAt + origin: LIBRARY + symbolKind: MEMBER + type: E + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.retainAll + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: retainAll + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(elements)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.set + isExtension: false + isOperator: true + isSuspend: false + modality: ABSTRACT + name: set + origin: LIBRARY + symbolKind: MEMBER + type: E + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index), KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.subList + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: subList + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/collections/MutableList + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(fromIndex), KtFirFunctionValueParameterSymbol(toIndex)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.contains + isExtension: false + isOperator: true + isSuspend: false + modality: ABSTRACT + name: contains + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.containsAll + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: containsAll + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(elements)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.get + isExtension: false + isOperator: true + isSuspend: false + modality: ABSTRACT + name: get + origin: LIBRARY + symbolKind: MEMBER + type: E + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.indexOf + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: indexOf + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(element)] + +KtFirFunctionSymbol: + fqName: kotlin.collections.List.isEmpty + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: isEmpty + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.iterator + isExtension: false + isOperator: true + isSuspend: false + modality: ABSTRACT + name: iterator + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/collections/MutableIterator + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.collections.MutableList.lastIndexOf + isExtension: false + isOperator: false + isSuspend: false + modality: ABSTRACT + name: lastIndexOf + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(element)] + +KtFirPropertySymbol: + fqName: kotlin.collections.List.size + isExtension: false + isVal: true + modality: ABSTRACT + name: size + origin: LIBRARY + receiverType: kotlin/Int + symbolKind: MEMBER + type: kotlin/Int + +KtFirFunctionSymbol: + fqName: kotlin.Any.equals + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: equals + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(other)] + +KtFirFunctionSymbol: + fqName: kotlin.Any.hashCode + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: hashCode + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.Any.toString + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toString + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] diff --git a/idea/idea-frontend-fir/testData/memberScopeByFqName/java.lang.String.txt b/idea/idea-frontend-fir/testData/memberScopeByFqName/java.lang.String.txt new file mode 100644 index 00000000000..35ba4177e32 --- /dev/null +++ b/idea/idea-frontend-fir/testData/memberScopeByFqName/java.lang.String.txt @@ -0,0 +1,778 @@ +class: java/lang/String + +// SYMBOLS: +KtFirJavaFieldSymbol: + isVal: true + modality: FINAL + name: value + origin: JAVA + symbolKind: MEMBER + type: ft! + +KtFirJavaFieldSymbol: + isVal: false + modality: OPEN + name: hash + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + +KtFirFunctionSymbol: + fqName: java.lang.String.hash32 + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: hash32 + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirJavaFieldSymbol: + isVal: false + modality: OPEN + name: hash32 + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + +KtFirFunctionSymbol: + fqName: java.lang.String.length + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: length + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirPropertySymbol: + fqName: kotlin.CharSequence.length + isExtension: false + isVal: true + modality: ABSTRACT + name: length + origin: LIBRARY + receiverType: kotlin/Int + symbolKind: MEMBER + type: kotlin/Int + +KtFirFunctionSymbol: + fqName: java.lang.String.isEmpty + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: isEmpty + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.charAt + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: charAt + origin: JAVA + symbolKind: MEMBER + type: kotlin/Char + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: java.lang.String.codePointAt + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: codePointAt + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: java.lang.String.codePointBefore + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: codePointBefore + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] + +KtFirFunctionSymbol: + fqName: java.lang.String.codePointCount + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: codePointCount + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(beginIndex), KtFirFunctionValueParameterSymbol(endIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.offsetByCodePoints + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: offsetByCodePoints + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index), KtFirFunctionValueParameterSymbol(codePointOffset)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getChars + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getChars + origin: JAVA + symbolKind: MEMBER + type: kotlin/Unit + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(dst), KtFirFunctionValueParameterSymbol(dstBegin)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getChars + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getChars + origin: JAVA + symbolKind: MEMBER + type: kotlin/Unit + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(srcBegin), KtFirFunctionValueParameterSymbol(srcEnd), KtFirFunctionValueParameterSymbol(dst), KtFirFunctionValueParameterSymbol(dstBegin)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getBytes + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getBytes + origin: JAVA + symbolKind: MEMBER + type: kotlin/Unit + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(srcBegin), KtFirFunctionValueParameterSymbol(srcEnd), KtFirFunctionValueParameterSymbol(dst), KtFirFunctionValueParameterSymbol(dstBegin)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getBytes + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getBytes + origin: JAVA + symbolKind: MEMBER + type: kotlin/ByteArray + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(charsetName)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getBytes + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getBytes + origin: JAVA + symbolKind: MEMBER + type: kotlin/ByteArray + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(charset)] + +KtFirFunctionSymbol: + fqName: java.lang.String.getBytes + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: getBytes + origin: JAVA + symbolKind: MEMBER + type: kotlin/ByteArray + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.equals + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: equals + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(anObject)] + +KtFirFunctionSymbol: + fqName: java.lang.String.contentEquals + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: contentEquals + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(sb)] + +KtFirFunctionSymbol: + fqName: java.lang.String.contentEquals + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: contentEquals + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(cs)] + +KtFirFunctionSymbol: + fqName: java.lang.String.equalsIgnoreCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: equalsIgnoreCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(anotherString)] + +KtFirFunctionSymbol: + fqName: java.lang.String.compareTo + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: compareTo + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(anotherString)] + +KtFirFunctionSymbol: + fqName: java.lang.String.compareToIgnoreCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: compareToIgnoreCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str)] + +KtFirFunctionSymbol: + fqName: java.lang.String.regionMatches + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: regionMatches + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(toffset), KtFirFunctionValueParameterSymbol(other), KtFirFunctionValueParameterSymbol(ooffset), KtFirFunctionValueParameterSymbol(len)] + +KtFirFunctionSymbol: + fqName: java.lang.String.regionMatches + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: regionMatches + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ignoreCase), KtFirFunctionValueParameterSymbol(toffset), KtFirFunctionValueParameterSymbol(other), KtFirFunctionValueParameterSymbol(ooffset), KtFirFunctionValueParameterSymbol(len)] + +KtFirFunctionSymbol: + fqName: java.lang.String.startsWith + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: startsWith + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(prefix), KtFirFunctionValueParameterSymbol(toffset)] + +KtFirFunctionSymbol: + fqName: java.lang.String.startsWith + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: startsWith + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(prefix)] + +KtFirFunctionSymbol: + fqName: java.lang.String.endsWith + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: endsWith + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(suffix)] + +KtFirFunctionSymbol: + fqName: java.lang.String.hashCode + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: hashCode + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.indexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: indexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch)] + +KtFirFunctionSymbol: + fqName: java.lang.String.indexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: indexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.indexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: indexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str)] + +KtFirFunctionSymbol: + fqName: java.lang.String.indexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: indexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.indexOfSupplementary + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: indexOfSupplementary + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.lastIndexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: lastIndexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch)] + +KtFirFunctionSymbol: + fqName: java.lang.String.lastIndexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: lastIndexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.lastIndexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: lastIndexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str)] + +KtFirFunctionSymbol: + fqName: java.lang.String.lastIndexOf + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: lastIndexOf + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.lastIndexOfSupplementary + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: lastIndexOfSupplementary + origin: JAVA + symbolKind: MEMBER + type: kotlin/Int + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(ch), KtFirFunctionValueParameterSymbol(fromIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.substring + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: substring + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(beginIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.substring + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: substring + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(beginIndex), KtFirFunctionValueParameterSymbol(endIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.subSequence + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: subSequence + origin: JAVA + symbolKind: MEMBER + type: kotlin/CharSequence + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(beginIndex), KtFirFunctionValueParameterSymbol(endIndex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.concat + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: concat + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(str)] + +KtFirFunctionSymbol: + fqName: java.lang.String.replace + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: replace + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(oldChar), KtFirFunctionValueParameterSymbol(newChar)] + +KtFirFunctionSymbol: + fqName: java.lang.String.replace + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: replace + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(target), KtFirFunctionValueParameterSymbol(replacement)] + +KtFirFunctionSymbol: + fqName: java.lang.String.matches + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: matches + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(regex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.contains + isExtension: false + isOperator: true + isSuspend: false + modality: OPEN + name: contains + origin: JAVA + symbolKind: MEMBER + type: kotlin/Boolean + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(s)] + +KtFirFunctionSymbol: + fqName: java.lang.String.replaceFirst + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: replaceFirst + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(regex), KtFirFunctionValueParameterSymbol(replacement)] + +KtFirFunctionSymbol: + fqName: java.lang.String.replaceAll + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: replaceAll + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(regex), KtFirFunctionValueParameterSymbol(replacement)] + +KtFirFunctionSymbol: + fqName: java.lang.String.split + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: split + origin: JAVA + symbolKind: MEMBER + type: ft!>, kotlin/Array!>> + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(regex), KtFirFunctionValueParameterSymbol(limit)] + +KtFirFunctionSymbol: + fqName: java.lang.String.split + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: split + origin: JAVA + symbolKind: MEMBER + type: ft!>, kotlin/Array!>> + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(regex)] + +KtFirFunctionSymbol: + fqName: java.lang.String.toLowerCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toLowerCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(locale)] + +KtFirFunctionSymbol: + fqName: java.lang.String.toLowerCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toLowerCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.toUpperCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toUpperCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(locale)] + +KtFirFunctionSymbol: + fqName: java.lang.String.toUpperCase + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toUpperCase + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.trim + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: trim + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.toString + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toString + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.toCharArray + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: toCharArray + origin: JAVA + symbolKind: MEMBER + type: kotlin/CharArray + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: java.lang.String.intern + isExtension: false + isOperator: false + isSuspend: false + modality: OPEN + name: intern + origin: JAVA + symbolKind: MEMBER + type: kotlin/String + typeParameters: [] + valueParameters: [] + +KtFirFunctionSymbol: + fqName: kotlin.CharSequence.get + isExtension: false + isOperator: true + isSuspend: false + modality: ABSTRACT + name: get + origin: LIBRARY + symbolKind: MEMBER + type: kotlin/Char + typeParameters: [] + valueParameters: [KtFirFunctionValueParameterSymbol(index)] diff --git a/idea/idea-frontend-fir/testData/stdLibSymbols/fileWalkDirectionEnum.txt b/idea/idea-frontend-fir/testData/symbolsByFqName/fileWalkDirectionEnum.txt similarity index 100% rename from idea/idea-frontend-fir/testData/stdLibSymbols/fileWalkDirectionEnum.txt rename to idea/idea-frontend-fir/testData/symbolsByFqName/fileWalkDirectionEnum.txt diff --git a/idea/idea-frontend-fir/testData/stdLibSymbols/iterator.txt b/idea/idea-frontend-fir/testData/symbolsByFqName/iterator.txt similarity index 100% rename from idea/idea-frontend-fir/testData/stdLibSymbols/iterator.txt rename to idea/idea-frontend-fir/testData/symbolsByFqName/iterator.txt diff --git a/idea/idea-frontend-fir/testData/stdLibSymbols/listOf.txt b/idea/idea-frontend-fir/testData/symbolsByFqName/listOf.txt similarity index 100% rename from idea/idea-frontend-fir/testData/stdLibSymbols/listOf.txt rename to idea/idea-frontend-fir/testData/symbolsByFqName/listOf.txt diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractStdlibSymbolsBuildingTest.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/AbstractSymbolByFqNameTest.kt similarity index 84% rename from idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractStdlibSymbolsBuildingTest.kt rename to idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/AbstractSymbolByFqNameTest.kt index 531eea35748..3bbd6aac7cd 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractStdlibSymbolsBuildingTest.kt +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/AbstractSymbolByFqNameTest.kt @@ -3,27 +3,24 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.idea.frontend.api.symbols +package org.jetbrains.kotlin.idea.frontend.api import com.intellij.openapi.util.io.FileUtil -import org.jetbrains.kotlin.idea.addExternalTestFiles import org.jetbrains.kotlin.idea.executeOnPooledThreadInReadAction -import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.symbols.DebugSymbolRenderer +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinLightProjectDescriptor import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtPsiFactory -import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File -abstract class AbstractStdlibSymbolsBuildingTest : KotlinLightCodeInsightFixtureTestCase() { +abstract class AbstractSymbolByFqNameTest : KotlinLightCodeInsightFixtureTestCase() { protected fun doTest(path: String) { val fakeKtFile = myFixture.configureByText("file.kt", "fun a() {}") as KtFile @@ -36,9 +33,12 @@ abstract class AbstractStdlibSymbolsBuildingTest : KotlinLightCodeInsightFixture val renderedSymbols = executeOnPooledThreadInReadAction { analyze(fakeKtFile) { - val symbols = symbolData.toSymbols(this) + val symbols = createSymbols(symbolData, this) symbols.map { DebugSymbolRenderer.render(it) } } + val analysisSession = KtFirAnalysisSession(fakeKtFile) + val symbols = createSymbols(symbolData, analysisSession) + symbols.map { DebugSymbolRenderer.render(it) } } val actual = buildString { @@ -52,7 +52,8 @@ abstract class AbstractStdlibSymbolsBuildingTest : KotlinLightCodeInsightFixture KotlinTestUtils.assertEqualsToFile(testDataFile, actual) } - } + protected abstract fun createSymbols(symbolData: SymbolData, analysisSession: KtAnalysisSession): List + override fun getDefaultProjectDescriptor(): KotlinLightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE @@ -62,7 +63,7 @@ abstract class AbstractStdlibSymbolsBuildingTest : KotlinLightCodeInsightFixture } } -private sealed class SymbolData { +sealed class SymbolData { abstract fun toSymbols(analysisSession: KtAnalysisSession): List data class ClassData(val classId: ClassId) : SymbolData() { @@ -95,3 +96,4 @@ private sealed class SymbolData { } } } + diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/AbstractMemberScopeTest.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/AbstractMemberScopeTest.kt new file mode 100644 index 00000000000..506208b8e7e --- /dev/null +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/AbstractMemberScopeTest.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.frontend.api.scopes + +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.SymbolData +import org.jetbrains.kotlin.idea.frontend.api.symbols.AbstractSymbolsByFqNameBuildingTest +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassOrObjectSymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol + +abstract class AbstractMemberScopeByFqNameTest : AbstractSymbolsByFqNameBuildingTest() { + override fun createSymbols(symbolData: SymbolData, analysisSession: KtAnalysisSession): List { + val symbols = symbolData.toSymbols(analysisSession) + val classSymbol = symbols.singleOrNull() as? KtClassOrObjectSymbol ?: error("Should be a single class symbol, but $symbols found") + return analysisSession.scopeProvider.getMemberScope(classSymbol).getAllSymbols().toList() + } +} \ No newline at end of file diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/MemberScopeByFqNameTestGenerated.java b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/MemberScopeByFqNameTestGenerated.java index e69de29bb2d..34058a16bc3 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/MemberScopeByFqNameTestGenerated.java +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/scopes/MemberScopeByFqNameTestGenerated.java @@ -0,0 +1,45 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.frontend.api.scopes; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/idea-frontend-fir/testData/memberScopeByStdlib") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class MemberScopeByFqNameTestGenerated extends AbstractMemberScopeByFqNameTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInMemberScopeByStdlib() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/testData/memberScopeByStdlib"), Pattern.compile("^(.+)\\.txt$"), null, true); + } + + @TestMetadata("Int.txt") + public void testInt() throws Exception { + runTest("idea/idea-frontend-fir/testData/memberScopeByStdlib/Int.txt"); + } + + @TestMetadata("java.lang.String.txt") + public void testJava_lang_String() throws Exception { + runTest("idea/idea-frontend-fir/testData/memberScopeByStdlib/java.lang.String.txt"); + } + + @TestMetadata("MutableList.txt") + public void testMutableList() throws Exception { + runTest("idea/idea-frontend-fir/testData/memberScopeByStdlib/MutableList.txt"); + } +} diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByFqNameBuildingTest.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByFqNameBuildingTest.kt new file mode 100644 index 00000000000..b70a3e13323 --- /dev/null +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByFqNameBuildingTest.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.frontend.api.symbols + +import org.jetbrains.kotlin.idea.frontend.api.AbstractSymbolByFqNameTest +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.SymbolData + +abstract class AbstractSymbolsByFqNameBuildingTest : AbstractSymbolByFqNameTest() { + override fun createSymbols(symbolData: SymbolData, analysisSession: KtAnalysisSession): List = + symbolData.toSymbols(analysisSession) +} \ No newline at end of file diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/StdlibSymbolsBuildingTestGenerated.java b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/SymbolsByFqNameBuildingTestGenerated.java similarity index 94% rename from idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/StdlibSymbolsBuildingTestGenerated.java rename to idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/SymbolsByFqNameBuildingTestGenerated.java index eb2392303b6..23f01d9eaff 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/StdlibSymbolsBuildingTestGenerated.java +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/SymbolsByFqNameBuildingTestGenerated.java @@ -19,7 +19,7 @@ import java.util.regex.Pattern; @TestMetadata("idea/idea-frontend-fir/testData/symbolsByFqName") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) -public class StdlibSymbolsBuildingTestGenerated extends AbstractStdlibSymbolsBuildingTest { +public class SymbolsByFqNameBuildingTestGenerated extends AbstractSymbolsByFqNameBuildingTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); }