Commit Graph

284 Commits

Author SHA1 Message Date
Denis Zharkov 4725dd3028 Implement recovery for incomplete expression before declaration
It's needed when declarations are parsed as a part of previous expression
(see tests)

Currently we apply this kind of recovery in a conservative way,
only when declaration starts at the next line, and while
the condition could be relaxed, there's no need to do this

 #KT-4948 Fixed
 #KT-7118 Fixed
2016-07-15 18:59:31 +03:00
Denis Zharkov fcb870a303 Add EOL to EXPRESSION_FOLLOW recovery set
This change is used in further commits, but it's extracted
to emphasize that testData modifications are caused by this.
2016-07-15 18:27:00 +03:00
Denis Zharkov 3aa1a56cb9 Extend recovery set when expecting property accessor
#KT-12987 Fixed
2016-07-08 16:06:47 +03:00
Denis Zharkov f1026935a0 Add recovery for properties without name
If property name is parsed on the next line and declaration is invalid
(no receiver/type/initializer), treat that name as it does not belong to property

 #KT-12987 In Progress
2016-07-08 16:06:47 +03:00
Denis Zharkov 46f11a5ec4 Add val/var tokens in parameter name recovery set
Recovery after val/var everywhere beside value parameters works
properly without this change

 #KT-7915 Fixed
2016-07-08 16:06:47 +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 20d1d12f3b Revert "'yield' reserved as a keyword"
This reverts commit 434082cadb.
2016-06-08 18:53:16 +03:00
Denis Zharkov 329fb9d619 Introduce 'coroutine'/'suspend' modifiers 2016-06-08 18:53:16 +03:00
Alexander Udalov 1339286261 Drop undocumented absolute name specification feature with 'package.' 2016-06-01 19:30:03 +03:00
Alexander Udalov b5388d6a43 Parse expressions on LHS of '::'
See https://github.com/Kotlin/KEEP/issues/5
2016-05-26 22:22:41 +03:00
Dmitry Petrov ec94893189 KT-11588 Type aliases
Parse type aliases as top-level, member, and local declarations.
2016-05-20 14:17:24 +03:00
Nikolay Krasko 52cd7109c7 Use left bound element types to tight empty delegation contructor call to declaration
CONSTRUCTOR_DELEGATION_CALL and CONSTRUCTOR_DELEGATION_REFERENCE types were modified.
2016-05-12 17:25:19 +03:00
Dmitry Jemerov d7b1526cd5 preserve leading indentation in KDoc code blocks
#KT-9933 Fixed
2016-05-06 22:11:38 +02:00
Alexander Udalov 4706d4eaea Minor, restructure parsing test case for '::' 2016-04-19 18:28:24 +03:00
Dmitry Jemerov 01b0cfb552 don't parse lines starting with @ as KDoc tags if they're inside a Markdown code fence
#KT-11789 Fixed
2016-04-05 19:48:51 +02:00
Evgeny Gerashchenko c242ad94fd Minor. Syntax error cosmetics. 2016-01-29 01:00:47 +03:00
Evgeny Gerashchenko 0d79c65d73 KT-8275 Unterminated multi-line comment should be compilation error
#KT-8275 fixed
2016-01-29 01:00:47 +03:00
Valentin Kipyatkov 808c7453a4 Added test for 'typealias' being keyword 2016-01-19 19:31:44 +03:00
Valentin Kipyatkov 68853fecc3 Removed support for "typealias" declarations from the parser
#KT-10683 Fixed
2016-01-19 19:31:44 +03:00
Mikhail Glukhikh b78d481bb1 delegate use-site targeted annotations: parser, front-end, codegen with some tests #KT-10502 Fixed 2016-01-19 11:38:41 +03:00
Pavel V. Talanov b38fc7b3c1 Parse local interfaces in expression position 2015-12-29 15:57:00 +03:00
Dmitry Jemerov 8db3fb03f9 remove support for "package.foo.bar" syntax inside files 2015-12-14 13:22:54 +01:00
Alexey Tsvetkov 199827635f Reserve 'typeof' as a keyword 2015-12-10 21:26:41 +03:00
Dmitry Jemerov 009e3f9cd7 rename PSI classes according to current terminology:
KtMultiDeclaration(Entry) -> KtDestructuringDeclaration(Entry)
KtFunctionLiteralExpression -> KtLambdaExpression
KtFunctionLiteralArgument -> KtLambdaArgument
KtDelegationSpecifierList -> KtSuperTypeList
KtDelegationSpecifier -> KtSuperTypeListEntry
KtDelegatorToSuperClass -> KtSuperTypeEntry
KtDelegatorToSuperCall -> KtSuperTypeCallEntry
KtDelegationByExpressionSpecifier ->KtDelegatedSuperTypeEntry
2015-12-10 16:15:13 +01:00
Dmitry Jemerov 18e343d405 Merge pull request #795 from mcgee/KT-10124
#KT-10124 Fixed
2015-12-09 15:28:31 +01:00
Andrey Breslav 434082cadb 'yield' reserved as a keyword 2015-12-09 17:10:30 +03:00
Anton Sukhonosenko 5bc70b3150 #KT-10124 Fixed 2015-12-02 20:03:13 +03:00
Andrey Breslav 8544a5ab5f Remove "This" keyword 2015-11-30 19:36:33 +03:00
Andrey Breslav aca355acdc '...' reserved as a token
KT-9708 Ambiguous syntax for Double ranges: `.1...2` (triple dot)

 #KT-9708 Fixed
