Mikhail Zarechenskiy
4b23c50bf8
Parse expressions like '1._foo()' after dot as references
2016-11-17 22:58:40 +03:00
Mikhail Zarechenskiy
a77290e572
Lexer: support underscores in numeric literals
2016-11-08 18:46:51 +03:00
Nikolay Krasko
08d628537c
Assign trailing and preceding whitespaces to lambda block until the last comment in parser
2016-10-27 14:26:10 +03:00
Denis Zharkov
bec84b1d7b
Change parsing of annotations on block level expressions
...
Attach annotations to the closest prefix expression instead of
whole statement if no new line found after annotations
The motivation is for a simple annotated expression like '@ann x + y'
its syntax form must not change after prepending 'val z = ' just before it
2016-10-12 11:39:04 +03:00
Denis Zharkov
9ff439e39e
Change annotations parsing in bodies of operators
...
This change only matters in cases of if/when/for/while having braceless
blocks
Annotations on them are parsed now as on block-level expressions, i.e.
they're attached to the whole expression
2016-10-12 11:39:04 +03:00
Mikhail Glukhikh
e7d290f726
Refactor PSI for destructuring declarations in for: they are now children of KtParameter and not instead of it
2016-10-06 21:03:19 +03:00
Denis Zharkov
7353b08f09
Change parsing of statements starting with annotations
...
If a block statement starts with annotations treat them as they
belong to node of the statement rather than to the closest prefix expression
#KT-10210 Fixed
2016-10-05 10:29:29 +03:00
Denis Zharkov
75a51d915f
Implement parsing of desctructuring declarations in lambdas
...
#KT-5828 In Progress
2016-09-19 20:22:57 +03:00
Nikolay Krasko
131e77927a
Skip lazy parsable lambdas without actually parsing them
2016-09-19 18:53:51 +03:00
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