Commit Graph

47843 Commits

Author SHA1 Message Date
Toshiaki Kameyama 28aa0763a9 "Convert to run / with": don't suggest on java static method call
#KT-25739 Fixed
2018-08-14 15:40:46 +03:00
Toshiaki Kameyama 0a5aa2b60c "Convert lambda to reference": fix case with extension 'this'
#KT-21999 Fixed
2018-08-14 15:39:26 +03:00
Toshiaki Kameyama 2bf3b435f2 Redundant semicolon: fix false positive between modifier and declaration
#KT-25579 Fixed
2018-08-14 15:32:26 +03:00
Toshiaki Kameyama 1898df3fb7 Introduce "Convert property getter to initializer" intention
#KT-13854 Fixed
2018-08-14 15:32:20 +03:00
Toshiaki Kameyama 6fbf6b0a93 "Let type implement interface": don't suggest same type #KT-25928 Fixed 2018-08-14 15:32:17 +03:00
Toshiaki Kameyama 2d2f1125a9 "Remove redundant let": fix destructuring declaration false positive
#KT-26042 Fixed
2018-08-14 15:32:10 +03:00
Toshiaki Kameyama 7e8521d9dc Remove redundant let in "Safe access to if-then" #KT-13515 Fixed 2018-08-14 14:11:15 +03:00
kenji tomita 443b1834bc Add "Replace assertBoolean() with assertEquals() inspection"
#KT-23445 Fixed
2018-08-14 14:11:14 +03:00
Nicolay Mitropolsky e92d3998de KotlinLanguageInjectionSupport: remove calling replaceInjectionsWithUndo on removing of in-place injection 2018-08-14 13:10:38 +03:00
Nicolay Mitropolsky cd047b9605 Uast: KotlinUAnnotation.uastAnchor uses nameReferenceElement as javaPsi
because `nameReferenceElement` is not-null in LightAnnotations, but `referenceNameElement` violates `javaPsi` contract
2018-08-14 13:08:38 +03:00
Vyacheslav Gerasimov 9a441b9c8d Make DocumentAdapter.documentChanged overrides compatible with 183 platform 2018-08-14 12:48:26 +03:00
Denis Zharkov 9f3a902ff3 Take into account refined applicability of dsl-marker in IDE
After the previous change, when being applied to a function type
with receiver it's assumed to work just as it's applied to receiver type

Thus, it's necessary to fix relevant IDE features relied on DSL markers

 #KT-23255 Fixed
2018-08-14 15:58:18 +07:00
Denis Zharkov 117abb04aa Fix applicability of dsl-marker on function type
When marker is applied to function type it should work
like it's applied to receiver type

 #KT-23255 Fixed
2018-08-14 15:58:18 +07:00
Denis Zharkov 99fe6de52a Avoid storing ContractProviderKey in user data of every function
Whenever the key is absent it means that for some reason
contract can't be defined there.

