Create import list psi element even if no directives are present

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
This commit is contained in:
Pavel V. Talanov
2015-06-08 15:13:33 +03:00
parent 4c4f730c53
commit 07d35d305e
461 changed files with 1275 additions and 472 deletions
@@ -86,3 +86,9 @@ object TrailingCommentsBinder : WhitespacesAndCommentsBinder {
return result return result
} }
} }
object DoNotBindAnything : WhitespacesAndCommentsBinder {
override fun getEdgePosition(tokens: List<IElementType>, atStreamEdge: Boolean, getter: WhitespacesAndCommentsBinder.TokenTextGetter): Int {
return 0
}
}
@@ -215,8 +215,8 @@ public class JetParsing extends AbstractJetParsing {
parseFileAnnotationList(FILE_ANNOTATIONS_WHEN_PACKAGE_OMITTED); parseFileAnnotationList(FILE_ANNOTATIONS_WHEN_PACKAGE_OMITTED);
packageDirective = mark(); packageDirective = mark();
packageDirective.done(PACKAGE_DIRECTIVE); packageDirective.done(PACKAGE_DIRECTIVE);
// this is necessary to allow comments at the start of the file to be bound to the first declaration: // this is necessary to allow comments at the start of the file to be bound to the first declaration
packageDirective.setCustomEdgeTokenBinders(PrecedingCommentsBinder.INSTANCE$, null); packageDirective.setCustomEdgeTokenBinders(DoNotBindAnything.INSTANCE$, null);
} }
parseImportDirectives(); parseImportDirectives();
@@ -351,13 +351,15 @@ public class JetParsing extends AbstractJetParsing {
} }
private void parseImportDirectives() { private void parseImportDirectives() {
if (at(IMPORT_KEYWORD)) { PsiBuilder.Marker importList = mark();
PsiBuilder.Marker importList = mark(); if (!at(IMPORT_KEYWORD)) {
while (at(IMPORT_KEYWORD)) { // this is necessary to allow comments at the start of the file to be bound to the first declaration
parseImportDirective(); importList.setCustomEdgeTokenBinders(DoNotBindAnything.INSTANCE$, null);
}
importList.done(IMPORT_LIST);
} }
while (at(IMPORT_KEYWORD)) {
parseImportDirective();
}
importList.done(IMPORT_LIST);
} }
/* /*
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.psi.stubs.impl.KotlinFileStubImpl;
import java.io.IOException; import java.io.IOException;
public class JetFileElementType extends IStubFileElementType<KotlinFileStub> { public class JetFileElementType extends IStubFileElementType<KotlinFileStub> {
public static final int STUB_VERSION = 46; public static final int STUB_VERSION = 47;
private static final String NAME = "kotlin.FILE"; private static final String NAME = "kotlin.FILE";
@@ -6,6 +6,8 @@ JetFile: fragment.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
+2
View File
@@ -1,6 +1,8 @@
JetFile: AbsentInnerType.kt JetFile: AbsentInnerType.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: AnonymousInitializer.kt JetFile: AnonymousInitializer.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: AssertNotNull.kt JetFile: AssertNotNull.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -4,6 +4,8 @@ JetFile: BabySteps.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
+2
View File
@@ -4,6 +4,8 @@ JetFile: BabySteps_ERR.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
+2
View File
@@ -1,6 +1,8 @@
JetFile: BackslashInString.kt JetFile: BackslashInString.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -1,4 +1,6 @@
JetFile: BlockCommentAtBeginningOfFile1.kt JetFile: BlockCommentAtBeginningOfFile1.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiComment(BLOCK_COMMENT)('/*') PsiComment(BLOCK_COMMENT)('/*')
@@ -1,4 +1,6 @@
JetFile: BlockCommentAtBeginningOfFile2.kt JetFile: BlockCommentAtBeginningOfFile2.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiComment(BLOCK_COMMENT)('/*\n/*') PsiComment(BLOCK_COMMENT)('/*\n/*')
@@ -1,4 +1,6 @@
JetFile: BlockCommentAtBeginningOfFile3.kt JetFile: BlockCommentAtBeginningOfFile3.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiComment(BLOCK_COMMENT)('/*\n\nfooo') PsiComment(BLOCK_COMMENT)('/*\n\nfooo')
@@ -1,4 +1,6 @@
JetFile: BlockCommentAtBeginningOfFile4.kt JetFile: BlockCommentAtBeginningOfFile4.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiComment(BLOCK_COMMENT)('/*\n\n/*foo*/\n\nasdfas') PsiComment(BLOCK_COMMENT)('/*\n\n/*foo*/\n\nasdfas')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ByClauses.kt JetFile: ByClauses.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: CallWithManyClosures.kt JetFile: CallWithManyClosures.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: CallsInWhen.kt JetFile: CallsInWhen.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Constructors.kt JetFile: Constructors.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ControlStructures.kt JetFile: ControlStructures.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: DefaultKeyword.kt JetFile: DefaultKeyword.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+3 -1
View File
@@ -11,9 +11,11 @@ JetFile: DocCommentAfterFileAnnotations.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('volatile') PsiElement(IDENTIFIER)('volatile')
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n')
CLASS CLASS
KDoc KDoc
PsiElement(KDOC_START)('/**') PsiElement(KDOC_START)('/**')
@@ -1,6 +1,8 @@
JetFile: DocCommentForFirstDeclaration.kt JetFile: DocCommentForFirstDeclaration.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
KDoc KDoc
PsiElement(KDOC_START)('/**') PsiElement(KDOC_START)('/**')
@@ -9,6 +9,8 @@ JetFile: DocCommentOnPackageDirectiveLine.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('p2') PsiElement(IDENTIFIER)('p2')
PsiElement(SEMICOLON)(';') PsiElement(SEMICOLON)(';')
IMPORT_LIST
<empty list>
FUN FUN
KDoc KDoc
PsiElement(KDOC_START)('/**') PsiElement(KDOC_START)('/**')
+2
View File
@@ -1,6 +1,8 @@
JetFile: DocCommentsBinding.kt JetFile: DocCommentsBinding.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
KDoc KDoc
PsiElement(KDOC_START)('/**') PsiElement(KDOC_START)('/**')
+2
View File
@@ -1,6 +1,8 @@
JetFile: DoubleColon.kt JetFile: DoubleColon.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: DynamicReceiver.kt JetFile: DynamicReceiver.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: DynamicSoftKeyword.kt JetFile: DynamicSoftKeyword.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
ANNOTATION_ENTRY ANNOTATION_ENTRY
+2
View File
@@ -1,6 +1,8 @@
JetFile: DynamicTypes.kt JetFile: DynamicTypes.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EOLsInComments.kt JetFile: EOLsInComments.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EOLsOnRollback.kt JetFile: EOLsOnRollback.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,3 +1,5 @@
JetFile: EmptyFile.kt JetFile: EmptyFile.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumCommas.kt JetFile: EnumCommas.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumMissingName.kt JetFile: EnumMissingName.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiComment(EOL_COMMENT)('// Error: name should present') PsiComment(EOL_COMMENT)('// Error: name should present')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
+2
View File
@@ -20,6 +20,8 @@ JetFile: EnumNoAnnotations.kt
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('enum') PsiElement(IDENTIFIER)('enum')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumSemicolonBetween.kt JetFile: EnumSemicolonBetween.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
@@ -1,6 +1,8 @@
JetFile: EnumSemicolonBetweenWithMembers.kt JetFile: EnumSemicolonBetweenWithMembers.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumShortCommas.kt JetFile: EnumShortCommas.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumShortNoCommas.kt JetFile: EnumShortNoCommas.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiComment(EOL_COMMENT)('// NB: this test uses deprecated syntax') PsiComment(EOL_COMMENT)('// NB: this test uses deprecated syntax')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
+2
View File
@@ -1,6 +1,8 @@
JetFile: EnumShortWithOverload.kt JetFile: EnumShortWithOverload.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
@@ -1,6 +1,8 @@
JetFile: EnumShortWithOverloadNoCommas.kt JetFile: EnumShortWithOverloadNoCommas.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Enums.kt JetFile: Enums.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Expressions_ERR.kt JetFile: Expressions_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ExtensionsWithQNReceiver.kt JetFile: ExtensionsWithQNReceiver.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FileStart_ERR.kt JetFile: FileStart_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(DIV)('/') PsiElement(DIV)('/')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
+2
View File
@@ -1,6 +1,8 @@
JetFile: FloatingPointLiteral.kt JetFile: FloatingPointLiteral.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ForWithMultiDecl.kt JetFile: ForWithMultiDecl.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionCalls.kt JetFile: FunctionCalls.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionExpressions.kt JetFile: FunctionExpressions.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionExpressions_ERR.kt JetFile: FunctionExpressions_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionLiterals.kt JetFile: FunctionLiterals.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionLiterals_ERR.kt JetFile: FunctionLiterals_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionNoParameterList.kt JetFile: FunctionNoParameterList.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionTypes.kt JetFile: FunctionTypes.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
TYPEDEF TYPEDEF
PsiElement(typealias)('typealias') PsiElement(typealias)('typealias')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionTypes_ERR.kt JetFile: FunctionTypes_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
TYPEDEF TYPEDEF
PsiElement(typealias)('typealias') PsiElement(typealias)('typealias')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Functions.kt JetFile: Functions.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionsWithoutName.kt JetFile: FunctionsWithoutName.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: FunctionsWithoutName_ERR.kt JetFile: FunctionsWithoutName_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiErrorElement:Expecting '(' PsiErrorElement:Expecting '('
+2
View File
@@ -1,6 +1,8 @@
JetFile: Functions_ERR.kt JetFile: Functions_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: HangOnLonelyModifier.kt JetFile: HangOnLonelyModifier.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: IfWithPropery.kt JetFile: IfWithPropery.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Inner.kt JetFile: Inner.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: IntegerLiteral.kt JetFile: IntegerLiteral.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Interface.kt JetFile: Interface.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(interface)('interface') PsiElement(interface)('interface')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Labels.kt JetFile: Labels.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+3 -1
View File
@@ -11,9 +11,11 @@ JetFile: LineCommentAfterFileAnnotations.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('volatile') PsiElement(IDENTIFIER)('volatile')
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n')
CLASS CLASS
PsiComment(EOL_COMMENT)('// class C') PsiComment(EOL_COMMENT)('// class C')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -1,6 +1,8 @@
JetFile: LineCommentForFirstDeclaration.kt JetFile: LineCommentForFirstDeclaration.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiComment(EOL_COMMENT)('// This is foo') PsiComment(EOL_COMMENT)('// This is foo')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
+2
View File
@@ -1,6 +1,8 @@
JetFile: LocalDeclarations.kt JetFile: LocalDeclarations.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -16,3 +16,5 @@ JetFile: LongPackageName.kt
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
IMPORT_LIST
<empty list>
+4 -2
View File
@@ -1,8 +1,10 @@
JetFile: ModifierAsSelector.kt JetFile: ModifierAsSelector.kt
PsiComment(EOL_COMMENT)('// JET-1')
PsiWhiteSpace('\n\n')
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PsiComment(EOL_COMMENT)('// JET-1')
PsiWhiteSpace('\n\n')
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: MultiVariableDeclarations.kt JetFile: MultiVariableDeclarations.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: NamedClassObject.kt JetFile: NamedClassObject.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: NestedComments.kt JetFile: NestedComments.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: NewLinesValidOperations.kt JetFile: NewLinesValidOperations.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: NewlinesInParentheses.kt JetFile: NewlinesInParentheses.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: NotIsAndNotIn.kt JetFile: NotIsAndNotIn.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ObjectLiteralAsStatement.kt JetFile: ObjectLiteralAsStatement.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ParameterNameMising.kt JetFile: ParameterNameMising.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ParameterType.kt JetFile: ParameterType.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ParameterType_ERR.kt JetFile: ParameterType_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Precedence.kt JetFile: Precedence.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -1,6 +1,8 @@
JetFile: PrimaryConstructorModifiers_ERR.kt JetFile: PrimaryConstructorModifiers_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(open)('open') PsiElement(open)('open')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Properties.kt JetFile: Properties.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -1,6 +1,8 @@
JetFile: PropertiesFollowedByInitializers.kt JetFile: PropertiesFollowedByInitializers.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Properties_ERR.kt JetFile: Properties_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
PROPERTY PROPERTY
PsiElement(var)('var') PsiElement(var)('var')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: QuotedIdentifiers.kt JetFile: QuotedIdentifiers.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
MODIFIER_LIST MODIFIER_LIST
ANNOTATION ANNOTATION
+2
View File
@@ -9,6 +9,8 @@ JetFile: RootPackage.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
PsiElement(SEMICOLON)(';') PsiElement(SEMICOLON)(';')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
+2
View File
@@ -1,6 +1,8 @@
JetFile: SemicolonAfterIf.kt JetFile: SemicolonAfterIf.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: SimpleClassMembers.kt JetFile: SimpleClassMembers.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: SimpleClassMembers_ERR.kt JetFile: SimpleClassMembers_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: SimpleExpressions.kt JetFile: SimpleExpressions.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -12,6 +12,8 @@ JetFile: SimpleModifiers.kt
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo') PsiElement(IDENTIFIER)('goo')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
+2
View File
@@ -1,6 +1,8 @@
JetFile: SoftKeywordsInTypeArguments.kt JetFile: SoftKeywordsInTypeArguments.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: StringTemplates.kt JetFile: StringTemplates.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: Super.kt JetFile: Super.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiComment(EOL_COMMENT)('// KT-156 Fix the this<Super> syntax') PsiComment(EOL_COMMENT)('// KT-156 Fix the this<Super> syntax')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
+2
View File
@@ -1,6 +1,8 @@
JetFile: ThisType.kt JetFile: ThisType.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: TraitConstructor.kt JetFile: TraitConstructor.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(interface)('interface') PsiElement(interface)('interface')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: TryRecovery.kt JetFile: TryRecovery.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
FUN FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -1,6 +1,8 @@
JetFile: TypeConstraints.kt JetFile: TypeConstraints.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
CLASS CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2
View File
@@ -12,6 +12,8 @@ JetFile: TypeDef.kt
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo') PsiElement(IDENTIFIER)('goo')
IMPORT_LIST
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
TYPEDEF TYPEDEF
PsiElement(typealias)('typealias') PsiElement(typealias)('typealias')
+2
View File
@@ -1,6 +1,8 @@
JetFile: TypeDef_ERR.kt JetFile: TypeDef_ERR.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
<empty list> <empty list>
IMPORT_LIST
<empty list>
TYPEDEF TYPEDEF
PsiElement(typealias)('typealias') PsiElement(typealias)('typealias')
PsiErrorElement:Type name expected PsiErrorElement:Type name expected

Some files were not shown because too many files have changed in this diff Show More