Treat unsupported or malformed type alias as a type alias with error types.

This commit is contained in:
Dmitry Petrov
2016-06-02 18:22:26 +03:00
parent 3500f5a96b
commit 772fe5badb
8 changed files with 68 additions and 32 deletions
@@ -0,0 +1,6 @@
typealias<!SYNTAX!><!>
<!SYNTAX!><!>typealias A1<!SYNTAX!><!>
<!SYNTAX!><!>typealias A2 =
<!SYNTAX!><!>
@@ -0,0 +1,5 @@
package
public typealias <no name provided> = [ERROR : No type element]
public typealias A1 = [ERROR : No type element]
public typealias A2 = [ERROR : No type element]
@@ -6,8 +6,8 @@ class C
<!UNSUPPORTED_TYPEALIAS!>typealias<!> L<T> = List<T>
<!UNSUPPORTED_TYPEALIAS!>typealias<!> CA = C
val test1: <!UNRESOLVED_REFERENCE!>S<!> = ""
val test1: <!UNSUPPORTED_TYPEALIAS!>S<!> = ""
fun test2(x: <!UNRESOLVED_REFERENCE!>L<!><<!UNRESOLVED_REFERENCE!>S<!>>) = <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>x<!>
fun test2(x: <!UNSUPPORTED_TYPEALIAS!>L<<!UNSUPPORTED_TYPEALIAS!>S<!>><!>) = <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>x<!>
class Test3 : <!UNRESOLVED_REFERENCE!>CA<!>()
class Test3 : <!UNSUPPORTED_TYPEALIAS!>CA<!>()
@@ -1,7 +1,10 @@
package
public typealias CA = [ERROR : CA]
public typealias L</*0*/ T> = [ERROR : L]
public typealias S = [ERROR : S]
public val test1: [ERROR : S]
public fun test2(/*0*/ x: [ERROR : L<S>]<[ERROR : S]>): [ERROR : L<S>]<[ERROR : S]>
public fun test2(/*0*/ x: [ERROR : L]<[ERROR : S]>): [ERROR : L]<[ERROR : S]>
public final class C {
public constructor C()