Denis.Zharkov
3d7969ec8f
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit 2053363def .
^KT-35811 Open
2022-08-30 11:21:50 +00:00
Iven Krall
2053363def
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-16 10:00:53 +00:00
Denis.Zharkov
11a26e540e
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit a2077f9063 .
2022-08-04 17:50:00 +02:00
Iven Krall
a2077f9063
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-04 11:24:08 +00:00
Denis.Zharkov
9caa60d389
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit ba5c85d6
^KT-52684 Related
2022-06-09 15:44:36 +00:00
Iven Krall
ba5c85d6f2
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-05-18 17:23:40 +00:00
Denis.Zharkov
cbb8459e4e
Fix AE: No receiver found on incomplete code with $-signs
...
^KT-24158 Fixed
2020-12-24 14:06:20 +03:00
Denis Zharkov
db53c4bea4
Add test for obsolete recovery case (semi-finished extension)
...
^KT-7405 Obsolete
2019-01-17 14:56:42 +03:00
Denis Zharkov
65e6e21d0f
Add recovery for import lists in the middle of the file
...
Note, that it only works for top-level declarations
^KT-7185 Fixed
2019-01-17 14:56:42 +03:00
Denis Zharkov
e6710b6fa2
Add recovery for value parameter without type or name
...
The case for KT-7237 belongs to /NoGTInTypeArguments test
It was fixed implicitly: before it recovery was working but the name for
the next parameter was attached to type argument list.
After that change, parameter without name gets parsed correctly (with an
error of course)
^KT-13731 Fixed
^KT-7237 Fixed
2019-01-17 14:56:42 +03:00
Denis Zharkov
5437a0e478
Add recovery for enum declaration without 'class' keyword
...
^KT-13703 Fixed
2019-01-17 14:56:42 +03:00
Nikolay Krasko
0cd3e4f3a4
Minor: JetFile -> KtFile
2017-05-18 20:00:17 +03:00
Nikolay Krasko
afc0892d1f
Synchronize state of parser and lexer for LONG_TEMPLATE_ENTRY (KT-14865)
...
Lexer monitors "long string template" state end and will produce
LONG_TEMPLATE_ENTRY_END token when it is reached. If parser continues
without waiting for it, it will eventually get handling token that
will produce irrelevant error. Such behaviour also breaks lazy
elements (LAMBDA_EXPRESSION in this case) contract: range of parsed text
in eager mode should be same to one parsed in lazy mode.
#KT-14865 Fixed
2017-03-20 17:47:29 +03:00
Mikhail Zarechenskiy
da53317357
Fix exception when type parameters appear in object declaration
...
#KT-14536 Fixed
2017-03-14 01:10:00 +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
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
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
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
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
Pavel V. Talanov
b38fc7b3c1
Parse local interfaces in expression position
2015-12-29 15:57:00 +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
Anton Sukhonosenko
5bc70b3150
#KT-10124 Fixed
2015-12-02 20:03:13 +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
Valentin Kipyatkov
52dc23012f
Changed parsing of object and enum entries to drop "KtObjectDeclarationName"
2015-11-05 23:21:22 +03:00
Denis Zharkov
02aafe4262
Report syntax error on unescaped annotation
...
Also adjust parser testData
2015-09-18 09:34:26 +03:00
Mikhail Glukhikh
3f14e74b08
Drop old enum syntax. Comma / semicolon are now a syntactic part of enum entry.
...
Comma must present now between enum entries, semicolon between last entry & first member, constructor calls must be without colons / specifiers.
A swarm of tests fixed accordingly.
2015-08-11 10:38:10 +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
Denis Zharkov
19e4127f4f
Do not wrap primary ctor of object into ErrorElement
...
It helps to resolve them as for classes
Diagnostic with same content will be reported instead
2015-06-02 13:18:53 +03:00
Valentin Kipyatkov
617fe9b49d
No duplicate "Expecting ')'" when parsing accessor
2015-05-16 17:15:16 +03:00
Valentin Kipyatkov
a05ffafc84
Added a test
2015-05-16 17:15:14 +03:00
Valentin Kipyatkov
c94dc6d5f7
Better parsing of block after missing "->" after "else" in when
2015-05-16 17:15:14 +03:00
Valentin Kipyatkov
60b0236101
Corrected parser: incomplete code should never cause brace disbalance
...
Fixed KT-7539 fq name inserted when completing nested traits name
#KT-7539
2015-05-16 17:15:12 +03:00
Mikhail Glukhikh
1a312140e9
New enum syntax: Short constructor syntax introduced for entries, optional commas between entries, semicolon after entries. #KT-7605 Fixed.
...
Grammar changed accordingly.
Semicolons prohibited after an entry except the last one.
Only one initializer is allowed per entry.
EnumReferenceExpression AST node introduced.
Some tests fixed, a pair of new tests written. Kotlin code inside project fixed.
Formatter and intendation tests fixed accordingly.
Stub version is incremented.
2015-05-15 16:13:32 +03:00
Evgeny Gerashchenko
508c7a58b6
KT-7377 Throwable: Empty PSI elements should not be passed to createDescriptor from UnusedReceiverParameterInspection
...
#KT-7377 fixed
2015-04-13 15:04:00 +03:00
Alexey Sedunov
4af608ef84
Parser: Recovery for parameter with missing name
2015-04-09 13:49:17 +03:00
Denis Zharkov
af2bcfb524
Parse primary constructor into separate PSI element
2015-03-31 20:20:22 +03:00
Alexey Sedunov
4ec1b9971f
Parser: Do not produce JetQualifiedExpression without receiver
...
#KT-7122 Fixed
2015-03-26 23:11:50 +03:00
Denis Zharkov
eefea26d54
Recovery for initializer if no LBRACE
...
- If no LBRACE after 'init' keyword parse initializer without body
- Made getBody() nullable, appropriate checks added
2015-03-18 19:59:25 +03:00
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Denis Zharkov
a55e8911ea
Drop parsing of enum initializers using `this'
...
#KT-6626 Fixed
2015-03-11 17:45:22 +03:00
Pavel V. Talanov
59f192ef90
Replace 'class object' with 'default object' in renderers and test data
...
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Pavel V. Talanov
f1942b1a74
Parser: do not produce CLASS_OBJECT element
...
"class object" is parsed into OBJECT_DECLARATION instead
2015-02-16 15:38:30 +03:00
Nikolay Krasko
3677881e18
Change parser error for when (KT-6420)
...
#KT-6420 Fixed
2014-12-08 20:42:48 +03:00
Valentin Kipyatkov
d6dc2531b0
Removed binding of comment after package directive
2014-10-31 21:07:51 +03:00
Valentin Kipyatkov
9dd4b5598e
Comments binding (not complete yet)
2014-10-31 21:07:44 +03:00
Valentin Kipyatkov
304c826b47
Fixed KT-6128 Code completion does not work inside function literal if it's dependant on declarations below
...
#KT-6128 Fixed
2014-10-24 15:14:26 +04:00
Andrey Breslav
391b57077b
KT-5976 Parser recovery is poor on object with parameters
...
#KT-5976 Fixed
2014-10-15 12:22:35 +04:00