KT-11588 Type aliases

Parse type aliases as top-level, member, and local declarations.
This commit is contained in:
Dmitry Petrov
2016-04-26 15:24:49 +03:00
parent ceb4aa7ac0
commit ec94893189
30 changed files with 891 additions and 157 deletions
@@ -1,10 +1,10 @@
val v: (((S).() -> S).() -> S)
val v: ((T.() -> S).() -> S)
val v: ((T.T.() -> S).() -> S)
val v: ((T<A, B>.T<x>.() -> S).() -> S)
val v: (((S).() -> S).() -> S)
typealias f = (((S).() -> S).() -> S)
typealias f = ((T.() -> S).() -> S)
typealias f = ((T.T.() -> S).() -> S)
typealias f = ((T<A, B>.T<x>.() -> S).() -> S)
typealias f = (((S).() -> S).() -> S)
val v: @[a] (@[a] ((S).() -> S).() -> S)
val v: @[a] (@[a] (T.() -> S).() -> S)
val v: @[a] (@[a] (T<A, B>.() -> S).() -> S)
val v: @[a] (@[a] ((S).() -> S).() -> S)
typealias f = @[a] (@[a] ((S).() -> S).() -> S)
typealias f = @[a] (@[a] (T.() -> S).() -> S)
typealias f = @[a] (@[a] (T<A, B>.() -> S).() -> S)
typealias f = @[a] (@[a] ((S).() -> S).() -> S)
@@ -3,11 +3,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
<empty list>
IMPORT_LIST
<empty list>
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiElement(LPAR)('(')
@@ -48,11 +49,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiElement(LPAR)('(')
@@ -91,11 +93,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiElement(LPAR)('(')
@@ -138,11 +141,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiElement(LPAR)('(')
@@ -208,11 +212,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiElement(LPAR)('(')
@@ -253,12 +258,13 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(AT)('@')
@@ -320,11 +326,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
@@ -385,11 +392,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
@@ -465,11 +473,12 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
PsiElement(IDENTIFIER)('S')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
TYPEALIAS
PsiElement(typealias)('typealias')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION