Remove "This" keyword

This commit is contained in:
Andrey Breslav
2015-10-16 20:04:37 +03:00
parent aca355acdc
commit 8544a5ab5f
18 changed files with 495 additions and 717 deletions
-6
View File
@@ -1,6 +0,0 @@
class Foo<T : List<This>>(a : This, b : bar<This>) : List<This> by foo as List<This> {
fun foo(a : This) : This {
val a : This = Foo<This>();
}
}
-155
View File
@@ -1,155 +0,0 @@
JetFile: ThisType.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Foo')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('T')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('List')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(GT)('>')
PsiElement(GT)('>')
PRIMARY_CONSTRUCTOR
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(GT)('>')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('List')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
BINARY_WITH_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(as)('as')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('List')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+12 -8
View File
@@ -536,8 +536,9 @@ JetFile: BitArith.kt
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('This')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
@@ -576,15 +577,17 @@ JetFile: BitArith.kt
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('This')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('This')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
@@ -615,8 +618,9 @@ JetFile: BitArith.kt
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
SELF_TYPE
PsiElement(This)('This')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('This')
PsiWhiteSpace('\n ')
PsiComment(EOL_COMMENT)('// ...')
PsiWhiteSpace('\n')