Commit Graph

47852 Commits

Author SHA1 Message Date
Mikhael Bogdanov 6d915bd68c Use original descriptors on implicit coercion to unit generation 2018-08-15 10:26:03 +03:00
victor.petukhov e01e832acd Add gradle task to print spec tests statistic by spec sections 2018-08-14 17:34:38 +03:00
victor.petukhov 93874de89b Add 'specTest' gradle task to run spec tests 2018-08-14 17:34:27 +03:00
victor.petukhov bed4c5f2f0 Add diagnostic spec tests for 'When expression' section 2018-08-14 17:34:15 +03:00
victor.petukhov 90f22d47b6 Fix incorrect severity for some diagnostics of DebugInfoDiagnosticFactory 2018-08-14 17:34:04 +03:00
victor.petukhov 0a58898817 Add diagnostic spec tests generator and validator, helper functions and classes 2018-08-14 17:33:54 +03:00
victor.petukhov e989cf2bf4 Add tests-spec module with basic gradle configuration 2018-08-14 17:33:41 +03:00
Alexey Tsvetkov b6575b0c57 Do not turn off IC in gradle.properties
It is turned off for teamcity in build.gradle.kts
2018-08-14 16:30:23 +03:00
Toshiaki Kameyama 08cfe1acfd "Convert lambda to reference": fix false positive for vararg function
#KT-16422 Fixed
2018-08-14 15:48:37 +03:00
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