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
Sergey Igushkin
5815d6a70c
Implement language settings API for Kotlin source sets
2018-08-11 23:16:03 +03:00
Sergey Igushkin
2c04e2b95c
Fix: create a compilation's default source set for Android as well
2018-08-11 23:16:03 +03:00
Anton Bannykh
a2f44c3caf
JS: Recreate Nashorn script engine occasionally
...
Otherwise execution slows down significantly.
2018-08-10 22:15:37 +03:00
Vyacheslav Gerasimov
90e0ab022a
as33: Set correct intellij-core version for AS 3.3
2018-08-10 20:02:21 +03:00
Alexander Udalov
f663b8f554
Fix kotlin-maven-plugin compilation
2018-08-10 18:34:40 +02:00
Alexander Udalov
76214930da
Update generic signatures in codegen test data
...
The implementation of toString for generic types in Java reflection has
been changed in 8u162 (https://bugs.openjdk.java.net/browse/JDK-8054213 )
2018-08-10 18:20:05 +02:00
Nikolay Krasko
9071b5cfa8
Enable reformat for the whole file for the reformat inspection
2018-08-10 18:45:32 +03:00
Nikolay Krasko
563b2f13a3
Better notification logic and explicit code style apply (KT-23400)
2018-08-10 18:45:30 +03:00