Commit Graph

54 Commits

Author SHA1 Message Date
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
Nikolay Krasko d8490ce2a6 Don't parse entries if left brace absent in 'when' 2014-06-25 14:22:53 +04:00
Nikolay Krasko f36f1796d6 Fix recovery for 'for' expression 2014-06-25 14:22:53 +04:00
Nikolay Krasko 2571797411 Don't parse condition if there's no ( for if 2014-06-25 14:22:52 +04:00
Michael Nedzelsky 0332353874 Parser: fix recovery for object literal with no body
#KT-5102 Fixed
2014-06-16 16:25:42 +04:00
Nikolay Krasko 432eabdbcb Don't process val and var keywords in lambda parameters forever (KT-5170)
#KT-5170 Fixed
2014-06-04 18:53:59 +04:00
Nikolay Krasko 5839fda22f Fix recovery in enum initializers 2014-05-16 17:09:56 +04:00
Alexey Sedunov 5d4527d7aa Parser: Fix recovery of constructor parameter list
#KT-4739 Fixed
2014-03-25 16:49:46 +04:00
Pavel V. Talanov 24364dd63b Get rid of JetNodeTypes#LOOP_PARAMETER 2014-03-24 17:05:58 +04:00
Alexey Sedunov d2f6b55cb5 Box qualified names of package directives into dot-qualified expressions 2014-03-04 19:45:30 +04:00
Alexander Udalov 3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Evgeny Gerashchenko 791b5bb84c JetNamespaceHeader → JetPackageDirective. 2014-01-14 18:06:48 +04:00
Alexey Sedunov 5fcf9ca448 Fix error message in test data 2014-01-09 19:16:45 +04:00
Alexey Sedunov 446941257b KT-4392 #Fixed 2014-01-09 15:20:17 +04:00
Nikolay Krasko 560fccbfb5 Better recovering after reporting error about several statements on the line 2013-11-09 14:08:01 +04:00
Natalia Ukhorskaya 3287744415 Add common JetElement for imports: JetImportList 2013-10-25 13:55:40 +04:00
Alexey Sedunov 28b3db53fe Fix irregular PSI structure for classes without body 2013-10-15 18:43:59 +04:00
Evgeny Gerashchenko e338cda06d Changed extension in parsing test data (jet -> kt) 2013-09-17 18:10:00 +04:00
Alexey Sedunov 3a2e30152a Improve parser recovery for list of value parameters/arguments 2013-06-05 15:49:33 +04:00
Andrey Breslav 140382e280 PSI getter fixed: left-hand side of a binary expression can now be null
EA-35976 - IAE: FqNameUnsafe.validateFqName
2013-04-18 16:34:10 +04:00
Mikhael Bogdanov 1e4536a914 For expression recovery 2013-02-26 18:34:43 +04:00