Commit Graph

68865 Commits

Author SHA1 Message Date
Dmitriy Novozhilov bf4bf30b4a Move CompanionObjectMapping to :core:compiler.common 2020-09-04 11:07:40 +03:00
Dmitriy Novozhilov 0e04af463d Move JvmTypeSpecificityComparator to :compiler:resolution.common.jvm 2020-09-04 11:07:40 +03:00
Dmitriy Novozhilov 564d382b9d Introduce new modules for common jvm related parts of compiler 2020-09-04 11:07:40 +03:00
Dmitry Petrov dd016b759e JVM_IR: write raw types as raw in JVM generic signatures 2020-09-04 10:21:49 +03:00
Dmitry Petrov 475522f938 Represent raw types in IR using a special type annotation 2020-09-04 10:21:48 +03:00
Dmitry Petrov 714ab7c37f Handle java raw types in IR
Raw type Q is represented as a flexible type
  Q<B1, ... Bn> .. Q<*, ... *>
where Bi is a representative upper bound of the corresponding ith type
parameter of Q.
When mapping generic signature, JVM takes type arguments of lower bound
(which is 'Q<B1, ..., Bn>').

There is still some difference in how JVM and JVM_IR handle raw type in
signature. It requires additional investigation.
2020-09-04 10:21:48 +03:00
Toshiaki Kameyama 8420c0b7c7 Add "Redundant nullable return type" inspection
^KT-19321 Fixed
2020-09-04 09:07:22 +02:00
Toshiaki Kameyama d703284d01 Naming convention inspection: don't report for factory functions
#KT-20438 Fixed
2020-09-03 22:25:06 +02:00
Vladimir Dolzhenko 4f4db68a61 I18N fixes after merging convert initialized val to non-null type inspection
Relates to ^KT-35757
2020-09-03 22:01:11 +02:00
Vladimir Dolzhenko eb3bde1538 Amend test data after adding Convert assignment to assignment expression intention
Relates to #KT-22420
2020-09-03 21:38:46 +02:00
Dmitriy Dolovov 8a7f33f044 [Commonizer] Fix internal error when TAs have different expanded classes
^KT-41643
2020-09-04 01:19:41 +07:00
Vladimir Dolzhenko d4ef85f6c2 Amend test data after adding Convert assignment to assignment expression intention
Relates to #KT-22420
2020-09-03 18:04:55 +02:00
Mark Punzalan 16ab11289c [JS_IR] Enable RangeContainsLowering optimizations. 2020-09-03 18:42:35 +03:00
Ilya Goncharov 88755a8d20 [Gradle, JS] Use npm project dir as executable
^KT-40812 fixed
2020-09-03 18:31:56 +03:00
Toshiaki Kameyama 6db0785615 Wrap with let: apply to unsafe qualified expression
#KT-18125 Fixed
2020-09-03 17:04:06 +02:00
kvirolainen 18fbf5729d Inspection: convert initialized val to non-null type
^KT-35757 Fixed
2020-09-03 16:30:28 +02:00
Pavel Kirpichenkov 8b28e54584 [FIR-IDE] Update tests 2020-09-03 16:44:57 +03:00
Pavel Kirpichenkov 177fcefa68 [FIR-IDE] Minor: refactor completion contributor 2020-09-03 16:44:41 +03:00
Enteerman c3aeaa9052 Inspection: Simplify Nested forEach/onEach in also/apply to onEach
^KT-40283 Fixed
2020-09-03 15:29:32 +02:00
Victor Petukhov 85d99612a2 Don't create inconsistent types (with contradictive use site and declaration site variances) for star projections with corresponding contravariant type parameters during substitution
^KT-41388 Fixed
2020-09-03 16:24:28 +03:00
Dereck Bridie 94970e2d1e Intention to replace a = b with b.also { a = it }
^KT-22420 Fixed
2020-09-03 15:11:36 +02:00
Vladimir Dolzhenko e387d56d93 Drop redundant synchronized from LibraryEffectiveKindProviderImpl
effectiveKindMap is SoftFactoryMap that wraps CHM

