AA: do not parse signature with NO_NAME_PROVIDED
^KTIJ-23503 Fixed
This commit is contained in:
committed by
Ilya Kirillov
parent
6cadad5a6b
commit
4497be0b68
+2
-3
@@ -85,9 +85,8 @@ internal class KtFe10PsiTypeProvider(
|
||||
val canonicalSignature = signatureWriter.toString()
|
||||
require(!canonicalSignature.contains(SpecialNames.ANONYMOUS_STRING))
|
||||
|
||||
if (canonicalSignature.contains("L<error>")) {
|
||||
return null
|
||||
}
|
||||
if (canonicalSignature.contains("L<error>")) return null
|
||||
if (canonicalSignature.contains(SpecialNames.NO_NAME_PROVIDED.asString())) return null
|
||||
|
||||
val signature = StringCharacterIterator(canonicalSignature)
|
||||
val javaType = SignatureParsing.parseTypeString(signature, StubBuildingVisitor.GUESSING_MAPPER)
|
||||
|
||||
+2
-2
@@ -191,10 +191,10 @@ internal fun ConeKotlinType.asPsiType(
|
||||
session.jvmTypeMapper.mapType(correctedType, mode, signatureWriter)
|
||||
|
||||
val canonicalSignature = signatureWriter.toString()
|
||||
require(!canonicalSignature.contains(SpecialNames.ANONYMOUS_STRING))
|
||||
|
||||
if (canonicalSignature.contains("L<error>")) return null
|
||||
|
||||
require(!canonicalSignature.contains(SpecialNames.ANONYMOUS_STRING))
|
||||
if (canonicalSignature.contains(SpecialNames.NO_NAME_PROVIDED.asString())) return null
|
||||
|
||||
val signature = StringCharacterIterator(canonicalSignature)
|
||||
val javaType = SignatureParsing.parseTypeString(signature, StubBuildingVisitor.GUESSING_MAPPER)
|
||||
|
||||
+12
@@ -46,6 +46,18 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiExpressionPsiTypeProv
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_call.kt")
|
||||
public void testClass_object_call() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_call.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_constructor.kt")
|
||||
public void testClass_object_constructor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_constructor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParamFlexibleUpperBound.kt")
|
||||
public void testTypeParamFlexibleUpperBound() throws Exception {
|
||||
|
||||
+12
@@ -46,6 +46,18 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiExpressionPsiTypeProvide
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_call.kt")
|
||||
public void testClass_object_call() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_call.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_constructor.kt")
|
||||
public void testClass_object_constructor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_constructor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParamFlexibleUpperBound.kt")
|
||||
public void testTypeParamFlexibleUpperBound() throws Exception {
|
||||
|
||||
+12
@@ -46,6 +46,18 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiExpressionPsiType
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_call.kt")
|
||||
public void testClass_object_call() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_call.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class_object_constructor.kt")
|
||||
public void testClass_object_constructor() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_constructor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParamFlexibleUpperBound.kt")
|
||||
public void testTypeParamFlexibleUpperBound() throws Exception {
|
||||
|
||||
analysis/analysis-api/testData/components/psiTypeProvider/psiType/forExpression/class_object_call.kt
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
class Outer() {
|
||||
object { // <no name provided>
|
||||
class Inner() {}
|
||||
|
||||
fun getInner() = Inner()
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val inner = <expr>Outer.getInner()</expr>
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
KtType: getInner
|
||||
PsiType: null
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
class Outer() {
|
||||
object { // <no name provided>
|
||||
class Inner() {}
|
||||
|
||||
fun getInner() = <expr>Inner()</expr>
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val inner = Outer.getInner()
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
KtType: Outer.<no name provided>.Inner
|
||||
PsiType: null
|
||||
Reference in New Issue
Block a user