[FIR] Do not erase type arguments for unresolved method calls

This commit is contained in:
Igor Yakovlev
2021-01-26 19:29:19 +03:00
parent 659d2c13b4
commit 9f282e0ddc
4 changed files with 5 additions and 4 deletions
@@ -108,7 +108,9 @@ class FirCallCompletionResultsWriterTransformer(
.transformDispatchReceiver(StoreReceiver, subCandidate.dispatchReceiverExpression())
.transformExtensionReceiver(StoreReceiver, subCandidate.extensionReceiverExpression()) as T
result.replaceTypeRef(typeRef)
result.replaceTypeArguments(typeArguments)
if (declaration !is FirErrorFunction) {
result.replaceTypeArguments(typeArguments)
}
return result
}
@@ -7,7 +7,7 @@ fun foo(a : Any?) {}
public fun main() {
getT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
<!UNRESOLVED_REFERENCE!>ggetT<!><*>()
<!UNRESOLVED_REFERENCE!>ggetT<!><<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
getTT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>, <!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
getTT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>, Int>()
getTT<Int, <!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
@@ -1,4 +1,4 @@
fun foo() {
<!UNRESOLVED_REFERENCE!>x<!>.<!UNRESOLVED_REFERENCE!>yyy<!><XXX>()
<!UNRESOLVED_REFERENCE!>x<!>.<!UNRESOLVED_REFERENCE!>yyy<!><<!UNRESOLVED_REFERENCE!>XXX<!>>()
<!UNRESOLVED_REFERENCE!>x<!>.<!UNRESOLVED_REFERENCE!>yyy<!><Int>()
}
@@ -1,4 +1,3 @@
// IGNORE_FIR
package testing
annotation class Annotation<T>(val clazz: Class<T>)