Commit Graph

5124 Commits

Author SHA1 Message Date
Mikhail Glukhikh 35d104782e Minor: primary constructor to secondary: do not specify independent property type explicitly 2016-10-25 17:57:25 +03:00
Mikhail Glukhikh a74f010e0f Primary constructor to secondary: always try to build constructor body #KT-14475 Fixed 2016-10-25 17:57:21 +03:00
Mikhail Glukhikh d6eee65d72 Object literal to lambda: more precise shorten references #KT-14289 Fixed 2016-10-25 17:57:17 +03:00
Mikhail Glukhikh dc76f2a62f Lambda to reference: check potential reference arguments by descriptors and not by names #KT-14420 Fixed 2016-10-25 17:57:13 +03:00
Mikhail Glukhikh 97b45569fc Lambda to reference: not-null types are now preferred for platform type receivers #KT-14394 Fixed 2016-10-25 17:57:09 +03:00
Mikhail Glukhikh a901de5112 KT-14084 related : replaceFirstReceiver now replaces ALL calls to safe calls if necessary
Fixes relevant "replace let" and "if to elvis" cases
2016-10-25 17:57:06 +03:00
Mikhail Glukhikh 2117b30b76 If expression to elvis now handles call chains #KT-14084 Fixed 2016-10-25 17:57:02 +03:00
Alexander Udalov 035d6156a7 Drop Cloneable in JS, synthesize it at compile-time on JVM
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays

 #KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Nikolay Krasko cdabef51ed Add nullability to receiver type 2016-10-25 13:30:38 +03:00
Nikolay Krasko 22999fe67d Set hasValueArguments in KotlinAnnotationEntryStub to 'true' only if some arguments exist
Currently '()' is used for resolving ambiguity in parsing when annotating function types. This way a decompiled code
will need brackets, but compile code will have annotation without parameters. This commit will allow to make both stub-trees consistent.

Tested in ClsStubBuilderTestGenerated.testAnnotationsOnNullableTypes()
2016-10-25 13:30:37 +03:00
Nikolay Krasko a344ad0644 Fix absence of annotation for function type in cls stubs and ignore @ExtensionFunctionType 2016-10-25 13:30:35 +03:00
Nikolay Krasko d1dfcfaca1 Fix stub-psi mismatch exception on restoring annotation for nullable types
(cherry picked from commit 1aa37f11258dde289a9f7cb700294a038168fbdc)

Conflicts:
	compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt
	idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt
2016-10-25 13:22:53 +03:00
Mikhail Glukhikh e53940f4af KT-8442 related: correct handling of erroneous destructuring references, fixes EA-90434 2016-10-25 13:13:15 +03:00
Valentin Kipyatkov 18f10860df KT-14336 for to stdlib to takeWhile: propose conversion into takeWhile if break is located in else branch
#KT-14336 Fixed
2016-10-24 18:32:05 +03:00
Valentin Kipyatkov 5c8db294df Fixed index variable case 2016-10-24 18:32:05 +03:00
Valentin Kipyatkov e5fcfae969 KT-13998 Loop to call chain converter produces 'none' instead of 'all'
#KT-13998 Fixed
2016-10-24 18:32:04 +03:00
Valentin Kipyatkov 89099b93b1 Split or glue together checks for not null and is instance + more intelligent use of filter vs filterTo
#KT-14284 Fixed
 #KT-14286 Fixed
 #KT-14287 Fixed
 #KT-14303 Fixed
2016-10-24 18:32:04 +03:00
Valentin Kipyatkov 53220b980e More correct checking of forEach requiring asSequence() 2016-10-24 18:32:04 +03:00
Valentin Kipyatkov a87ca8432e KT-14341 for to stdlib to forEach: if the loop variable is not used in the last/innerest statement the conversion is not proposed
#KT-14341 Fixed
2016-10-24 18:32:03 +03:00
Valentin Kipyatkov 5ca7688b7c Correct handling of explicit variable type 2016-10-24 18:32:03 +03:00
Valentin Kipyatkov 9326dfa048 Honor errors in code before when checking smart casts 2016-10-24 18:32:03 +03:00
Valentin Kipyatkov eae23b548f KT-14294 for to stdlib to firstOrNull/lastOrNull: intention is absent if there is additional var before for loop
#KT-14294 Fixed
2016-10-24 18:32:03 +03:00
Valentin Kipyatkov a89ef54578 KT-14210 for loop to stdlib: max/min is not recognized if there is additional if
#KT-14210 Fixed
2016-10-24 18:32:02 +03:00
Valentin Kipyatkov 35ed689b9f any() and other find operations to work with checks for not null and is instance 2016-10-24 18:32:02 +03:00
Valentin Kipyatkov b28d016709 count() to merge with filterNotNull and filterIsInstance + changed test for KT-14191 to use sum() 2016-10-24 18:32:02 +03:00
Valentin Kipyatkov afd25548a2 KT-14209 for loop to stdlib: sum is not recognized if before was check for type
#KT-14209 Fixed
2016-10-24 18:32:01 +03:00
Valentin Kipyatkov f5d4b1dc8d KT-14191 FormattingModelInconsistencyException Exception on applying intention Replace with count()
#KT-14191 Fixed
2016-10-24 18:32:01 +03:00
Nikolay Krasko 8865c0be34 Step into functions with local variable on first line under "Skip simple getters" (KT-14488)
(cherry picked from commit 9423d65)

 #KT-14488 Fixed
