Commit Graph

14 Commits

Author SHA1 Message Date
Igor Yakovlev da4d8a8c90 Parser invalid error advancing for postfix type parameters list #KT-30835 Fixed 2019-04-05 19:50:42 +03:00
Nikolay Krasko 0cd3e4f3a4 Minor: JetFile -> KtFile 2017-05-18 20:00:17 +03:00
Dmitry Petrov a15d423db4 Support modifiers on types in parser
(required for 'suspend' on functional types).

TYPE_REFERENCE element now has MODIFIER_LIST child, which hosts annotations and modifiers for the corresponding type reference.

Annotations and modifiers written before an extension function type are now parsed as annotations and modifiers for the functional type, not the receiver type.
So, '@Ann A.(B) -> C' was '(@Ann A).(B) -> C', and became '@Ann (A.(B) -> C)'.
NB: DSL_SCOPE_VIOLATION testData updated accordingly.

Type projection variance modifiers ('in', 'out') belong to a separate modifier list under corresponding type projection (not under a type reference).
'A<in suspend T>' is 'A<(in (suspend T))>', 'A<suspend in T>' is an error.

In stub builder, create a modifier list node to host annotations and modifiers (none so far; TODO properly serialize/deserialize types with modifiers).
2016-12-15 23:57:41 +03:00
Stanislav Erokhin 7c2825b397 KT-12623 Fixed ISE: Type parameter ... not found for public fun ...
#KT-12623 Fixed
Also EA-72653 fixed.
2016-06-23 02:03:24 +03:00
Denis Zharkov cf4b1ab7cd Drop obsolete annotations syntax 2015-06-12 09:55:00 +03:00
Pavel V. Talanov 07d35d305e 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
2015-06-08 20:51:04 +03:00
Stanislav Erokhin 7a8341d0f1 Added parser test for function with initializer. 2015-03-18 16:06:44 +03:00
Andrey Breslav 2bf6db003a Error message corrected: packages can't be nested any more 2014-10-15 12:22:35 +04:00
Evgeny Gerashchenko 791b5bb84c JetNamespaceHeader → JetPackageDirective. 2014-01-14 18:06:48 +04:00
Evgeny Gerashchenko e338cda06d Changed extension in parsing test data (jet -> kt) 2013-09-17 18:10:00 +04:00
Wojciech Lopata bc59ed75ca KT-1019 parser should recover from missing parentheses in function declaration
#KT-1019 Fixed
2013-02-28 12:00:33 +01:00
Andrey Breslav 6aafaa1851 JetNamespace eliminated 2011-12-27 20:23:58 +04:00
Andrey Breslav 49c29dd323 KT-691 Allow to create nested namespaces with dot delimiter 2011-11-30 15:06:55 +03:00
Dmitry Jemerov ec6dec0d37 separate compiler and plugin tests 2011-10-20 16:21:18 +02:00