Valentin Kipyatkov
7edff172a2
KT-1273 Unused assignment - should highlight assignment instead of expression
...
#KT-1273 Fixed
2015-05-19 23:45:59 +03:00
Alexander Udalov
189286efee
Support platformStatic members in companion object of enums
...
#KT-7777 Fixed
2015-05-19 18:47:00 +03:00
Andrey Breslav
f7a9cc6b28
Fix for EA-64905 - assert: TypeUtils.intersect
2015-05-19 17:15:02 +03:00
Mikhail Glukhikh
0d7f649cc2
Implementation of exhaustive whens in control flow analysis.
...
Now control flow analyzer knows when is exhaustive.
If despite of this all conditions are accidentally false, jump to error is generated.
A set of tests (diagnostic, control flow). #KT-5113 Fixed. #KT-6046 Fixed. #KT-1882 Fixed.
2015-05-18 19:44:29 +03:00
Mikhail Glukhikh
c4aa6d01a9
Exhaustive when on boolean argument. A set of tests.
...
Compile-time constants are taken into account. #KT-3743 Fixed.
2015-05-18 19:44:22 +03:00
Michael Bogdanov
58183731f5
Test for obsolete KT-5448: VerifyError with mismatched stack types
...
#KT-5448 Obsolete
2015-05-18 15:28:58 +03:00
Michael Bogdanov
5cb9671803
Support inlining in scripts and outer expression capturing
...
#KT-7744 Fixed
2015-05-18 14:47:57 +03:00
Michael Bogdanov
226350b4ba
Test data fixed: replace trait with interface
2015-05-18 11:57:39 +03:00
Pavel V. Talanov
119ffd2347
Minor: replace obsolete trait keyword in newly added test
2015-05-17 18:24:50 +03:00
Ilya Gorbunov
f18b9caa8d
JS: Provide MIN_VALUE and MAX_VALUE member constants for Int, Long, Short and Byte companion objects.
...
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Int, Long, Short and Byte companion objects.
2015-05-17 17:26:25 +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
Dmitry Jemerov
dc9523016a
report 'trait' keyword as deprecated, provide quickfix for replacing with 'interface'
2015-05-15 18:20:39 +02:00
Michael Nedzelsky
3dce96e01c
JS: add tests for two libraries and js-file with two modules
2015-05-15 18:50:01 +03:00
Michael Bogdanov
5daf79d2de
Tests for obsolete KT-5232: vfy error with default parameter in method of trait
...
#KT-5232 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov
f1eb68c55a
Test for obsolete KT-3579: UsupportedOperationException while trying to compile recursive trait
...
#KT-3579 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov
eb8d2d695c
Test for non-general case of KT-4174
2015-05-15 18:06:51 +03:00
Michael Bogdanov
576ead2afe
Test for obsolete KT-3698: Static fields of primitive types and String must be compile-time constants
...
#KT-3698 Obsolete
2015-05-15 18:06:51 +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
147bca3d22
Enum deprecated syntax detection implemented and integrated into DeclarationsChecker.
...
A lot of tests was changed to refactor deprecated syntax. Six new tests were added to check deprecated syntax detection.
Diagnostic for "enum entry uses deprecated super constructor": constructor is highlighted
Diagnostic for "enum entry uses deprecated or no delimiter".
One warning removed.
2015-05-15 16:13:34 +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
Evgeny Gerashchenko
0498bd7739
KT-7587 Overloads are not generated during partial compilation of package
...
#KT-7587 fixed
2015-05-14 21:51:08 +03:00
Alexander Udalov
2fe05c6f11
Parse and resolve annotations on supertypes
2015-05-14 18:58:08 +03:00
Michael Bogdanov
99cad4b43f
Support default method invocation via super
...
#KT-5970 Fixed
2015-05-13 14:52:18 +03:00
Michael Bogdanov
3fbdf05921
Added some new test for java8
2015-05-13 14:52:18 +03:00
Dmitry Jemerov
4bdf598bfe
compiler testdata: s/trait/interface
2015-05-12 19:43:17 +02:00
Dmitry Jemerov
9975bb8935
replace 'trait' keyword with 'interface' in user-visible messages and code generation tools
2015-05-12 11:49:37 +02:00
Michael Bogdanov
d6964525b2
Fix for KT-7490: Bad bytecode generated by delegates and lambdas
...
#KT-7490 Fixed
2015-05-12 12:06:11 +03:00
Alexey Sedunov
c4e20b5cc1
Control-Flow: Generate mark instruction before the call/unresolved call instruction
...
#KT-7663 In Progress
2015-05-11 20:57:56 +03:00
Yan Zhulanow
dbc0099e6e
Fix usage printing for compiler plugins
2015-05-08 18:19:25 +03:00
Yan Zhulanow
514bc74e9c
Support android.support.v4.Fragment classes
2015-05-08 18:19:22 +03:00
Denis Zharkov
93861e16c8
Prohibit non-constant default values for annotation parameter
...
#KT-7449 Fixed
2015-05-07 22:36:17 +03: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
849b8acbf8
Replace annotations with brackets in testData
...
Just in tests that changed after deprecation
2015-05-07 22:36:16 +03:00
Denis Zharkov
5bc7c9600f
Deprecate annotations in brackets
2015-05-07 22:36:16 +03:00
Denis Zharkov
1d77f50903
Refine highlighting of '@'
...
- Do not highlight '@' as separate token.
- Highlight '@' the same way as element where it's located: annotation, label or modifier.
- Extend text range when positioning unresolved reference in annotation with '@'.
Note that currently '@' is collapsed with modifiers tokens
2015-05-07 22:36:16 +03:00
Denis Zharkov
b924f35ed3
Resolve annotations on multi-declaration for parameter
2015-05-07 22:36:16 +03:00
Denis Zharkov
3d810ffe61
Parse modifier list of multi-declaration and for parameters
2015-05-07 22:36:16 +03:00
Denis Zharkov
9e23698fe3
Unwrap annotated expression in deparenthesize
...
It's needed to complete resolved call with annotated function literal
2015-05-07 22:36:15 +03:00
Denis Zharkov
9101505eca
Rework deparenthesize-like methods
...
- Extract private `deparenthesizeOnce` and repeat it until get the same expression
- Drop redundant parameter `deparenthesizeRecursively`
- Drop some usages of `safeDeparenthesize` in `deparenthesize`
because even if `deparenthesize` returns null (i.e. something was not parsed)
there is no sense in working with such expressions
Note, that `deparenthesize` now unwraps nested labels' declaration (see changes in testData),
but it seems to be reasonable
2015-05-07 22:36:15 +03:00
Denis Zharkov
b72a3de86e
Parse annotations on lambda-argument
2015-05-07 22:36:15 +03:00
Denis Zharkov
c5af4b42b4
Extract common logic for annotation entries collection
...
Before this change annotation entries starting with '@' within expressions hadn't been resolved
Note that order of annotation entries in result may change according to order of children in PSI (see changed testData)
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
Natalia Ukhorskaya
9108d87a57
Add warning for division by zero:
...
#KT-5529 fixed
2015-05-07 15:41:37 +03:00