2016-10-24 16:28:17 +03:00
Alexander Udalov 2076a31094 Improve Collection/Array/String detection logic in intentions
Use static methods from KotlinBuiltIns and check all supertypes, support cases
of Collection, Map and CharSequence
2016-10-24 15:30:39 +03:00
Mikhail Glukhikh 44d10672be KT-7929 related: KtDestructuringDeclarationEntry is not resolved to descriptor in OverridingDeprecatedMemberInspection 2016-10-24 15:17:56 +03:00
Mikhail Glukhikh 6b9252a5d3 KT-7929 related: incorrect KtDestructuringDeclarationEntry is not resolved to descriptor, fixes EA-76715 2016-10-24 15:17:52 +03:00
Mikhail Glukhikh 1c8a2bb4cc No more attempts to resolve KtDestructuringDeclaration to descriptor #KT-7929 Fixed
Also #KT-8442 Fixed
2016-10-24 15:17:48 +03:00
Denis Zharkov 7d89869c02 Do not suggest "Remove parameter" quick-fix on lambdas
Only "Rename to _" should work in the case.

The problem is that removing lambda's parameter may lead behaviour changes.
This quick-fix was not being invoked run before KT-14347 had been implemented

# Conflicts:
#	idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java
2016-10-24 10:19:25 +03:00
Denis Zharkov 5e1b219784 Implement quick-fix replacing parameter name with _
This quick-fix is registered for UNUSED_* diagnostic in places
where it can be applied (destructured declarations/lambda parameters)

 #KT-14431 Fixed
2016-10-24 10:19:25 +03:00
Denis Zharkov 4c69416f2b Report warning on unused entities that can be renamed to _
Currently it's all about lambda parameters/destructuring entries

 #KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Denis Zharkov a9fcee098d Support single-underscore named variables in JVM backend
There are mainly two kind of changes:
- skipping 'componentX' calls for destructuring entries named _
- fixing local variable table for them
 - skip entries for destructuring entries named _
 - use $noName_<i> format for lambda parameters named _

 #KT-3824 Fixed
 #KT-2783 Fixed
2016-10-24 10:19:25 +03:00
Nikolay Krasko 355dca2a97 Add toString for KotlinStubBaseImpl
Try to simplify "Stub and PSI element type mismatch" exception analyze.

(cherry picked from commit 11aa71e)
2016-10-21 00:18:27 +03:00
Dmitry Neverov 3cc3ad2b9e Fix spaces in labeled expression (KT-14131)
https://github.com/JetBrains/kotlin/pull/978

(cherry picked from commit fdd5ba7)
2016-10-20 19:22:00 +03:00
Dmitry Jemerov f933cf5395 Specify test framework to use explicitly in generate test tests 2016-10-19 17:04:42 +02:00
Alexey Sedunov 8c3fcf69f2 Convert Receiver to Parameter Intention: Update function descriptor after template is finished (otherwise some references may be processed incorrectly) 2016-10-18 16:48:09 +03:00
Nikolay Krasko 74f0bb3d4e Remove mentioning KT-11395 from the wrong test
(cherry picked from commit c4fb0e9)

 #KT-11395 Open
2016-10-18 15:41:18 +03:00
Dmitry Neverov c3c5805a5f Fix indent in constructor delegate call (KT-7718)
(cherry picked from commit 5699b14)

 #KT-7718 Fixed
2016-10-18 14:01:51 +03:00
Nikolay Krasko 6a72cebe88 Add indent before colon of super types list on new line (KT-13981, KT-5117)
#KT-13981 Fixed
 #KT-5117 Fixed

(cherry picked from commit dfea3af)
2016-10-17 15:16:48 +03:00
Nikolay Krasko 944b9b5b6c Evaluate overloaded toString() in watches for Kotlin classes with delegate properties (KT-14068)
(cherry picked from commit 7774d2c)

 #KT-14068 Fixed
2016-10-17 15:16:46 +03:00
shiraji a1f1716044 Add inspection/intention for redundant calls of conversion methods #KT-10871 Fixed
Also #KT-12625 Fixed
2016-10-17 12:05:18 +03:00
Nikolay Krasko 8c2e61604e Test for "Debugger: "Step over" dives into recursive call" (KT-12924)
Fixed in 7992df7b93

(cherry picked from commit 78e2f05)

 #KT-12924 Fixed
2016-10-14 21:06:27 +03:00
Nikolay Krasko 06b72e608e Do an ordinal step over while stepping over inlined calls in dex
(cherry picked from commit d741895)
2016-10-14 18:57:38 +03:00
Kirill Rakhman 09d6e2e0c0 Add quick-fixes for lateinit-related errors #KT-14342 Fixed 2016-10-14 16:14:00 +03:00
Nikolay Krasko fe901e9516 Use Dex suffix instead of dex prefix for better test sorting
(cherry picked from commit 7f3a9c1)
2016-10-14 14:52:56 +03:00
Nikolay Krasko 7510ff4864 Check current behaviour of stepping over inline 'hasNext' and 'next' in for
(cherry picked from commit 008e574)

 #KT-14296 Open
2016-10-14 14:52:44 +03:00