But we still want to check them properly, thus checkContractAndRecordIfPresent
should work even if contract is inapplicable here
(no ContractProviderKey in owner's user data)
2018-08-14 15:58:18 +07:00
Georgy Bronnikov 1f7776981d Introduce correspondingProperty to IrField 2018-08-14 10:36:56 +03:00
Dmitry Petrov ebf8ec455d Box/unbox nullable inline class values with null check
When we have a nullable inline class value with non-null underlying
type, corresponding value in unboxed representation is nullable. E.g.:

  inline class Str(val value: String)

  fun test(s: Str?) = listOf(s)

Here 'test(s: Str?)' accepts nullable 'java.lang.String' as a parameter.

When boxing/unboxing nullable values of such inline classes, take care
of nulls.

 #KT-26052 Fixed Target versions 1.3-M2
2018-08-14 10:22:07 +03:00
Dmitry Petrov 56ad091534 Generate synthetic inline class methods in psi2ir 2018-08-14 10:00:21 +03:00
Dmitry Petrov de11d9164d Add IrClass.irInline 2018-08-14 10:00:21 +03:00
Nicolay Mitropolsky 9db2b6ffba KtLightPsiJavaCodeReferenceElement reference getting made lazy (KT-26036, EA-125884)
Collecting references from contributors could be expensive and even recursive (EA-125884)
2018-08-13 19:26:07 +03:00
Nicolay Mitropolsky 2ba2d360c2 KtLightPsiJavaCodeReferenceElement delegate made nullable (KT-26036, EA-124029) 2018-08-13 19:26:06 +03:00
Mikhail Glukhikh 84c035c763 For each parameter not used: use same context scope everywhere 2018-08-13 19:03:38 +03:00
Mikhail Glukhikh bc102bf0c6 MPP new model: temporarily solution for commonTest type identification
Now if source set is not included into any compilation target,
then it is counted as test source set iff "Test" is in name
So #KT-26076 Fixed
2018-08-13 19:03:36 +03:00
Mikhail Glukhikh a7b51070a7 MPP: find modules for expect / actual: filter non-new MPP modules 2018-08-13 19:03:35 +03:00
Alexey Sedunov 36da80bdf5 MPP: Use only explicitly specified source set dependencies
#KT-25985 Fixed
2018-08-13 19:03:06 +03:00
Alexey Sedunov 543934762e MPP: Implement transitive import of dependencies between source sets 2018-08-13 19:03:05 +03:00
Alexey Sedunov 49b5695664 MPP: Use new MPP model to find modules for 'expect'/'actual'
#KT-25955 Fixed
2018-08-13 19:03:03 +03:00
Mikhail Glukhikh 88ac04001d For each parameter unused: minor optimization / simplification
Related to KT-22068
2018-08-13 19:03:02 +03:00
Mikhail Glukhikh 911f16845e For each parameter unused: add quick-fix "introduce anonymous parameter"
Related to KT-22068
2018-08-13 19:03:01 +03:00
Mikhail Glukhikh af17a4e961 For each parameter unused: do not report with explicit parameter
In this case we are duplicating compiler warning.
Related to KT-22068
2018-08-13 19:03:00 +03:00
Mikhail Glukhikh 6048647812 For each parameter unused: support correctly it() case
Related to KT-22068
2018-08-13 19:02:58 +03:00
Mikhail Glukhikh 0757533558 "ForEach parameter unused": minor simplification
Related to KT-22068
2018-08-13 19:02:57 +03:00
Dennis Cornwell f3b0378918 "ForEach parameter unused": don't report destructured parameters
Related to KT-22068
2018-08-13 19:02:56 +03:00
Mikhail Glukhikh c0c00c8c4e Downgrade "forEach parameter unused" to WEAK WARNING
Related to KT-22068
2018-08-13 19:02:55 +03:00
Dennis Cornwell e81eee4cc1 Introduce inspection for determining if a forEach parameter is unused
#KT-22068 Fixed
2018-08-13 19:02:53 +03:00
Mikhail Glukhikh c3b2d1829f Apply "call chain -> sequence" to idea module 2018-08-13 19:02:51 +03:00
Nicolay Mitropolsky 7f49b78e5f 183: MavenImportingTestCase: no more runs for Maven2
because IDEA gets rid of maven2-tests
2018-08-13 16:24:08 +03:00
Alexey Tsvetkov 696b05eb6e Turn off JS IC for Kotlin build
See KT-26064
2018-08-13 16:17:22 +03:00
Mikhael Bogdanov ff3278828e Minor. Code clean 2018-08-13 15:10:21 +03:00
Mikhael Bogdanov cb31962b38 Generate old style lambda classes in jvm ir backend 2018-08-13 15:10:20 +03:00
Mikhael Bogdanov 08038d6de9 Convert object literals to classes inside JvmBackendContext 2018-08-13 15:10:18 +03:00
Vyacheslav Gerasimov 2e624f771b 183: Fix MavenImportingTestCase (MavenServerManager.setUseMaven2 signature has changed) 2018-08-13 13:42:29 +03:00
Vyacheslav Gerasimov d8d0e117cd as33: Set intellijEnforceCommunitySdk in gradle.properties 2018-08-13 12:54:16 +03:00
Vyacheslav Gerasimov 53af68983f as33: Delete AbstractJavaToKotlinConverterForWebDemoTest.kt.as33 2018-08-13 12:52:53 +03:00
Alexander Udalov ac0f5548aa Only check language version in MemberDeserializer.loadAsSuspend
This is still not 100% foolproof because one may place such a
requirement manually on a suspend function (with `@RequireKotlin`, for
example), which will trick the compiler into thinking that this is a new
suspend function, even if it was compiled with old coroutines. But it's
still better than only checking the version number
2018-08-13 11:02:36 +02:00
Alexander Udalov c011bf61fe Support multiple version requirements on single element 2018-08-13 11:02:35 +02:00
Dmitry Petrov b7df36643b Implement additional declaration checks for inline classes
- Implementation by delegation is prohibited
- Delegated properties are prohibited
2018-08-13 08:49:09 +03:00
Dmitry Petrov 0af33462ef Fix code generation for Array<C> element access where C is inline class 2018-08-13 08:49:04 +03:00
Denis Zharkov 8063db5f80 Fix RemoteException that happens in JPS with compiler daemon
Recently, the container for "lookups" has changed to THashSet
And it lead to exception:
java.io.InvalidClassException: gnu.trove.THashSet;
local class incompatible: stream classdesc
serialVersionUID = -8659895033752433145,
local class serialVersionUID = -1699000958968314003

The reasons for different versions of THashSet are unknown
(though likely related to a slightly different classpathes),
but the fix is rather straight-forward

 #KT-26011 Fixed
2018-08-13 10:15:09 +07:00
Vyacheslav Gerasimov 0d2b888bdd Make KotlinFormattingSettingsStatusAction compatible with 183 platform 2018-08-12 13:15:12 +03:00
Sergey Igushkin 456edf3bbd Fix NPE due to classpath delegate change 2018-08-11 23:16:04 +03:00