Commit Graph

202 Commits

Author SHA1 Message Date
Denis Zharkov dd14b36921 Prohibit unescaped annotations on primary constructor of local class 2015-05-20 09:24:56 +03:00
Denis Zharkov e4f54b5d2e Parsing: support '@[ann1 ann2]', '@file:ann' and '@file:[ann]' cases 2015-05-20 09:24:56 +03:00
Denis Zharkov f6aadec7e2 Minor, rename tests onFile -> onFileObsolete 2015-05-20 09:24:56 +03:00
Denis Zharkov 083966389a Minor, get rid of repeating parsing semantics 2015-05-20 09:24:55 +03:00
Denis Zharkov 805a811d91 Change parsing rules for primary constructor
- Parse 'constructor' keyword before value arguments
- Allow unescaped annotations
2015-05-20 09:24:54 +03:00
Denis Zharkov d058a07ce2 Parsing: allow semicolon between declarations 2015-05-20 09:24:54 +03:00
Valentin Kipyatkov 617fe9b49d No duplicate "Expecting ')'" when parsing accessor 2015-05-16 17:15:16 +03:00
Valentin Kipyatkov 00fbf41bd8 More correct recovery after '.' in user type 2015-05-16 17:15:15 +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 4e1a90ee61 Diagnostics for incorrect enum members order, when enum entry follows enum member. A few diagnostic tests.
Now incorrect enum members order is treated as a warning.
2015-05-15 16:13:46 +03:00
Mikhail Glukhikh 983339e1c9 Detection of semicolon between enum entries together with the correct delimiter quick fix for this case.
Error message reported directly on semicolon.
2015-05-15 16:13:41 +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
Mikhail Glukhikh cf741cb868 Enum parsing changed: first entries, then members. Grammar fixed accordingly.
A set of compiler tests and some plugin tests changed accordingly.
Compiler Kotlin code changed accordingly.
2015-05-15 16:13:27 +03:00
Alexander Udalov 2fe05c6f11 Parse and resolve annotations on supertypes 2015-05-14 18:58:08 +03:00
Dmitry Jemerov 4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Denis Zharkov 585a437b2e Parse '@' annotations on enum entries
Just drop truncating builder's creation as we parse only escaped annotations
and will not `eat` entry identifier
2015-05-07 22:36:17 +03:00
Denis Zharkov 3d810ffe61 Parse modifier list of multi-declaration and for parameters 2015-05-07 22:36:16 +03:00
Denis Zharkov b72a3de86e Parse annotations on lambda-argument 2015-05-07 22:36:15 +03:00
Denis Zharkov 7d8351abc6 Implement parsing annotations and modifiers starting with '@' 2015-05-07 22:36:15 +03:00
Denis Zharkov b13e932c3c Parse label reference with spaces before '@'
But still report error
2015-05-07 22:36:15 +03:00
Denis Zharkov bcee052302 Revert "Temporary parse label definitions with both syntax versions"
This reverts commit 3e3535f8cf.
2015-04-30 10:16:42 +03:00
Dmitry Jemerov ee60ce8369 understand "interface" keyword as synonym for "trait" 2015-04-29 16:50:14 +02:00
Dmitry Jemerov 98b8784ab0 drop deprecated syntax for anonymous initializer blocks 2015-04-29 14:07:04 +02:00
Denis Zharkov 3e3535f8cf Temporary parse label definitions with both syntax versions
Should be reverted after bootstrap
2015-04-29 14:03:11 +03:00
Denis Zharkov 507eefcaa5 Implement new parsing rules for labels
See changes in expressions.grm
2015-04-29 14:03:10 +03:00
Dmitry Jemerov cbbb2fcd48 fix JetParsingTestGenerated 2015-04-27 15:14:33 +02:00
Dmitry Jemerov 5bbbadeb37 add a token for inline Markdown links; add test for identifier links with labels 2015-04-15 19:48:46 +02: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
Pavel V. Talanov a986d913c3 Remove traces of class object constraints feature from parser, frontend, tests and psi 2015-04-01 20:09:34 +03:00
Denis Zharkov af2bcfb524 Parse primary constructor into separate PSI element 2015-03-31 20:20:22 +03:00
Denis Zharkov 8c048c3e43 Refine recovery for constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov 01e5ee718f Allow secondary constructors without body
#KT-6967 Fixed
2015-03-27 16:09:40 +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
Stanislav Erokhin c24c3daf54 Allowed shorthand parameter list with type reference in lambda. 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 7a8341d0f1 Added parser test for function with initializer. 2015-03-18 16:06:44 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Nikolay Krasko 8c5109d819 Generate descriptor for trait constructor. Exception is thrown otherwise...
EA-38416, EA-65189, EA-60850
2015-03-16 20:16:25 +03:00
Stanislav Erokhin 639003b8a8 Allowed function parameter without type declaration in the parser 2015-03-12 17:11:52 +03:00
Stanislav Erokhin a235110d44 Fixed function expression recovery 2015-03-12 17:11:45 +03:00
Stanislav Erokhin 983e1bc932 Added function as expression support to parser 2015-03-12 17:11:44 +03:00
Stanislav Erokhin a8536fef9b Mute syntax error when function name was omitted 2015-03-12 17:11:44 +03:00
Nikolay Krasko dcd29cb65d Revert "Generate descriptor for trait constructor. Exception is thrown otherwise (EA-38416)"
This reverts commit 6ba120bba8.
2015-03-12 14:18:22 +03:00
Nikolay Krasko 6ba120bba8 Generate descriptor for trait constructor. Exception is thrown otherwise (EA-38416) 2015-03-12 12:59:22 +03:00
Denis Zharkov 3ba94d7352 Parsing: secondary constructors 2015-03-11 17:45:22 +03:00
Denis Zharkov a55e8911ea Drop parsing of enum initializers using `this'
#KT-6626 Fixed
2015-03-11 17:45:22 +03:00
Alexander Udalov 6e45c6f17c Support class literals (A::class) 2015-03-11 16:42:41 +03:00