2015-11-30 19:36:33 +03:00
Yan Zhulanow a3ff3ffc45 Fix tests: "Placing function type parameters after the function name" error 2015-11-27 15:51:11 +03:00
Pavel V. Talanov dbd49c37c1 Psi: Introduce KtScriptInitializer, a separate entity for script initializers which are quite a bit different from class initializers 2015-11-19 22:57:07 +03:00
Pavel V. Talanov daa1a08213 Script refactoring, parser: wrap statements in script as if they are init blocks of a class 2015-11-19 22:56:54 +03:00
Dmitry Jemerov 9e0ec80c6a Merge branch 'KT-1396' of https://github.com/mcgee/kotlin into mcgee-KT-1396 2015-11-17 18:49:44 +01:00
Dmitry Jemerov bf35099e0c use "destructuring declarations" term instead of "multi-declarations" 2015-11-17 18:43:26 +01:00
Anton Sukhonosenko bec6621654 #KT-1396 Fixed 2015-11-17 19:33:18 +03:00
Valentin Kipyatkov 52dc23012f Changed parsing of object and enum entries to drop "KtObjectDeclarationName" 2015-11-05 23:21:22 +03:00
Valentin Kipyatkov 74f2d60e19 No duplicate property accessor should be allowed 2015-10-22 18:48:19 +03:00
Mikhail Glukhikh d6988ad69e Get rid of FIELD_IDENTIFIER at syntax level, two errors dropped, a set of tests fixed / deleted #KT-9539 Fixed 2015-10-21 16:36:55 +03:00
Svetlana Isakova 6c4771147a Added more tests on annotations for nullable types 2015-10-16 21:58:43 +03:00
Valentin Kipyatkov 292ea7625c Removed obosolete modifier "ref" from tests 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov 87cfccc2d9 Removed all places in parser where obsolete annotation syntax was allowed 2015-10-15 19:20:10 +03:00
Valentin Kipyatkov d84020b1f3 Removed special support for parsing annotations for multi-declaration in for 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov 98dc8f234e Drop suppport for annotation syntax without '@' from parser 2015-10-15 19:20:07 +03:00
Alexander Udalov 66417ed329 Parse type arguments after callable reference as error
Is likely to be supported in the future
2015-10-15 18:25:42 +03:00
Michael Nedzelsky 1818e9f1bd fix parse `` 2015-10-14 16:57:03 +03:00
Svetlana Isakova b709b431ea Parse annotations on nullable types 2015-10-12 16:28:48 +03:00
Svetlana Isakova b49a3f8e00 Added test for annotations on nullable types 2015-10-12 16:28:48 +03:00
Dmitry Jemerov 02a242f15a parser tweaks to compensate for removal of static type assertions 2015-10-12 11:11:30 +02:00
Dmitry Jemerov 1523d5bcbf removing static type assertions work in progress 2015-10-12 11:11:23 +02:00
Svetlana Isakova 9b1030de2e Annotations on type projection belong to type reference 2015-10-09 11:05:52 +03:00