Commit Graph

22193 Commits

Author SHA1 Message Date
Denis Zharkov e2cd983d49 Add quickfix for replacing deprecated annotations 2015-05-07 22:36:17 +03:00
Denis Zharkov e59a0dd0c6 Adjust KotlinSuppressIntentionAction to syntax with '@' 2015-05-07 22:36:16 +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 aa7bae213d Introduce ++ operator into grammar 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 e236d04957 Minor, drop unused method createConstructorModifierList 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
Denis Zharkov 3528762e2d Minor, drop constant parameters and rename method 2015-05-07 22:36:15 +03:00
Denis Zharkov 5ce1fc6fbb Minor, rename AnnotationParsingMode's entries 2015-05-07 22:36:15 +03:00
Nikolay Krasko 0fa93d59c5 Get context for partial resolve if we have result for full analyze already 2015-05-07 20:14:12 +03:00
Natalia Ukhorskaya 9108d87a57 Add warning for division by zero:
#KT-5529 fixed
2015-05-07 15:41:37 +03:00
Nikolay Krasko cb9c28e73f Update to Idea 141.914.3 EAP 2015-05-07 15:12:02 +03:00
Natalia Ukhorskaya 16b17b9e94 Minor: rename 2015-05-07 13:23:59 +03:00
Natalia Ukhorskaya d7a301d698 Evaluate Expression: support local functions 2015-05-07 13:23:15 +03:00
Natalia Ukhorskaya 8c99183970 Write local functions to localVariables table 2015-05-07 13:23:03 +03:00
Natalia Ukhorskaya 35f9cb5405 Extract function: capture only local functions, not from local declarations 2015-05-07 13:22:10 +03:00
Natalia Ukhorskaya 35bacb4ac7 Refactoring: extract FrameVisitor class 2015-05-07 13:22:08 +03:00
Natalia Ukhorskaya 4848af5ef6 Minor: fix warnings 2015-05-07 13:22:06 +03:00
Alexey Tsvetkov 68603d188b JS: ExpressionDecomposer should always visit JsInvocation qualifier 2015-05-06 18:19:21 +03:00
Alexey Tsvetkov 8db104ef36 JS: decomposition should preserve 'this' context with invocations
#KT-7502 fixed
2015-05-06 18:19:21 +03:00
Nikolay Krasko 2d8dcaddd0 Compile modules with circular dependency as one module 2015-05-06 14:19:20 +03:00
Nikolay Krasko 3b18a44340 Allow to use Kotlin reflection in all modules with Kotlin 2015-05-06 14:18:27 +03:00
Nikolay Krasko 9d986d077c Move kotlin runtime library to end of classpath and remove duplicates with 'util' package 2015-05-06 14:18:24 +03:00
Nikolay Krasko 62a8174072 Fix compatibility issue 2015-05-05 16:43:24 +03:00
Michael Bogdanov 49f063522c Inline util functions renaming 2015-05-05 12:47:57 +03:00
Michael Bogdanov fe23f23664 Support inlined functional expressions in debugger 2015-05-05 12:47:56 +03:00
Michael Bogdanov e0aa64b8d2 Support functional expression in non-local returns 2015-05-05 12:47:56 +03:00
Valentin Kipyatkov 3a6e5ac78c Corrected test data 2015-05-02 14:03:26 +03:00
Valentin Kipyatkov 73f764abd0 Minor changes on code review 2015-05-02 14:03:26 +03:00
Valentin Kipyatkov d1afff1612 Renamed intention 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 2de466970d ReplaceWithInfixFunctionCallIntention - refactored 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 9dd67cfc4d InfixCallToOrdinaryIntention - smaller range + minor code improvements 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 1b7ac6bb02 Renamed intention to more clear name 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 7d6145e105 J2K converter applies IfNullToElvisIntention automatically 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 38f735dcac IfNullToElvisIntention - better behavior for var's + slightly refactored utility functions 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov 186dd5454d Added inspection based on IfNullToElvisIntention + moved intention based inspections into one file 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov 8d887f8780 In progress: KT-7442 Inspection + intention to replace "if (xxx == null) return ..' with elvis 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov c52f69538d Fixed test data 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov 1daf12cf70 ReplaceItWithExplicitFunctionLiteralParamIntention - better caret position 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov 01a8ff0860 Refactored ReplaceItWithExplicitFunctionLiteralParamIntention 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov c7937f181b Refactored ReplaceExplicitFunctionLiteralParamWithItIntention 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov 65d59467a8 Renamed intention 2015-05-02 14:03:23 +03:00