^KT-41634 Fixed
2020-09-03 12:25:38 +00:00
Enterman d09b20f11d Inspection to replace !string.isBlank() with string.isNotBlank()
#KT-40769 Fixed
2020-09-03 14:20:35 +02:00
vldf f9a2d01d57 [FIR] Add UselessCallOnNotNullChecker 2020-09-03 14:28:57 +03:00
Mikhail Glukhikh 548adc29d0 [FIR] Enter loops in resolve using independent context 2020-09-03 14:24:31 +03:00
Mikhail Glukhikh a7da0d5080 [FIR] Approximate exotic return types for public declarations 2020-09-03 14:24:31 +03:00
Jinseong Jeon bf918e6184 FIR: hide local types if needed 2020-09-03 14:24:31 +03:00
Mikhail Glukhikh 9e38e6d051 [FIR2IR] Intercept exceptions in convertToIrCall to provide more info 2020-09-03 14:24:31 +03:00
Mikhail Glukhikh 23e83e8933 FirClassSubstitutionScope: don't recreate type parameters for unbound f/o 2020-09-03 14:24:30 +03:00
Jinseong Jeon e8157a5488 FIR: introduce & use various comparators to sort members while de/serialization
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
cketti 91c021c699 Add support for mixed named arguments to parameter info popup
Don't display parameter info in square brackets if the caller doesn't
have to use a named argument. This makes the parameter info popup
reflect the new capability introduced with
MixedNamedArgumentsInTheirOwnPosition.

^KT-41645 Fixed
2020-09-03 12:30:27 +02:00
n-p-s af6e744b65 Allow generate toString(), equals(), and hashCode() to include non-default accessors
^KT-15262 Fixed
2020-09-03 12:12:33 +02:00
KotlinIsland 3bf18343f5 Build: Upgrade gradle to 6.6.1
[We recommend that you use Gradle 6.6.1 over the initial release of Gradle 6.6](https://github.com/gradle/gradle/releases/tag/v6.6.1)
2020-09-03 10:50:22 +02:00
Roman Artemev 685b74769d [JVM IR] Fix lineNumber passing into CoroutineTransformer.
- Get it from `IrFile` & `IrElement.startOffset` instead of descriptor
 - Unmute stepping tests
2020-09-03 11:37:24 +03:00
Alexander Udalov 5aca8ebda8 Minor, add test case on metadata of lambdas in constructors
KT-41465
2020-09-02 20:04:05 +02:00
pyos 6b65a2ea7d JVM_IR: move classes out of lambdas inlined into initializers
Fixes KT-41465
2020-09-02 20:03:38 +02:00
Florian Kistner 9775a2148a 203: Fix compilation 2020-09-02 18:48:57 +02:00
Pavel Kirpichenkov 9d12df28c1 [FIR-IDE] Add idea-fir test runtime dep for fir plugin only
Leads to duplicated bundled resources annotation templates otherwise.
2020-09-02 19:15:07 +03:00
Pavel Kirpichenkov 26982d1b48 [FIR-IDE] Use delegating KtScope for type param scope 2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov 0d3f1af6e4 Fix imports after rebase 2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov 5ddf62b30f [FIR-IDE] Use thread-local cache in completion component 2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov f229ae413d [FIR-IDE] Ignore FirMemberTypeParameterScope in KtScopes 2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov dc538d420e [FIR-IDE] Changes after review
Move usage of SingleCandidateResolver into dedicated component from KtFirAnalysisSession.
Add validity assertion, use concurrent map for context cache, provide original PSI when building context.
Update names, make other minor changes.
2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov ec072798b1 [FIR-IDE] Hack for checking single candidate resolver in tests 2020-09-02 19:15:06 +03:00
Pavel Kirpichenkov 2c816d8911 [FIR-IDE] Introduce resolver for a single candidate
The purpose of this resolver is to reuse parts of tower resolver in IDE tasks.
For now it can run resolution stages to check suitability of extension receiver.
2020-09-02 19:15:06 +03:00
Roman Artemev c6a338bcdc Mute broken stepping JVM IR tests
They are broken because of c7b57c0fb3.
Current debug info generator in IR uses information from descriptors so
removing that break tests.
2020-09-02 17:52:27 +03:00
Alexander Udalov b8d16f3d46 Add EnclosingMethod information to bytecode listing tests 2020-09-02 16:46:05 +02:00
Alexander Udalov d4ecde5cb0 Minor, don't use token COROUTINES_PACKAGE in bytecode listing tests
Most of the tests that are run both for 1.2 and 1.3 coroutines have
different expectation .txt files anyway.
2020-09-02 16:46:05 +02:00
Alexander Udalov 24aee1cce3 JVM IR: unmute tests on anonymous objects in inline lambdas
All tests on anonymous objects should use the NO_CHECK_LAMBDA_INLINING
directive, since the test framework can't tell an anonymous object from
a lambda and checking that anonymous objects are "inlined" makes no
sense.
2020-09-02 16:46:04 +02:00
Alexander Udalov e7937db8fa Add link to the online docs to kotlinc's help
#KT-35111 Fixed
2020-09-02 16:45:56 +02:00