07d35d305e
Fix a problem where deleting last import directive via "optimize imports" could lead to incorrect psi structure resulting in CCE, see EA-64291 New imports are inserted at the head (after package directive if present) of the file (before any comments) if no imports were present Add test for inserting import to file where a first statement is a comment Drop code dealing with non-existing import list in ImportInsertHelperImpl AbstractQuickFixTest: check for unexpected actions before changes to the file are made as it relies on the first line having specific format
405 lines
14 KiB
Plaintext
Vendored
405 lines
14 KiB
Plaintext
Vendored
JetFile: SimpleClassMembers.kt
|
|
PACKAGE_DIRECTIVE
|
|
<empty list>
|
|
IMPORT_LIST
|
|
<empty list>
|
|
CLASS
|
|
PsiElement(class)('class')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
CLASS
|
|
PsiElement(class)('class')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n ')
|
|
OBJECT_DECLARATION
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
OBJECT_DECLARATION_NAME
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
CLASS
|
|
PsiElement(class)('class')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
FUN
|
|
PsiElement(fun)('fun')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
VALUE_PARAMETER_LIST
|
|
PsiElement(LPAR)('(')
|
|
PsiElement(RPAR)(')')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(val)('val')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('x')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(var)('var')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('f')
|
|
PsiWhiteSpace('\n\n ')
|
|
TYPEDEF
|
|
PsiElement(typealias)('typealias')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(EQ)('=')
|
|
PsiWhiteSpace(' ')
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('bar')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
CLASS
|
|
PsiElement(class)('class')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n ')
|
|
OBJECT_DECLARATION
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
OBJECT_DECLARATION_NAME
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_BY
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(by)('by')
|
|
PsiWhiteSpace(' ')
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_BY
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(by)('by')
|
|
PsiWhiteSpace(' ')
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_SUPER_CALL
|
|
CONSTRUCTOR_CALLEE
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Goo')
|
|
VALUE_ARGUMENT_LIST
|
|
PsiElement(LPAR)('(')
|
|
PsiElement(RPAR)(')')
|
|
PsiWhiteSpace('\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
CLASS
|
|
PsiElement(class)('class')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
FUN
|
|
PsiElement(fun)('fun')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
VALUE_PARAMETER_LIST
|
|
PsiElement(LPAR)('(')
|
|
PsiElement(RPAR)(')')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(val)('val')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('x')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(var)('var')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('f')
|
|
PsiWhiteSpace('\n\n ')
|
|
TYPEDEF
|
|
PsiElement(typealias)('typealias')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(EQ)('=')
|
|
PsiWhiteSpace(' ')
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('bar')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
FUN
|
|
PsiElement(fun)('fun')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
VALUE_PARAMETER_LIST
|
|
PsiElement(LPAR)('(')
|
|
PsiElement(RPAR)(')')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(val)('val')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('x')
|
|
PsiWhiteSpace('\n\n ')
|
|
PROPERTY
|
|
PsiElement(var)('var')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('f')
|
|
PsiWhiteSpace('\n\n ')
|
|
TYPEDEF
|
|
PsiElement(typealias)('typealias')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(EQ)('=')
|
|
PsiWhiteSpace(' ')
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('bar')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_BY
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(by)('by')
|
|
PsiWhiteSpace(' ')
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiWhiteSpace(' ')
|
|
CLASS_BODY
|
|
PsiElement(LBRACE)('{')
|
|
PsiWhiteSpace('\n\n ')
|
|
PsiElement(RBRACE)('}')
|
|
PsiWhiteSpace('\n\n ')
|
|
OBJECT_DECLARATION
|
|
MODIFIER_LIST
|
|
PsiElement(private)('private')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(companion)('companion')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(object)('object')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(COLON)(':')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATION_SPECIFIER_LIST
|
|
DELEGATOR_SUPER_CLASS
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Fooo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_BY
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Bar')
|
|
PsiWhiteSpace(' ')
|
|
PsiElement(by)('by')
|
|
PsiWhiteSpace(' ')
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('foo')
|
|
PsiElement(COMMA)(',')
|
|
PsiWhiteSpace(' ')
|
|
DELEGATOR_SUPER_CALL
|
|
CONSTRUCTOR_CALLEE
|
|
TYPE_REFERENCE
|
|
USER_TYPE
|
|
REFERENCE_EXPRESSION
|
|
PsiElement(IDENTIFIER)('Goo')
|
|
VALUE_ARGUMENT_LIST
|
|
PsiElement(LPAR)('(')
|
|
PsiElement(RPAR)(')')
|
|
PsiWhiteSpace('\n\n\n')
|
|
PsiElement(RBRACE)('}')
|