Dmitry Petrov
1fc459ab4c
JVM_IR KT-42260 add abstract overrides for generated stubs
2020-09-29 14:06:12 +03:00
Alexander Udalov
445b2d6eb1
JVM IR: minor, unmute bytecode text test
...
Also fix typo in the name
2020-09-29 12:38:54 +02:00
Alexander Udalov
b497f39c29
IR: do not try to render IrUninitializedType
...
This will improve exception messages in case some error happens on a
function whose return type is uninitialized, as in KT-41401.
2020-09-29 12:32:45 +02:00
Ilya Goncharov
522fdb3e59
[Gradle, JS] Empty compiler plugin classpath for KotlinJsIrLink
...
^KT-42245 fixed
2020-09-29 12:17:38 +03:00
Mikhail Glukhikh
cebbd21a1e
FIR2IR: simplify analysis of companion' callable references
2020-09-29 11:51:21 +03:00
Jinseong Jeon
3151fc8577
FIR2IR: set dispatch receiver for companion member reference
...
#KT-42132 fixed
2020-09-29 11:51:21 +03:00
Jinseong Jeon
01d852c006
FIR: carry annotations on delegated property accessors
2020-09-29 11:35:19 +03:00
Aleksei Cherepanov
f1aa75fdf8
[JPS] Fix startup environment for Android Studio
2020-09-29 11:30:14 +03:00
Ilmir Usmanov
6ae2951850
Minor. Do not check suffix of function for tail-call optimization hit
2020-09-29 10:04:03 +02:00
Dmitriy Novozhilov
7d277b907f
[FIR] Add new backend tests to "[JPS] Run fast FIR tests" configuration
2020-09-29 10:45:16 +03:00
Victor Petukhov
8f333aef3a
Introduce warning about forbidden referencing to underscore named parameter of the catch block in a future release (KT-31567)
2020-09-29 10:23:45 +03:00
Victor Petukhov
09f1764f82
Introduce warning for private inline functions which return anonymous objects without specified supertypes (KT-33917)
2020-09-29 10:23:45 +03:00
Victor Petukhov
63d825fa24
Introduce warning for secondary constructor in enums without delegation to primary constructors (KT-35870)
2020-09-29 10:23:45 +03:00
Mikhail Glukhikh
416874f9d0
[FIR] Update BB test license comments
2020-09-29 10:21:22 +03:00
Mark Punzalan
238cc7c257
[FIR] Enable BytecodeText tests for FIR.
...
143 out of 767 tests (18.6%) are currently failing.
2020-09-29 10:21:21 +03:00
Mark Punzalan
69cd729506
[FIR] Enable BlackBoxAgainstJavaCodegen tests for FIR.
...
23 out of 156 tests (14.7%) are currently failing.
2020-09-29 10:21:21 +03:00
Mark Punzalan
348ba3e08c
[FIR] Enable BlackBoxInlineCodegen tests for FIR.
...
16 out of 638 tests (2.5%) are currently failing.
2020-09-29 10:21:21 +03:00
Dmitriy Novozhilov
53a7d69ca6
[FIR] Make FirPropertyAccessor inherits FirCallableMemberDeclaration
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
8f1062594f
[FIR] Add ability to get scopes for declarations of TYPES resolve phase
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
cc4f72e032
[FIR] Capture type from type parameter upper bound when needed
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
393688ad82
[FIR] Add extension to FirSession to get ConeTypeCheckerContext
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
9e4623c52b
[FIR] Fix resolution of calls on super to avoid resolve to interface methods
...
#KT-38400 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
fb871a55a3
[FIR] Don't create backing field for property without explicit type
...
#KT-41977 Fixed
2020-09-29 10:17:42 +03:00
Dmitriy Novozhilov
0c0a8f9849
[FIR] Properly pass type attributes for inference of lambda with type variable as expected type
...
#KT-41989 Fixed
#KT-37317 Fixed
2020-09-29 10:17:42 +03:00
Dmitry Petrov
d9906ae8da
Minor: unmute some bytecode listing tests in JVM_IR
2020-09-28 21:48:14 +03:00
Dmitry Petrov
565c156ddb
Minor: reformat and cleanup warnings in CollectionStubMethodGenerator.kt
2020-09-28 21:48:14 +03:00
Yan Zhulanow
af1ed77d15
Parcelize: Fix NPE on availability check
2020-09-29 02:37:44 +09:00
pyos
8c423729e4
JVM_IR: slightly refactor ClassCodegen
...
* reduce code duplication for constructing JvmDeclarationOrigin;
* move all `visitor.visitInnerClass` calls to before `visitor.done`;
* make the order of members more strict & remove 3 mutable fields, as
order-dependent mutation can lead to differences with incremental
compilation due to inline calls (thus keeping mutable state in
ClassCodegen is in general unsafe).
2020-09-28 17:08:01 +02:00
Andrei Klunnyi
79e5177126
[KTIJ-145] Memory leak detected
2020-09-28 15:21:21 +02:00
Yaroslav Chernyshev
819e83b68b
[Gradle, Cocoapods] Complete logging for corner-case pod configurations
2020-09-28 16:09:36 +03:00
Yaroslav Chernyshev
5f4aa4db27
[Gradle, Cocoapods] Improve logging when deprecated podspec path is used
...
#KT-41948 Fixed
2020-09-28 16:09:36 +03:00
Toshiaki Kameyama
330502a0a6
KT-22665 "Create object" quick fix produce wrong code for enum ( #2883 )
...
* "Create object" quick fix: do not suggest for enum
#KT-22665 Fixed
2020-09-28 14:02:10 +02:00
Victor Petukhov
076eacb3d1
Check implicitly inferred Nothing inside special calls properly: compare constructors instead of types
...
^KT-41176 Open
2020-09-28 13:27:02 +03:00
Dmitriy Novozhilov
051d64742c
Make SpaceBootstrap as default bootstrap source
2020-09-28 12:45:36 +03:00
Dmitriy Novozhilov
f39adfdf15
Update version of kotlin-build-gradle-plugin dependency
2020-09-28 12:43:10 +03:00
Dmitriy Novozhilov
7aef253a36
Add SpaceBootstrap option to kotlin-build-gradle-plugin
2020-09-28 12:43:10 +03:00
Vladimir Dolzhenko
a149d38c98
Register TYPE_CODE_FRAGMENT in KtStubElementTypes
...
Stubbed type has to be register earlier (see IStubFileElementType#checkNotInstantiatedTooLate)
^KT-28732 Fixed
2020-09-28 11:15:04 +02:00
Alexander Udalov
243db689af
Build: fix "unknown enum constant" warning on Nls.Capitalization
...
#KTI-88 Fixed
2020-09-25 22:17:10 +02:00
Alexander Udalov
cb5c317f91
Gradle: support moduleName option in KotlinJvmOptions
...
#KT-42058 Fixed
2020-09-25 22:15:55 +02:00
Ilya Kirillov
0edbdaf0c7
Wizard: use EAP Kotlin versions for running import tests
2020-09-25 21:38:36 +03:00
Toshiaki Kameyama
bc580d2fd9
Introduce "Unused result of data class copy" inspection
...
#KT-34121 Fixed
2020-09-25 17:18:41 +02:00
Alexander Udalov
ae6d89b100
Minor, mute new test for FIR
2020-09-25 16:50:58 +02:00
pyos
bd6ead0467
JVM_IR: check for null when converting unboxed inline classes to strings
...
`C?` can be unboxed into `T?` if if wraps a reference type `T!!`, but in
this case `null` is not a valid value to pass to `toString-impl`.
#KT-42005 Fixed
2020-09-25 16:50:34 +02:00
Igor Yakovlev
d2bdab2ef5
[FIR IDE] Add find usages tests for FIR plugin
2020-09-25 17:26:22 +03:00
Igor Yakovlev
d534d92123
[FIR IDE] Implement FIR for KotlinUsageTypeProvider
2020-09-25 17:26:22 +03:00
Toshiaki Kameyama
37ba9eccc4
KT-31553 Complete Statement: Wrong auto-insertion of closing curly brace for a code block ( #2378 )
...
* Complete statement: wrap property initializer by run/when block
#KT-31553 Fixed
2020-09-25 16:04:03 +02:00
Toshiaki Kameyama
14bdcb1e26
"Create enum constant" quick fix: suggest if expected type is Any
...
#KT-22666 Fixed
2020-09-25 15:57:11 +02:00
Mikhael Bogdanov
31ed5430ee
Minor. Update test data
2020-09-25 15:45:56 +02:00
Alexander Udalov
f8f2be3d9f
Minor, improve test on suspend invoke function reference
...
Add WITH_RUNTIME to enable it for the old backend, check the generated
function reference methods by starting the coroutine.
2020-09-25 14:52:46 +02:00
Steven Schäfer
20a5c44e41
JVM IR: Fix types in generated function reference constructor
...
For references to suspend functions this fixes an IllegalStateException
in the type mapper, which is what the "suspendFunctionMethodReference"
test is about.
2020-09-25 14:52:19 +02:00
Jinseong Jeon
f3db113a82
FIR2IR: use @Target to put annotations on either property or backing field
2020-09-25 14:45:49 +03:00
Jinseong Jeon
b59832c5fd
FIR: refactor annotation-related utils
2020-09-25 14:45:48 +03:00
Jinseong Jeon
c8170702c6
FIR serializer: special version requirement for @JvmField property in interface companion
2020-09-25 14:45:48 +03:00
Jinseong Jeon
dc2226b42f
FIR2IR: put @JvmField on field, not property
...
#KT-42118 fixed
2020-09-25 14:45:48 +03:00
Mikhail Glukhikh
ae23adb6f5
FIR Java: fix exception during synthetic property enhancement
2020-09-25 14:44:13 +03:00
Mikhail Glukhikh
368de43623
FIR Java: support Java setters more properly in use-site scope
2020-09-25 14:44:11 +03:00
Mikhail Glukhikh
873ea560a9
[FIR2IR] Fix conversion of flexible class reference
2020-09-25 14:44:10 +03:00
Mikhail Glukhikh
fe8e3e99ab
[FIR Java] Hide function in scope in case it's an accessor by fact
...
#KT-42116 Fixed
2020-09-25 14:44:09 +03:00
Dmitry Petrov
70095712eb
Minor: drop new bytecode listing test that passes only in JVM_IR
...
Unfortunately, there's no way to mute it in JVM right now.
Corresponding case is tracked as KT-42179, anyway.
2020-09-25 13:49:53 +03:00
Toshiaki Kameyama
a2f70dfc3d
KT-41298 "Remove redundant 'with' call" intention works incorrectly with non-local returns and single-expression functions ( #3713 )
...
* Remove redundant 'with' call: remove redundant 'return' keyword
#KT-41298 Fixed
2020-09-25 12:48:31 +02:00
Konstantin Tskhovrebov
8a58ada4cd
Fix version parser for versions without status "1.4-M1-42-IJ2020.1-1".
2020-09-25 12:17:17 +03:00
Roman Golyshev
945edfe987
KT-41859 Place classes after typealiases in DeserializedMemberScope
...
This way, the order in stubs and in deserialized text would be the same
On the next stub version bump, this fix should be reworked: the order
in the `DeserializedMemberScope` should be restored, and the order in
the stubs should be fixed to match the order in `MemberComparator`
^KT-41859 Fixed
2020-09-25 09:03:12 +00:00
Dmitry Petrov
cfd62c15bf
JVM_IR KT-36994 don't generate stub if present in superclass
2020-09-25 11:57:33 +03:00
Dmitry Petrov
1adce11257
Add tests for KT-40191
2020-09-25 11:57:32 +03:00
Dmitry Petrov
a45b409e23
Minor: update generated JS tests
2020-09-25 11:57:32 +03:00
Mads Ager
4e518e77ca
[JVM_IR] Fix expectations for parcelize tests.
...
The generated bridges now have line numbers as for the JVM
backend. There are some extra (irrelevant) labels in the JVM_IR
bytecode listing compared to JVM so expectations can still not
be shared even though they are closer.
2020-09-24 20:52:22 +02:00
Alexander Udalov
6d13fe8213
Minor, add explicit type argument to workaround KT-42175
2020-09-24 19:38:26 +02:00
pyos
f30e564c90
JVM_IR: do not use fields' superQualifierSymbol to cast the receiver
...
It's only for computing the field owner.
#KT-42131 Fixed
2020-09-24 18:28:23 +02:00
anastasiia.spaseeva
a57c95624d
Add changelog for 1.4.20-M1
2020-09-24 18:59:56 +03:00
Dmitriy Novozhilov
0d954f1190
Change module :core:compiler.backend.common.jvm to :compiler:backend.common.jvm
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
b343d05e14
[FIR] Implement JvmTypeMapper based on cone types
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
a28d0e0b7f
Make IrTypeMapper delegate to AbstractTypeMapper
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
86d4d320c4
Introduce AbstractTypeMapper based on type markers
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
7380abac13
Split AsmUtils to descriptors dependent and independent parts
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
54a5a066e8
Introduce new module for common parts of backend utils
...
Mainly it needed for abstract jvm type mapper for different type systems:
IrTypes and ConeKotlinTypes
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
c3a89e2507
Move common part of typeSignatureMapping.kt to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
d215c413cc
Move TypeMappingMode to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
4ef57c120f
[FIR] Consider variance of type parameters during java type enhancement
...
#KT-41940 Fixed
2020-09-24 15:43:20 +03:00
Dmitriy Novozhilov
a0db510e49
[FIR] Split creating fir for java declarations to separate methods
2020-09-24 14:59:35 +03:00
Dmitriy Novozhilov
0d29d6d361
[FIR] Transform when conditions with boolean expected type
...
#KT-42130 Fixed
2020-09-24 14:59:35 +03:00
Dmitriy Novozhilov
68a47d6efb
[FIR] Add helpers for creating diagnostics on nullable source
2020-09-24 14:59:34 +03:00
Svyatoslav Kuzmich
162d9744ff
[JS IR] Fix export of constructor with default argument (KT-41275)
2020-09-24 14:58:14 +03:00
Jinseong Jeon
5b136516c4
FIR: utilize checking subtype of functional type and finding invoke symbol
2020-09-24 14:05:52 +03:00
Jinseong Jeon
b10466f6a2
FIR: extend suspend conversion to subtype of functional type
2020-09-24 14:05:52 +03:00
Toshiaki Kameyama
17176c00ae
Move lambda out: don't remove block comments
...
#KT-35357 Fixed
2020-09-24 12:05:43 +02:00
Roman Artemev
6670e4b21d
[JS IR] Fix callable reference to generic constructor
...
- add tests
- fix KT-42025
2020-09-24 12:50:47 +03:00
Ilmir Usmanov
4da67bf013
Minor. Unmute tests
2020-09-24 10:08:43 +02:00
Ilmir Usmanov
f22f10febb
JVM_IR: Unbox inline classes in suspend functions
...
if the function can be verified to safely returning unboxed
inline class.
Box the return value on resume path.
2020-09-24 10:08:41 +02:00
Victor Petukhov
ccc9b757c0
Fix failing MPP tests after 25ea3df5ca through registering InferenceCompatibilityCheckerImpl instance
2020-09-24 10:49:33 +03:00
Mads Ager
ac742123fd
[JVM_IR] Generate line numbers in synthetic bridges.
...
The current backend does that for some bridges. We do it consistently
for all bridges.
The line number used differs. For the JVM_IR backend, we use the
line number of the class to which the bridge is added. For the
JVM backend, that does not appear to be the case for bridges
in lambdas. I prefer the line number for a lambda invoke bridge
to be the line for the lambda instead os some surrounding class.
2020-09-24 08:59:48 +02:00
Yan Zhulanow
acf1a15f3e
Parcelize: Add integration test for the new kotlin-parcelize plugin
2020-09-24 15:51:00 +09:00
Yan Zhulanow
2d158ffebd
Parcelize: Add tests for deprecated (kotlinx.android.parcel) annotations
2020-09-24 15:50:59 +09:00
Yan Zhulanow
1d5ab192f5
Parcelize: Support old (kotlinx.android.parcel) annotations in Parcelize plugin
2020-09-24 15:50:59 +09:00
Yan Zhulanow
f0b93bf352
Parcelize: Move back annotations from kotlinx.android.parcel, deprecate them
2020-09-24 15:50:59 +09:00
Yan Zhulanow
75a1323974
Parcelize: Add deprecation warning to Android Extensions Gradle plugin (KT-42121)
2020-09-24 15:50:58 +09:00
Yan Zhulanow
419c88d1f2
Parcelize: Publish Parcelize compiler plugin to IDE dependencies repository
2020-09-24 15:50:58 +09:00
Yan Zhulanow
0ce9003ef7
Parcelize: Add missing dependencies to Parcelize components in tests
2020-09-24 15:50:58 +09:00
Yan Zhulanow
4bd8e2f78c
Parcelize: Support the new Parcelize plugin in Gradle (KT-40030)
2020-09-24 15:50:57 +09:00
Yan Zhulanow
15b2850ee0
Parcelize: Add IDE support for the Parcelize compiler plugin with sources extracted from Android Extensions plugin (KT-40030)
2020-09-24 15:50:57 +09:00
Yan Zhulanow
b7796d63d8
Parcelize: Add the Parcelize compiler plugin with sources extracted from Android Extensions plugin (KT-40030)
2020-09-24 15:50:57 +09:00
Yan Zhulanow
c9bca165bc
Update generated tests in android-extension-compiler
2020-09-24 15:50:57 +09:00
Steven Schäfer
aca9478998
Parcelize: Recognize (suspend) function types as serializable
2020-09-24 15:50:56 +09:00
Steven Schäfer
a2418484bb
Parcelize: More robust code for locating layoutlib.jar
2020-09-24 15:50:56 +09:00
Steven Schäfer
9bf3f105d9
Parcelize: Add a test for sealed Parcelable classes
2020-09-24 15:50:56 +09:00
Steven Schäfer
77fb0ddd32
Parcelize: Update test expectations
2020-09-24 15:50:55 +09:00
rbares
9d000529e7
Fix JVM Parcelize use of Parceler
2020-09-24 15:50:55 +09:00
Steven Schäfer
8ab6411b93
Parcelize, JVM IR: Fix types in nested containers
2020-09-24 15:50:55 +09:00
Yan Zhulanow
eaa5d08736
Move all sources for android-tests to the 'test' source set
2020-09-24 15:50:55 +09:00
Steven Schäfer
3a7cc93c4e
JVM IR: More precise check for calls to the implementation method in a default stub
2020-09-24 07:53:31 +02:00
Steven Schäfer
648bc9b1c4
JVM IR: Check for cycles when inlining into default stubs
2020-09-24 07:53:31 +02:00
Steven Schäfer
111c550f3c
JVM IR: More tests for inlining in $default stubs
2020-09-24 07:53:31 +02:00
Steven Schäfer
5e27d9b089
JVM IR: Make inlining in $default stubs compatible with the JVM BE
...
The JVM BE inlines calls to the underlying function in a $default stub
verbatim, e.g., without renaming LVT entries or regenerating anonymous
objects. This commit introduces the same behavior in the JVM IR BE.
Fixes KT-36769.
2020-09-24 07:53:31 +02:00
Steven Schäfer
bef0437edb
JVM IR: Generate LVT entries for parameters in inline $default methods
2020-09-24 07:53:31 +02:00
Ilya Kirillov
347a984ce0
FIR IDE: fix tests compilation
2020-09-23 21:43:58 +03:00
Ilya Kirillov
f36cd28696
FIR IDE: introduce withFir function
2020-09-23 21:43:58 +03:00
Ilya Kirillov
a516264923
FIR IDE: introduce withFirDeclaration function
2020-09-23 21:43:57 +03:00
Ilya Kirillov
ebc2ea59cd
FIR IDE: introduce WeakFirRef for low level
2020-09-23 21:43:57 +03:00
Ilya Kirillov
8ee4c4e047
FIR IDE: introduce scoped fir functions
2020-09-23 21:43:57 +03:00
Ilya Kirillov
e19d2ecc73
FIR IDE: make FirModuleResolveState functions to be internal
2020-09-23 21:43:57 +03:00
Ilya Kirillov
8e41384f6d
FIR IDE: separate LowLevelFirApiFacade from completion
2020-09-23 21:43:56 +03:00
Ilya Kirillov
7cc714c598
FIR IDE: move all public low level api to separate package
2020-09-23 21:43:56 +03:00
Ilya Kirillov
a0337ec10d
FIR: fix invalid increasing inner array size in ArrayMapImpl
2020-09-23 21:43:56 +03:00
Ilya Kirillov
4238fd3842
FIR IDE: fix compilation after rename registerJavaSpecificComponents -> registerJavaSpecificResolveComponents
2020-09-23 21:43:55 +03:00
Ilya Kirillov
65ef629ca7
FIR: add ensureResolved to processConstructors
2020-09-23 21:43:55 +03:00
Ilya Kirillov
a570be4e76
FIR IDE: fix compilation of AbstractFirIdeDiagnosticsCollector.kt
2020-09-23 21:43:55 +03:00
Ilya Kirillov
fa570710ee
FIR IDE: move diagnostic highlighting to separate
...
pass
2020-09-23 21:41:54 +03:00
Ilya Kirillov
1f4aff9643
FIR: add ensureResolved to FirSealedClassInheritorsTransformer
2020-09-23 21:41:53 +03:00
Ilya Kirillov
1c0bbaf225
FIR: add ensureResolved to FirExposedVisibilityDeclarationChecker
2020-09-23 21:41:53 +03:00
Ilya Kirillov
04fca93b1e
FIR IDE: fix completion on parenthesized expression
2020-09-23 21:41:52 +03:00
Ilya Kirillov
879cf3b049
FIR IDE: do not fail whole completion on exception in lookup element creation
2020-09-23 21:41:52 +03:00
Ilya Kirillov
e9fb79741a
FIR IDE: fix completion in initializer
2020-09-23 21:41:51 +03:00
Roman Golyshev
1ab6595ae2
FIR Completion: Use name filtering in completion contributor
2020-09-23 21:41:51 +03:00
Roman Golyshev
75d8710bf6
FIR IDE: Add name filtering to scope KtScope and implementations
2020-09-23 21:41:50 +03:00
Roman Golyshev
dc600e3caf
FIR IDE: Fix buildKtType for ConeDefinitelyNotNullType
2020-09-23 21:41:49 +03:00
Ilya Kirillov
74298aae32
FIR IDE: invalidate sessions on exception
2020-09-23 21:41:48 +03:00
Ilya Kirillov
a743b80d17
FIR IDE: reuse up-to-date fir sessions
2020-09-23 21:41:47 +03:00
Ilya Kirillov
22c2d34b14
FIR IDE: add debug info when can not build KtType
2020-09-23 21:41:46 +03:00
Ilya Kirillov
a52262bf97
FIR IDE: run completion resolve under lock
2020-09-23 21:41:45 +03:00
Ilya Kirillov
f1c808384e
FIR IDE: do not resolve symbols by transitive module dependencies
2020-09-23 21:41:44 +03:00
Ilya Kirillov
01875635db
FIR IDE: do not resolve whole firFile in completion
2020-09-23 21:41:44 +03:00
Ilya Kirillov
2cfbfabe04
FIR IDE: do not recreate transformer phases & ScopeSession
2020-09-23 21:41:42 +03:00
Ilya Kirillov
9a99703f24
FIR IDE: implement incremental function analysis
2020-09-23 21:41:41 +03:00
Ilya Kirillov
8bcba00bb7
FIR IDE: do not resolve declarations if they are already resolved when we are inside lock
2020-09-23 21:41:40 +03:00
Ilya Kirillov
fc64d8d5e8
FIR IDE: reanalyse dependent modules only then they change
2020-09-23 21:41:40 +03:00
Ilya Kirillov
07be30c5db
FIR IDE: separate fir session for current module from dependent modules session
2020-09-23 21:41:39 +03:00
Ilya Kirillov
ab897752de
FIR IDE: remove invalid comments from FirIdeSessionFactory
2020-09-23 21:41:39 +03:00
Ilya Kirillov
4045c8fbf4
FIR IDE: fix invalid order of classes in classIdIfNonLocal
2020-09-23 21:41:38 +03:00
Ilya Kirillov
766063ba77
FIR IDE: optimize search for FirDeclaration by KtDeclaration
2020-09-23 21:41:37 +03:00
Ilya Kirillov
36e57545e8
FIR IDE: simplify psiModificationTrackerBasedCachedValue
2020-09-23 21:41:36 +03:00
Ilya Kirillov
73451b1616
FIR IDE: reresolve libraries only when they change
2020-09-23 21:41:35 +03:00
Ilya Kirillov
c48cc615dd
FIR IDE: use KtAnalysisSession as receiver
2020-09-23 21:41:35 +03:00
Ilya Kirillov
d4786e06a9
FIR IDE: ignore PCE when running lazy resolve phase
2020-09-23 21:41:34 +03:00
Ilya Kirillov
9130392eb9
FIR IDE: resolve symbol to status to get it modality
2020-09-23 21:41:34 +03:00
Ilya Kirillov
0c47d42659
FIR IDE: add failing multiModuleLazyResolve test
2020-09-23 21:41:33 +03:00
Ilya Kirillov
a3a59131b5
FIR IDE: fix passing whenWithHeiarchy test
2020-09-23 21:41:32 +03:00
Roman Golyshev
6d0a5a0bb2
KT-41346 Implement NoReorderImplementation without reordering
...
- See the documentation for `DeserializedMemberScopeHelper` for the full
info about the fix and the issue
- Add `preserveDeclarationsOrdering` setting to
`DeserializationConfiguration`
- Enable this setting in `DeserializerForClassfileDecompiler`
- Also, use `List` instead of `Collection` to pass members to
`DeserializedMemberScope`. It is done to emphasize that the order of
the members is important and may be used
- Review: https://jetbrains.team/p/kt/review/1627
- ^KT-41346 Fixed
2020-09-23 15:27:51 +00:00
Roman Golyshev
bf371ff98a
KT-41346 Refactor computeNonDeclared*
...
Change the signature of the `computeNonDeclared*` methods so they expect
mutable lists - it better suits their contracts. Also, add a little
documentations about the contract
Also, change `Collection` to `List` for incoming protos to `emphasize`
that their order might be used
2020-09-23 15:27:50 +00:00
Roman Golyshev
b1097c49d3
KT-41346 Move Implementation to DeserializedMemberScope
2020-09-23 15:27:49 +00:00
Roman Golyshev
5596bf33d8
KT-41346 Move related code to OptimizedImplementation
...
This does not change any semantics, only moves the code around
2020-09-23 15:27:49 +00:00
Roman Golyshev
c8878f862d
KT-41346 Introduce inner OptimizedImplementation class
...
Make it implement `Implementation` and move definitions
there
2020-09-23 15:27:48 +00:00
Roman Golyshev
683dd57f24
KT-41346 Extract Implementation interface
...
This is a temporary interface to make refactoring easier
2020-09-23 15:27:47 +00:00
Roman Golyshev
341a7478ed
KT-41346 Move removing non-available functions to protected method
...
This would allow to stricten contract on `computeNonDeclaredFunctions`
2020-09-23 15:27:47 +00:00
Roman Golyshev
4f4c25ca5e
KT-41346 Cleanup DeserializedMemberScope
2020-09-23 15:27:46 +00:00
Ilya Kirillov
622f71bd65
Fix binary compatibility with AS
...
#KT-42061 fixed
2020-09-23 18:25:07 +03:00
Dmitry Petrov
1c4567c999
Add tests for KT-40152
2020-09-23 18:14:21 +03:00
Dmitry Petrov
cd37301ea2
Minor: TARGET_BACKEND=JVM in JVM-specific tests
2020-09-23 18:14:21 +03:00
Dmitry Petrov
99dbeecc40
Some more bytecode listing tests for JVM_IR
2020-09-23 18:14:20 +03:00
Victor Petukhov
25ea3df5ca
Put fix in 9123c4f73baf77f8a50dede6c890c46f5ffafd6c under the inference compatibility flag
2020-09-23 17:15:58 +03:00
Victor Petukhov
bfb46befa5
Mark projection of a nullable captured type as not null during simplification constrains with it and a nullable type variable
...
^KT-41913 Fixed
2020-09-23 17:15:57 +03:00
Dmitriy Novozhilov
0f868ff83f
[TEST] Regenerate tests
2020-09-23 17:12:14 +03:00
Alexander Udalov
84df996204
JVM IR: fix "step over" for inline function calls in conditions
...
Reimplement the same hacky approach used in the old backend (see
cc2fe6b0c6 ).
Previously, the debugger incorrectly stepped into Collections.kt on
"step over" inline function calls from stdlib like 'any'.
Since `if` and `when` expressions are represented the same way in IR,
the behavior is fixed for both of them. It's not the case in the old JVM
backend, where stepping over `when` conditions still suffers from the
same problem, which the newly added test checks.
2020-09-23 15:54:15 +02:00
Toshiaki Kameyama
4144adf4ee
Make internal: don't suggest in interface
...
#KT-35346 Fixed
2020-09-23 15:34:09 +02:00
Toshiaki Kameyama
6e8565917e
MapGetWithNotNullAssertionOperatorInspection: decrease severity to INFORMATION
...
#KT-33096 Fixed
2020-09-23 14:52:14 +02:00
Dmitriy Novozhilov
5e73e28695
[FIR-TEST] Fix psi consistency test due to 5efd533f
2020-09-23 15:32:09 +03:00
Dmitriy Novozhilov
10e7c0f1b2
[TEST] Fix long literal in testdata broken in 4374c06
2020-09-23 15:22:03 +03:00
Toshiaki Kameyama
a2bde2ffb2
Redundant overriding method: do not report when super method is not called
...
#KT-34959 Fixed
2020-09-23 14:12:06 +02:00
Roman Artemev
76ed09482f
[IR BE] Fix inline class lowering
...
- provide additional type parameters from context when transforming
constructor into static function.
- fix KT-41771
- add test
2020-09-23 14:49:38 +03:00
pyos
5954db18cb
JVM_IR: fix lifting of arguments to object super constructors
...
If the arguments are reordered, they can not only be reads of temporary
variables, but also implicit type casts of said reads.
Fixes #KT-42002
2020-09-23 13:49:16 +02:00
Dmitriy Novozhilov
4d5e54cab6
[FIR] Unwrap definitely not null when matching overrides
...
#KT-41984 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
08b5f3ddde
[FIR] Remove unused list with java.lang.Object member names
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
896103b94b
[FIR] Properly resolve implicit invoke calls
...
#KT-41990 Fixed
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
696c8f07b4
[FIR] Add pretty toString to CallKind
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
40a9bb6eac
[FIR] Assume nullable types as good types for ILT approximation
...
#KT-41982 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
f069857492
[FIR] Cleanup annotations transform in FirExpressionsResolveTransformer
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
0e91c8f048
[FIR] Create synthetic properties for members of java annotations
...
#KT-41939 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
da3a676c2a
[FIR] Get rid of FirIntegerLiteralTypeScope and corresponding stuff
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
4374c06537
[FIR] Approximate all integer literals which resolved in independent mode
...
#KT-42016
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
5efd533f55
[FIR] Desugar unary plus and minus as part of integer literal
...
#KT-42016
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov
a018847f85
[FIR] Properly deserialize type attributes for type arguments
...
#KT-41991 Fixed
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov
a274216f14
[FIR] Check that expected lambda type is extension function using cone expected type
...
#KT-41991 In progress
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov
57a57d10da
[FIR] Add rendering for attribites of cone types
2020-09-23 14:05:07 +03:00
Alexander Udalov
d48307ec34
JVM IR: do not copy type parameters into suspend lambda classes
...
Declarations inside that class are referencing the type parameters of
the containing function anyway, since we don't do any remapping. So the
resulting IR is slightly more correct, and doesn't lead to type
parameter/argument size mismatch error on IrBased/Wrapped-descriptors.
This reverts a part of 01da7f289b , which looks like it was no longer
necessary after 8d0ffa1444 .
#KT-42028 Fixed
2020-09-23 12:21:37 +02:00
Toshiaki Kameyama
bdf502edef
Override/Implement members: don't add 'external' modifier
...
#KT-33466 Fixed
2020-09-23 11:51:08 +02:00
Vladimir Dolzhenko
4e5c61cd2f
Notify if gradle points to invalid JDK
...
^KT-41141 Fixed
2020-09-23 09:44:07 +00:00
Vladimir Dolzhenko
be20a8bd80
Configure modules Kotlin language settings in a background with a progress
...
^KT-41936 Fixed
2020-09-23 09:18:52 +00:00
Dmitriy Dolovov
f0cbd6b1a5
HMPP: Avoid NPE during Kotlin facet serialization
...
^KT-42029
2020-09-23 10:39:11 +03:00
Mikhail Glukhikh
4653a16450
[FIR2IR] Add problematic test with in/out clash during approximation
2020-09-23 09:01:45 +03:00
Mikhail Glukhikh
3a57a541f4
FIR mangler: support captured types
2020-09-23 09:01:42 +03:00
Mikhail Glukhikh
b64b32e06b
FIR: keep captured types in substitution scope
2020-09-23 09:00:57 +03:00
Mikhail Glukhikh
b7059a3eeb
FIR: perform type approximation when completion isn't required
2020-09-23 09:00:57 +03:00
Mikhail Glukhikh
0310272738
FIR: perform more proper type approximation in completion
...
Note: test data change is questionable here
2020-09-23 09:00:57 +03:00
Mikhail Glukhikh
14cfc62745
FIR: fix calculation of type arguments for bare types
2020-09-23 09:00:57 +03:00
Mikhail Glukhikh
3c3aa3210e
FIR: use FROM_EXPRESSION, not FOR_SUBTYPING capt. types in substitution
2020-09-23 09:00:56 +03:00
Mikhail Glukhikh
86d1a3be37
FIR serializer: throw exception on getting ConeIntegerLiteralType
...
This commit assumes that ILTs are forbidden
at the end of resolve, at least in public API
2020-09-23 09:00:56 +03:00
Mikhail Glukhikh
5a919cc827
FIR element serializer: drop duplicated approximation code
2020-09-23 09:00:56 +03:00
Mikhail Glukhikh
104f088d4e
FIR serializer: throw exception on getting ConeCapturedType
...
This commit assumes that captured types are forbidden
at the end of resolve, at least in public API
2020-09-23 09:00:56 +03:00
Georgy Bronnikov
83ee705c0a
IR: make IrClassReference.classType mutable
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
9d22ef948c
IR: rework ScopeValidator
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
377940a6ea
IR: handle IrVararg.varargElementType in RemapTypes
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
a542bb6af7
IR: check IrClassReference.classType in ScopeValidator
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
728c55973a
IR: handle MemberAccessExpression type parameters in RemapTypes
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
3041a2815c
IR: handle varargElementType in LocalDeclarationsLowering
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
8990344bb2
Varargs: add test
2020-09-22 23:53:41 +03:00
Georgy Bronnikov
67d7bf3269
IR: take care of supertypes when copying IrTypeParameters
2020-09-22 23:53:40 +03:00
Georgy Bronnikov
916d66c220
IR: add ScopeValidator
2020-09-22 23:53:40 +03:00
Georgy Bronnikov
382f423ab9
Mute a test under DCE
2020-09-22 23:53:40 +03:00
Georgy Bronnikov
33a2c69122
IR: remap types in LocalDeclarationsLowering
2020-09-22 23:53:40 +03:00
Georgy Bronnikov
1f3d344835
IR: add RemapTypes.kt
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
df1d9a0113
IR: make IrTypeParameter.superTypes persistent mutable field
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
a409976d28
IR: make IrValueParameter.varargElementType mutable
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
a3763e8276
IR: make IrTypeAlias.expandedType mutable
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
78fc690f29
IR: make IrLocaldelegatedProperty.type mutable
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
09a906cc9a
IR: make IrTypeOperatorCall.typeOperand mutable
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
d9681e535d
IR: make IrField.type mutable
2020-09-22 23:53:39 +03:00
Georgy Bronnikov
5065b1a4c6
Make IrValueDeclaration.type mutable
2020-09-22 23:53:38 +03:00
Georgy Bronnikov
1f37795e08
IR: make IrExpression.type mutable
2020-09-22 23:53:38 +03:00
Alexander Udalov
fde7fc6951
JVM IR: use correct file for final test output check in debugger tests
...
Before this change, a test with incorrect .ir.out could pass if the test
execution result was equivalent to the main .out file, which was a bit
confusing.
2020-09-22 19:15:35 +02:00
Mads Ager
78483930bc
[JVM_IR] Fix offsets in constant propagation optimization.
...
Loads of temporary variables that contain constants are replaced
with a copy of the constant. This avoids locals loads and stores.
However, the copy of the constant needs to have the offset of
the load and not of the original constant.
Fixes KT-41963.
2020-09-22 19:12:06 +02:00
Alexander Udalov
f273edeb8e
Build: upgrade language to 1.3 in cli, compiler plugins and Gradle plugin
...
The language/API version restriction here is to make sure the code works
with Gradle of earlier versions, but all versions of Gradle that we
support already depend on Kotlin 1.3+.
2020-09-22 19:10:58 +02:00
Alexander Udalov
5755c32c84
Minor, fix appendln deprecation warnings in cli
...
Can't use appendLine yet because this module is compiled with API
version 1.3.
2020-09-22 19:10:58 +02:00
Toshiaki Kameyama
f20a6b7fe1
Change function signature: add/change receiver type
...
#KT-21799 Fixed
2020-09-22 18:07:24 +02:00
Mads Ager
9f3ce099ee
[JVM_IR] Fix line numbers for function reference invoke methods.
2020-09-22 16:59:46 +02:00
Ilya Goncharov
16b2379cd7
[Gradle, JS] Use new npm versions
2020-09-22 16:57:21 +03:00
Ilya Goncharov
9f9cb4f57e
[Gradle, JS] Parallelize requests
2020-09-22 16:57:21 +03:00
Ilya Goncharov
a86dd8b5ba
[Gradle, JS] Refactor with coroutines
2020-09-22 16:57:21 +03:00
Ilya Goncharov
4986e8c9cc
[Gradle, JS] Fetch NPM package versions in separate module
2020-09-22 16:57:21 +03:00
Ilya Goncharov
db90c9cc88
[Gradle, JS] Move from NpmVersions
2020-09-22 16:57:21 +03:00
Mikhael Bogdanov
7d4a734791
Fix nullability of typePath parameter
...
#KT-41484 Fixed
2020-09-22 15:37:02 +02:00
Dmitry Petrov
0539b2b389
Mute some FIR->JVM_IR box tests
...
FIR generates delegated class members incorrectly (with non-substituted
signatures).
2020-09-22 16:32:27 +03:00
Dmitry Petrov
c03573fc18
JVM_IR fix override equivalence check for collection stub generation
...
KT-42043 KT-42033
2020-09-22 15:26:34 +03:00
Pavel Kirpichenkov
fdc134ff66
[NI] Use compatibility mode for KT-41934
2020-09-22 15:06:12 +03:00
Pavel Kirpichenkov
1465e10f12
Add language feature for inference compatibility mode
...
The feature is intended for updates in the inference algorithm
that change behaviour compared to the previous stable version.
2020-09-22 15:06:12 +03:00
Pavel Kirpichenkov
896fbbd1a3
[NI] Add extra ordering for ready-for-fixation variables
...
Helps fixing to more specific type in the following situations:
Type1 <: Var1
Var2 <: Var1
Var2 <: Type2
Type1 and Type2 may also be nullable and non-nullable versions of the same type.
Note that no additional constraints can be inferred from such constraints before fixation.
Resulting types for variables will always Type1 and Type2 may also be nullable and non-nullable versions of the same type.
Fixing Var1 first will make Var2's type more specific while fixing Var2 first
will make Var1's type less specific. The first is preferrable in general.
2020-09-22 15:06:12 +03:00
Kirill Shmakov
ec8465859c
Support rerun of MPP tests for jvm target
2020-09-22 14:44:22 +03:00
Kirill Shmakov
23642d2f86
Support rerun of common MPP tests
...
This is to fix #KT-36909
2020-09-22 14:44:19 +03:00
Toshiaki Kameyama
c09c0468d4
Replace deprecated symbol usage: move named lambda argument outside parentheses
...
#KT-31523 Fixed
2020-09-22 10:51:36 +02:00
Toshiaki Kameyama
d9cf4ee732
Add intention to evaluate compile time expression
...
#KT-40251 Fixed
2020-09-22 10:46:54 +02:00
Mark Punzalan
8cac3f654c
[FIR] Handle pre/postfix dec/increment of labeled expression
2020-09-22 11:06:27 +03:00
Mark Punzalan
f55ff8eb1b
[FIR] Capture receiver for pre/postfix dec/increment of qualified access
...
This prevents double-evaluation of the receiver expression, which may
have side-effects. E.g.: a.b++
2020-09-22 10:20:46 +03:00
Mikhail Glukhikh
393189db8d
FIR JVM serializer: fix compilation after rebase
2020-09-22 09:54:43 +03:00
pyos
6e143a2656
JVM_IR: collect free type parameters when serializing FIR metadata
...
The "free" in "createFreeFakeLambdaDescriptor" and such refers to the
fact that there are no references to type parameters from outside the
current declaration. This is necessary because at the point where the
metadata is written, the type parameters may not even be in scope (e.g.
local delegated properties are serialized at class level, but may refer
to function-scope type parameters).
2020-09-22 09:35:50 +03:00
pyos
aa58ed9234
JVM_IR: partially implement FIR local delegated property reflection
...
Type parameter references are broken, just like for lambdas. Also, the
code is super ugly.
2020-09-22 09:35:45 +03:00
Alexander Udalov
6f622920e7
Minor, deduplicate matching JVM_OLD/JVM_IR duplicateJvmSignature tests
2020-09-21 18:49:36 +02:00
Mads Ager
05c662ec55
[JVM_IR] Remove line numbers from delegated member functions.
...
This fixes smart step into for delegated member functions.
Additionally, we align on the string "memberFunctionName(...)"
for expression non-null checks for both JVM_IR and JVM
backends.
2020-09-21 18:49:08 +02:00
Leonid Startsev
eea4ff33a0
Adapt serialization exceptions constructor calls to signature change
...
(see https://github.com/Kotlin/kotlinx.serialization/pull/1054 )
2020-09-21 17:10:12 +03:00
Leonid Startsev
fe5dbf75fa
Add diagnostic to check whether provided custom serializer matches
...
type of the property.
Check for serializer type mismatch only when custom serializer is present
Otherwise, there are too many false positives on e.g. PolymorphicSerializer
#KT-36329 Fixed
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/830
2020-09-21 17:10:12 +03:00
Leonid Startsev
bc432ecb85
Improve remove/specify type intentions in Explicit API mode
...
Do not suggest to remove type for public declarations
#KT-38915 Fixed
Do not show intention to specify type when corresponding quickfix is available
#KT-39026 Fixed
2020-09-21 17:10:10 +03:00
Leonid Startsev
5f0e7c3c3f
Check return type of internal @PublishedApi functions in Explicit API mode
...
#KT-38981 Fixed
2020-09-21 17:03:06 +03:00
Mikhail Glukhikh
a9972913a6
[FIR TEST] Add some FIR_IDENTICAL to fix recently changed tests
2020-09-21 16:20:37 +03:00
Andrey Uskov
c9054e7a04
Added possibility to split gradle-integration-tests locally
...
Added property `gradle.integration.tests.split.tasks` for splitting
gradle-integration-tests into several tasks locally (like it happens
at TeamCity)
2020-09-21 13:34:32 +03:00
Andrey Uskov
d151f0e573
Fixed splitting gradle tests into different tasks
2020-09-21 13:34:25 +03:00
Dmitry Savvinov
769c741d87
Revert "Pack jvm builtins into kotlin-stdlib shipped with idea plugin"
...
This reverts commit 0b5aedb0a2 .
2020-09-18 17:30:44 +03:00
Dmitry Savvinov
6db70bb97d
Minor: fix forgotten testdata after 6a55475392
2020-09-18 16:42:49 +03:00
Ilya Gorbunov
0b5aedb0a2
Pack jvm builtins into kotlin-stdlib shipped with idea plugin
...
This lessens the possibility that kotlin plugin will get different
variants of builtins in the classpath, thus making builtins resources
loading less order-dependent.
2020-09-18 15:11:45 +03:00
Leonid Startsev
f2cf64aec7
Create plugin context before launching actual psi2ir process.
...
Because IrPluginContextImpl constructor creates new instance of
BuiltinSymbolsBase (with symbols for stdlib declarations like `arrayOf` etc),
there should be at least one pass of `declareUnboundSymbolsAsDependencies`
between creation and usage in plugin. Such pass is located between psi2ir
and compiler plugins application. If plugin context is created inside lambda,
right before plugins are applied, the symbols will remain unbound.
#KT-41764 Fixed
2020-09-18 14:58:38 +03:00
Dmitry Petrov
ee3ada4e55
JVM_IR KT-40304 KT-41998 special handling for 'removeAt'
2020-09-18 14:27:36 +03:00
Kirill Shmakov
9008944860
Use target of the test in rerun dialog
...
This is to fix #KT-37799
2020-09-18 13:15:41 +03:00
Ilmir Usmanov
b406022315
Mark Unit unspillable if it is merged with unspillable Unit
...
#KT-42004: Fixed
2020-09-17 23:23:14 +02:00
Alexander Udalov
f6e4705d9c
Regenerate KotlinSteppingTestGenerated
2020-09-17 22:16:47 +02:00
Mads Ager
a62ffbf992
[JVM_IR] Ignore fwBackingField stepping test.
...
The test relies on fixes not yet landed, so it currently fails.
2020-09-17 22:14:30 +02:00
Georgy Bronnikov
8343ca093c
IR: bugfix in wrapped, IR-based descriptors
2020-09-17 19:16:03 +03:00
Georgy Bronnikov
c2bdedfbae
JVM_IR: remove descriptor usage from JvmSignatureClashDetector
2020-09-17 19:16:03 +03:00
Georgy Bronnikov
c7f10c272a
JVM_IR: remove .toKotlinType() from PromisedValue
2020-09-17 19:16:03 +03:00
Georgy Bronnikov
7c5e255fa3
JVM_IR: remove .toKotlinType() from IrInlineIntrinsicsSupport
2020-09-17 19:16:03 +03:00
Georgy Bronnikov
991a832d8c
JVM_IR: remove KotlinType reference from jvm/ir/IrUtils.kt
2020-09-17 19:16:03 +03:00
Georgy Bronnikov
3c0fbd5f45
IR: remove .toKotlinType() usage from coerceToUnit calls in lowerings
2020-09-17 19:16:03 +03:00
Dmitry Savvinov
6a55475392
Dont show warning for KT-21515 with LV>=1.3
2020-09-17 18:33:19 +03:00
Dmitriy Novozhilov
57ceb0fa20
[FIR] Don't create call to this in generated provideDelegate for top-level extension properies
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
a666eee67b
[FIR] Properly deserialize annotations on typealias and underlying type
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
748049daa3
[FIR] Don't call inline lambda twice in withFullBodyResolve
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
f9de2621b2
[FIR] Minor, fix TODO in constantValues
...
KT-8507
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
535de7bdc8
[FIR] Cleanup code of FirTypeDeserializer.kt
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
8deab3559e
[FIR] Get rid of FirDeserializationComponents
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
d4cc98fab1
[FIR] Safe VersionRequirementTable in deserialized declarations
2020-09-17 17:23:26 +03:00
Dmitriy Novozhilov
7c5160a968
[FIR] Remove meaningless TODO's
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
73c8059884
[FIR] Properly deserialize arrays in annotation arguments
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
ae819ff059
[FIR] Add configurable typeRef to FirArrayOfCallBuilder
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
d4891cb464
[FIR] Move Jsr305State from FirSession to separate component
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
93d63f7c66
[FIR] Get rid of FirResolvedFunctionTypeRef
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
edab50ac61
[FIR] Get rid of FirResolvedTypeRef.isSuspend
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
6c5cf8eda3
[FIR] Cleanup code in body resolve
2020-09-17 17:23:24 +03:00
Dmitriy Novozhilov
d4038f35b6
[FIR] Make BodyResolveComponents an abstract class
2020-09-17 17:23:24 +03:00
Ilmir Usmanov
dfd7f33bd3
Minor. Add test with reified type parameter
2020-09-17 16:14:07 +02:00
Ilmir Usmanov
9ecf5dc9af
Support is/as operations on suspend callable reference conversion
2020-09-17 16:14:04 +02:00
Vladimir Dolzhenko
dfe6c42f63
Remove 203 version from idea range for kotlin plugin 1.4.20
...
^KT-41976 Fixed
2020-09-17 11:58:46 +02:00
Vladimir Dolzhenko
985f2b839c
Add regression tests to cover Unused symbol with private anonymous object property
...
^KT-39454 Fixed
2020-09-17 11:54:53 +02:00
Jinseong Jeon
d1ba69044e
FIR: update the type of anonymous function as SAM
2020-09-17 12:45:26 +03:00
Ilmir Usmanov
f960201f52
Ignore type parameters of inline class
...
when checking whether we can return unboxed inline class
from suspend function
2020-09-17 11:20:48 +02:00
Dmitry Petrov
fbfe56e0cc
JVM_IR KT-41915 compare Kotlin signatures when adding collection stubs
2020-09-17 11:37:29 +03:00
Toshiaki Kameyama
0e4bd70c29
Redundant nullable return type: fix false positive with elvis return
...
#KT-41878 Fixed
2020-09-17 09:49:02 +02:00
Vladimir Dolzhenko
51d405e950
Add json output for IDE performance tests
2020-09-17 08:57:08 +02:00
Jinseong Jeon
72dea05854
FIR2IR: approximate type argument if reified
2020-09-17 09:43:46 +03:00
Jinseong Jeon
721248f883
FIR: migrate type-related utils to relevant file
2020-09-17 09:32:52 +03:00
Mikhail Glukhikh
0436a555d5
[FIR serializer] Support type approximation
...
Before this commit we relied on a fact that exotic types aren't
possible at serialization stage. However, in non-ABI mode we can get
even a private function (e.g. top-level private), so we have to perform
this approximation.
2020-09-17 09:19:34 +03:00
Mikhail Glukhikh
94a30ff904
[FIR] Drop redundant type check
2020-09-17 09:16:00 +03:00
Roman Artemev
4da7e762fe
[IR] Skip hidden parameters in WrappedDescriptors
2020-09-17 00:57:17 +03:00
Roman Artemev
1da2830e2b
[IR] Support hidden parameters in ir builder
2020-09-17 00:57:16 +03:00
Roman Artemev
b84084d54e
[IR] Support hidden parameters in IrMangler
...
- make them be skipped in signature
2020-09-17 00:57:16 +03:00
Roman Artemev
8209b70a2f
[KLIB] Support isHidden flag in deserialization
2020-09-17 00:57:16 +03:00
Roman Artemev
83d6255294
[KLIB] Support isHidden in proto flags
2020-09-17 00:57:16 +03:00
Roman Artemev
f01941d1dd
[IR] Support isHidden is IrFactory API
...
- add API to create a hidden value parameter
2020-09-17 00:57:16 +03:00
Roman Artemev
79e2886da1
[IR] Add isHidden flag into IrValueParameter
2020-09-17 00:57:15 +03:00
Ilya Kirillov
be16fa76ab
Wizard: fix not auto-updated artifactId on project name change
...
#KT-41695 fixed
2020-09-17 00:29:48 +03:00
Ilya Kirillov
ca3b327592
Wizard: add missing jvm target version for tests in Groovy DSL
...
#KT-41958 fixed
2020-09-17 00:29:48 +03:00
Ilya Kirillov
ee2f0f45fc
Wizard: ignore Kotlin repo in tests
...
They may differ sometimes as they depend on the latest Kotlin release
2020-09-17 00:29:47 +03:00
pyos
9b157fd291
JVM_IR: remove a descriptor-related hack from InterfaceLowering
...
It will break with FIR.
2020-09-16 18:58:40 +02:00
pyos
dd913ef450
JVM_IR: move common metadata serialization code to ClassCodegen
2020-09-16 18:58:40 +02:00
pyos
a06181771f
IR: make DescriptorMetadataSource a subtype of MetadataSource
...
FirMetadataSource is a metadata source too.
2020-09-16 18:58:40 +02:00
Alexander Udalov
86cc5840ed
JVM IR: unmute stepping test noParameterExtensionLambdaArgumentCallInInline3.kt
...
Bytecode generated by JVM IR ensures that on multiline expressions,
every call is stepped over, which seems better than in the old backend.
Also remove kt34905.kt since it duplicates this test case.
2020-09-16 17:52:27 +02:00
Alexander Udalov
0cccc61654
JVM IR: unmute stepping test smartStepIntoInterfaceImpl.kt
...
The only difference seems to be that step into IImpl.fooOverride is
actually supported in JVM_IR. Also fix slightly incorrect line numbers
in the comments.
2020-09-16 17:52:27 +02:00
Mads Ager
e943d76266
[JVM_IR] Rebase fwBackingField stepping test.
...
The difference is that JVM_IR generates line numbers for the
constructor field initialization.
In this case:
```
29: class B {
30: // comment
31: val bPropVal: Int,
32: // comment
33: var bProbVar: Int
34: ) {
```
the line numbers for the field initializations are 31 and 33 where
in the current backend the whole constructor has line number 29.
2020-09-16 17:51:22 +02:00
Лихолетов Михаил
cfc1ebb4be
[FIR] Support several annotation argument diagnostics
2020-09-16 16:53:31 +03:00
Mikhail Glukhikh
0c13d3197c
[FIR] Fix non-serializable type argument at the end of resolve
2020-09-16 16:53:29 +03:00
Dmitry Petrov
54d5494ecd
JVM_IR special handling for 'remove' collection method stub
2020-09-16 15:36:16 +03:00
Kirill Shmakov
e6e47f8848
Make watchOS test runnable on another bitness
2020-09-16 14:58:28 +03:00
Alexey Tsvetkov
c56952a01e
Provide message collector for Java IC analysis
...
#KT-37446 Fixed
2020-09-16 14:04:51 +03:00
Victor Petukhov
17db188b0e
Add regression test for already fixed issue KT-41396
2020-09-16 14:02:32 +03:00
Alexander Anisimov
5e46e5355d
Merge pull request #3706 from 1anisim/patch-2
...
Update ReadMe.md
2020-09-16 13:59:12 +03:00
Igor Yakovlev
57ebd0e13a
[FIR IDE] Remove unused code and add logging to LightClassProvider
...
Remove not used icons from independed icons provider
Add class logging to KotlinUsageTypeProvider
Remove redundant comments from LightClassProvider
2020-09-16 10:47:47 +03:00
Igor Yakovlev
be4fcd626c
[FIR IDE] Separate searchers from descriptor usage
...
KotlinConstructorDelegationCallReferenceSearcher
KotlinConventionMethodReferencesSearcher
KotlinDefinitionsSearcher
KotlinOverridingMethodReferenceSearcher
KotlinPropertyAccessorsReferenceSearcher
KotlinTodoSearcher
2020-09-16 10:47:47 +03:00
Abduqodiri Qurbonzoda
36e6247125
Add more details about bit shift operations #KT-41112
2020-09-16 04:05:12 +03:00
Abduqodiri Qurbonzoda
1c0ac850e8
Incorrect documentation for rangeTo function #KT-41356
2020-09-16 04:05:12 +03:00
Steven Schäfer
56c4a27887
Android Synthetics: Resolve unbound symbols in the AndroidIrExtension
2020-09-15 22:36:50 +02:00
Steven Schäfer
fe466f3dc6
Android Synthetics: Update test infrastructure
2020-09-15 22:36:50 +02:00
Alexander Udalov
fb183ec3f8
Never use JVM IR to compile coroutines-experimental
...
JVM IR backend doesn't support old coroutines, so we disable it via
-Xno-use-ir, just as for the main source set. This option has no effect
for the current master builds, but will be necessary once JVM IR is
enabled project-wide.
2020-09-15 19:59:14 +02:00
Alexander Udalov
f6187b9d64
Remove dependency of fir:tree:tree-generator on kotlin-reflect
...
This dependency was unused. It allows to avoid waiting for compiling
kotlin-reflect (which includes descriptors, deserialization, etc.)
before compiling FIR modules and thus improves total build time.
2020-09-15 19:59:14 +02:00
Ilmir Usmanov
58146c4452
Keep DebugMetadata annotation when regenerate lambda with state-machine
...
When a suspend lambda does not capture crossinline lambda, it is
generated with as state-machine, since it does not inline anything.
However, when regenerating, the inliner used to remove all DebugMetadata
annotations to avoid duplication. This lead to missing annotation if
the lambda is regenerated, but state-machine is not regenerated.
This change fixes the blind spot by readding the annotation after
regeneration.
#KT-41789 Fixed
2020-09-15 19:57:02 +02:00
Kirill Shmakov
12489ef1b4
Show run test gutters only when appropriate
...
This is to fix KT-36370
2020-09-15 19:09:52 +03:00
Victor Petukhov
8cabfda832
Add regression test for already fixed issue KT-41885
2020-09-15 19:03:16 +03:00
Ivan Gavrilovic
7c360c0068
Kotlin Gradle plugin - use build service to share incremental compilation info
...
For large projects, incremental comilation mapping information may be quite
large. With configuration caching enabled, each task gets its own copy of that
state, and for a project with 1400 subprojects, this resulted in 3.6GB of additional
state stored (once task graph is cached).
This change introduces IncrementalModuleInfoProvider which allows build service
to be used if configuration caching is enabled, and it falls back to static
constant otherwise.
2020-09-15 15:19:56 +03:00
Igor Yakovlev
16d51eb510
[FIR IDE] Add ReadWriteAccessChecker FIR stub
2020-09-15 11:25:07 +03:00
Igor Yakovlev
7a19bc32a7
[FIR IDE] Add base implementation of find usages of overrides
2020-09-15 11:25:07 +03:00
Igor Yakovlev
f05630fcab
[FIR IDE] Enabled search services and added services stubs
2020-09-15 11:25:07 +03:00
Igor Yakovlev
1a10275d0d
[FIR IDE] Enabled usages services and added services stubs
2020-09-15 11:25:06 +03:00
Igor Yakovlev
75347d06b9
[FIR IDE] Move IconProvider in fir independed module
2020-09-15 11:25:06 +03:00
Igor Yakovlev
e30f09d513
[FIR IDE] Separate find usages logic from descriptors
2020-09-15 11:25:06 +03:00
Pavel Kirpichenkov
b102042dd8
Minor: add regression test for KT-41806
2020-09-15 10:52:47 +03:00
Jinseong Jeon
2fad935ce2
FIR deserializer: load inline/external flags properly
2020-09-15 10:21:35 +03:00
Sergey Bogolepov
2154c94100
[Native] Add tests for resolvable properties
2020-09-15 13:54:10 +07:00
Sergey Bogolepov
5a0a853d9b
[Native] Add simple symbol mechanism to konan.properties
...
Java Properties format is extremely trivial and does not support any
kind of references or variables. It makes konan.properties repetitive.
This commits adds support of perl-like `$` sigil which allows to
reference properties inside values.
2020-09-15 13:54:09 +07:00
Pavel Punegov
fc35b5398c
Mute test in Native
2020-09-14 23:41:47 +03:00
Nikita Bobko
0b2d05ee30
Minor: dereference archiveFile when logging it
...
Previously it was "Plugin artifacts packed to task ':zipPlugin' property 'archiveFile'"
After fix it's "Plugin artifacts packed to /home/bobko/jb/kotlin/build/kotlin-plugin.zip"
`archiveFile` has type `Provider<RegularFile>`
2020-09-14 21:37:09 +03:00
Aleksei Cherepanov
c64c319231
JPS. Suppress "Add new files to git" during portable artifacts extraction
2020-09-14 19:06:43 +03:00
Roman Golyshev
7e2269a3cf
Update completion-ranking-kotlin dependency (0.1.2 -> 0.1.3)
2020-09-14 15:19:36 +00:00
Mikhail Glukhikh
97ebf2867a
[FIR] Get rid of type mismatch suppression during diagnostic casting
2020-09-14 18:08:33 +03:00
Mikhail Glukhikh
6fd3b011ca
[FIR] Simplify substitution for unsafe-variant type parameter types
...
#KT-41792 Fixed
2020-09-14 18:08:31 +03:00
Mikhail Glukhikh
e1b4108e4a
[FIR2IR] Mute some tests due to captured type problems
2020-09-14 18:08:30 +03:00
Mikhail Glukhikh
aa897db132
[FIR] Introduce UnsafeVariance attribute (see KT-41792)
2020-09-14 18:08:29 +03:00
Mikhail Glukhikh
e4aaae9ae7
FIR call completion: approximate type argument types
...
This commit removes some captured / ILT types at the end of resolve
2020-09-14 18:08:28 +03:00
Mikhail Glukhikh
3b828ac62b
[FIR] Bad test data fixes (around captured types)
2020-09-14 18:08:27 +03:00
Mikhail Glukhikh
cf5480a398
[FIR] Questionable test data fixes (around captured types)
2020-09-14 18:08:26 +03:00
Mikhail Glukhikh
4605a65f41
[FIR] Good test data fixes (around captured types)
2020-09-14 17:56:39 +03:00
Mikhail Glukhikh
c2d9fc469a
Get rid of exception at ConeKotlinType.varargElementType
2020-09-14 17:56:37 +03:00
Mikhail Glukhikh
2f61a2f56f
[FIR] Provide correct comparison of captured types
2020-09-14 17:56:36 +03:00
Mikhail Glukhikh
b5f8fec213
FIR substitution: use standard approximation to remove captured types
2020-09-14 17:56:35 +03:00
Mikhail Glukhikh
7a73787680
[FIR] Use captureFromArguments in createSubstitution
...
This commit breaks ~57 resolve tests because captured types
now exists at the end of FIR resolve
2020-09-14 17:56:34 +03:00
Mikhail Glukhikh
e83f3bbf04
Introduce substitution to ConeTypeContext.captureFromArguments
...
This commit itself does not influence anything
2020-09-14 17:56:33 +03:00
Mikhail Glukhikh
414842343d
[FIR2IR] Add another problematic test with captured type argument
2020-09-14 17:56:32 +03:00
Mikhail Glukhikh
267382d86b
[FIR2IR] Add problematic test with incorrect type argument
...
NB: we should not have <E> as AbstractFirBasedSymbol type argument,
because it isn't accessible in the current scope. Star expected instead.
2020-09-14 17:56:30 +03:00
Dmitry Petrov
b395771d01
KT-37050 don't generate redundant special bridges
...
Loosely based on https://github.com/JetBrains/kotlin/pull/3662
2020-09-14 16:13:34 +03:00
Alexander Udalov
f0282bcfdf
JVM IR: add module name for internal functions before "$default"
...
The change is a bit complicated because the name mapping logic is
refactored so that we would compute the needed suffix first (either
module name, or multifile part class name), and then shove it into the
mangled name between the original function name and "$default", if the
function in question is the default arguments adapter.
The main motivation for this change was to fix KT-41809, but as a side
effect, private functions with default arguments in multifile parts now
also contain the file name, just like normal private functions.
#KT-41809 Fixed
2020-09-14 13:18:24 +02:00
Alexander Udalov
93f38e1c61
JVM IR: minor, use more specific types in MethodSignatureMapper
2020-09-14 13:18:24 +02:00
Alexander Udalov
2a0f64ebcb
JVM IR: do not generate Deprecated(HIDDEN) class as synthetic
...
#KT-41810 Fixed
2020-09-14 13:18:24 +02:00
Ivan Gavrilovic
162dc3aa0c
KT-41295: Friend paths and compiler options compatible with conf caching
...
This change fixes serialization of friend paths and it uses
a file collection to record all friend paths. Also, when
computing the tested classpath for android projects, we now avoid
resolving the file collection until necessary.
Fixes: KT-41295
Test: ConfigurationCacheForAndroidIT
2020-09-14 13:31:52 +03:00
Dmitriy Novozhilov
be916e556a
[FIR] Properly update type of block after postponed analysis of it's content
2020-09-14 11:46:06 +03:00
Dmitriy Novozhilov
535898c8a4
[FIR] Fix processing integer operator calls for not integer types
2020-09-14 10:57:10 +03:00
Dmitriy Novozhilov
def647c094
[FIR] Don't constraints for return expressions of lambda if it has Unit return type
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
8e0d0d2fd8
Remove redundant safe call to fix FIR compilation
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
4929417aea
Remove redundant type arguments to fix compilation with FIR
...
#KT-41835
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
324aaaddad
[FIR] Rename createArrayOf to createArrayType
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
3b941a8f43
[FIR] Complete types of array literals in annotations
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
fbe964c074
[FIR] Transform annotations on safe calls
2020-09-14 10:57:08 +03:00
Jinseong Jeon
0bd7de158c
FIR: update suspend lambda type during declaration resolution
2020-09-14 10:20:45 +03:00
Jinseong Jeon
680dd64211
FIR2IR: pick return target based on matched IrFunction
2020-09-14 10:09:51 +03:00
Jinseong Jeon
6ebad9589a
FIR2IR: set proper IR origin for iterator in ranges
2020-09-14 10:09:45 +03:00
Mikhail Glukhikh
578e707ab9
FIR2IR: set VARIABLE_AS_FUNCTION origin only for invoke receivers
2020-09-14 10:09:32 +03:00
Mikhail Glukhikh
f0a2a62405
[FIR2IR] Minor: coneTypeSafe -> coneType
2020-09-14 09:18:46 +03:00
Jinseong Jeon
89ffce22d8
FIR2IR: set proper IR origin for variable as function
2020-09-14 09:05:08 +03:00
Andrey Uskov
bf3a7e5fea
Add more tasks in Gradle build for running GradleIT in parallel
2020-09-13 22:48:12 +03:00
Nikolay Krasko
a7f57646bf
Prevent rebuilding by avoid registering doFirst on source tasks (KTI-324)
...
Do the check for empty directories at the build end instead.
Registering doFirst makes constant recompile when switching from Kotlin to Kotlin
Native composite with the reason:
```
The task was not up-to-date because of the following reasons:
One or more additional actions for task ':kotlin:kotlin-stdlib-common:compileKotlinCommon' have changed.
```
Exact reason why actions are different is not clear (there's a single
action in both builds in comparison), but probably the reason in
different types due to usage of composite build.
#KTI-324 Fixed
2020-09-13 19:18:01 +03:00
Alexander Udalov
9250d86915
JVM IR: generate field for private companion object in interface as synthetic
2020-09-13 09:13:27 +02:00
Alexander Udalov
fc141a52da
IR: minor, make IrClass.companionObject return IrClass
2020-09-13 09:13:26 +02:00
Alexander Udalov
2f86554d5a
IR: don't produce fake overrides for static and private declarations
...
Note that only irrelevantStaticProperty.kt failed before this change.
Having private declarations caused no problems, but it seems incorrect,
so it's fixed now and irrelevantPrivateDeclarations is added just in
case.
#KT-41848 Fixed
2020-09-12 20:01:34 +02:00
Roman Golyshev
703150e3ad
FIR IDE: Refactor LowLevelFirApiFacade.kt
2020-09-12 11:49:36 +00:00
Roman Golyshev
edb277b30a
FIR Completion: Enable passing tests
2020-09-12 11:49:36 +00:00
Roman Golyshev
dcc22d3e5d
FIR IDE: Fix completion in property setters
...
Property consists of getter and setter (both optional). The setter
have a single `value` parameter with type
Because of it, we have to make a separate 'frankenstein setter' with
original resolved header, but with the body of the fake one
It seems that getters does not have such issues
2020-09-12 11:49:35 +00:00
Roman Golyshev
5c1520305b
FIR IDE: Build symbols from any FirValueParameter
2020-09-12 11:49:35 +00:00
Roman Golyshev
ae8933dbd2
FIR IDE: Correctly handle properties in KtFirCompletionCandidateChecker
...
- Introduce `EnclosingDeclarationContext` to remove code duplication
2020-09-12 11:49:34 +00:00
Roman Golyshev
6fd871d0ba
FIR IDE: Add building completion context for properties
2020-09-12 11:49:33 +00:00
Roman Golyshev
58965d1e71
FIR IDE: Implement RawFirBuilder::buildPropertyWithBody, add tests
2020-09-12 11:49:33 +00:00
Georgy Bronnikov
5f57311015
JVM_IR: remove .toKotlinType() from intrinsics.Equals
2020-09-12 12:59:12 +03:00
Georgy Bronnikov
2c1735c211
JVM_IR: remove descriptor usage from JvmOptimizationLowering
2020-09-12 12:59:12 +03:00
Georgy Bronnikov
a14c9018b1
JVM_IR: remove descriptor usage from SyntheticAccessorLowering
2020-09-12 12:59:12 +03:00
Georgy Bronnikov
3327524e18
JVM_IR: remove descriptor usage from TypeAliasAnnotationMethodsLowering
2020-09-12 12:59:12 +03:00
Georgy Bronnikov
905978a458
JVM_IR: remove descriptor usage from JvmCachedDeclarations
2020-09-12 12:59:12 +03:00
Georgy Bronnikov
92b03e7ede
JVM_IR: Remove descriptor usage from IrSourceCompilerForInline
2020-09-12 12:59:03 +03:00
Georgy Bronnikov
0a66dbf2b5
JVM_IR: remove descriptor usage in CompareTo intrinsic
2020-09-12 12:58:29 +03:00
Toshiaki Kameyama
370622087b
Redundant nullable return type: false negative with return expression in local function or lambda
...
#KT-41817 Fixed
2020-09-11 19:09:57 +02:00
Toshiaki Kameyama
de3907e8cc
Redundant nullable return type: fix false positive with non-local return
...
#KT-41800 Fixed
2020-09-11 19:09:57 +02:00
Ilya Gorbunov
349cad7b9a
Minor: migrate remaining scanReduceIndexed usages
2020-09-11 19:08:04 +03:00
Alexander Gorshenev
744f290fc4
A proper modality calculation was missing in IR fake override construction algorithm
...
#KT-41765 Fixed
2020-09-11 18:56:17 +03:00
Louis CAD
2886f48795
Improve spelling in Kotlin Test module's README.md
2020-09-11 18:45:58 +03:00
Louis CAD
64408c19f8
Add missing "The" article in kotlin.test doc
2020-09-11 18:20:37 +03:00
Andrey Uskov
175a8bec9d
Make KotlinCoreEnvironment.disposeApplicationEnvironment() public
...
The method disposeApplicationEnvironment should be used in Gradle
after the configuration phase. This allows not to recreate the compiler
environment after each kts file compilation and improve overall
performance the evaluation and configuration phases.
2020-09-11 15:13:11 +03:00
Victor Petukhov
fca6436170
Fix IDE test after bcd33da6f8
2020-09-11 13:51:15 +03:00
Igor Yakovlev
e08763f3dd
[ULC] Add annotations for PsiTypes in UltraLight classes
...
WIP on KT-41148, KT-41406, KT-41420
2020-09-11 12:49:05 +03:00
Igor Yakovlev
b82d8cd4f4
[ULC] Fixed invalid access to lightclass infrastructure from UL
2020-09-11 12:49:05 +03:00
Igor Yakovlev
8fc94ddb8c
[UCL] Minor fixes
2020-09-11 12:49:05 +03:00
Igor Yakovlev
97ac86273a
[ULC] Add support of const fields to multifile facade
2020-09-11 12:49:05 +03:00
Igor Yakovlev
309bf49a83
Update lightclass tests renderer
...
+mute invalid old light classes tests
2020-09-11 12:49:04 +03:00
Igor Yakovlev
c70383cc70
[ULC] Add compiler flag -Xdisable-ultra-light-classes to fallback to light implementation in CLI
2020-09-11 12:49:04 +03:00
Nicolay Mitropolsky
e53db4c771
Uast: fixing WrappedUAnnotation identifiers
2020-09-11 12:49:04 +03:00
Igor Yakovlev
4b8f1bb362
[ULC] Add LanguageVersionSettings to CliLightClassGenerationSupport
...
+ refactoring
2020-09-11 12:49:04 +03:00
Igor Yakovlev
31b4a021a9
[ULC] Add JvmDeclarationOriginKind.DELEGATION to DeclarationOriginKindForOrigin of delegated methods
2020-09-11 12:49:03 +03:00
Igor Yakovlev
b263e1c924
[ULC] Remove nullability annotation for UL backing fields of private props
2020-09-11 12:49:03 +03:00
Igor Yakovlev
a36d53e086
[ULC] Skip nullability annotation for backing field of lateinit property
2020-09-11 12:49:03 +03:00
Igor Yakovlev
cd32cf7828
[ULC] Add PsiElement overrides for UL elements with source
2020-09-11 12:49:03 +03:00
Igor Yakovlev
131c14626c
[ULC] Fix invalid alias search for UL classes
2020-09-11 12:49:03 +03:00
Igor Yakovlev
2c16ae968d
[ULC] Add support @receiver annotation site to UL classes
2020-09-11 12:49:02 +03:00
Igor Yakovlev
dbb4337ac4
[ULC] Fix invalid annotation resolve for KtUltraLightParameterForSetterParameter
2020-09-11 12:49:02 +03:00
Igor Yakovlev
db6aa9140d
[ULC] Refactor for lightAnnotations classes
2020-09-11 12:49:02 +03:00
Igor Yakovlev
c4cee35cca
[ULC] Fixed invalid UL facade annotations
...
1) Hide annotations for MultiFile class
2) Remove nullability for private fields
2020-09-11 12:49:01 +03:00
Igor Yakovlev
6542ea9ba1
[ULC] Add constant evaluation to light classes service
2020-09-11 12:49:01 +03:00
Igor Yakovlev
55bb8f24e3
[ULC] Move UltraLightSupport to service provided bridge
2020-09-11 12:49:01 +03:00
Igor Yakovlev
7cb2631991
[ULC] Fix light class Coherence test
2020-09-11 12:49:01 +03:00
Igor Yakovlev
7b0eb51f8d
[ULC] Add annotation support for UL facades
2020-09-11 12:49:01 +03:00
Igor Yakovlev
a5e304f520
[ULC] Better nullability annotations for light classes
2020-09-11 12:49:00 +03:00
Igor Yakovlev
c3810dc223
[ULC] Fixed UL backing field initializers
2020-09-11 12:49:00 +03:00
Igor Yakovlev
129979b0ff
[ULC] Improve UL facades for private properties without accessors
2020-09-11 12:49:00 +03:00
Igor Yakovlev
025e2f2fe9
[ULC] Better support for UL MultifileFacade classes
2020-09-11 12:49:00 +03:00
Igor Yakovlev
bc12fb0d6b
[ULC] Enable UL for script classes
2020-09-11 12:49:00 +03:00
Igor Yakovlev
1d248f1a00
[ULC] Fixed invalid fqName for script inner classes
2020-09-11 12:49:00 +03:00
Igor Yakovlev
236e41e024
[ULC] Fixed invalid super type for UL scripts
2020-09-11 12:48:59 +03:00
Igor Yakovlev
6accc8fcf9
[ULC] Fixed invalid constructor parameter list for UL script
2020-09-11 12:48:59 +03:00
Dmitriy Novozhilov
bf91ada06c
[NI] Suppress false positive IDEA warnings in NewConstraintSystemImpl
2020-09-11 12:13:34 +03:00
Dmitriy Novozhilov
178cef5631
[FIR] Don't create synchronized lazy for constraint system in candidate
2020-09-11 12:13:34 +03:00
Dmitriy Novozhilov
a528deef0a
[FIR] Update testdata due to previous commit and KT-37638
...
JavaSymbolProvider looks for available class names using KotlinJavaPsiFacade
which don't return package private java classes which lays in files
with names that don't match with class names, so we can not build FIR
for such classes
2020-09-11 12:13:34 +03:00
Dmitriy Novozhilov
1dc3c93efa
[FIR] Don't assume types with not found symbol as error types
2020-09-11 12:13:33 +03:00
Dmitriy Novozhilov
7f692be11e
[FIR] Properly detect callable reference type according conversions
2020-09-11 12:13:33 +03:00
Mikhail Glukhikh
ec93e5886a
[FIR2IR] Fix generation of accessors' extension receiver (f/o case)
2020-09-11 11:43:00 +03:00
Dmitriy Novozhilov
36d2129fd3
Move common deserialization classes from :core:metadata modules
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
07a3009d43
Introduce new modules for common parts of deserialization
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
2f4bd626fc
[FIR] Make constant values in fir serialization internal
...
This is needed to avoid possible name clash with ConstantValue from FE 1.0
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
9e1e525343
Fix circular dependency between :core:compiler:common.jvm and :core:metadata.jvm
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
c82d9ea9f4
Remove dependency on :compiler:frontend.java from :compiler:fir:java
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
1417fcecb8
Move more common parts from :compiler:descriptors.jvm
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
192e07a07b
[FIR] Remove dependency on FE 1.0 modules form :compiler:fir:fir-deserialization
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
5d4d07066b
Move common deserialization components to :core:metadata and :core:metadata.jvm
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
cdab00fdc8
[FIR] Remove dependency on :core:deserialization from :compiler:fir:fir-serialization
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
9beeb51227
[FIR] Implement fir-specific contract values and fix annotations serialization
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
e1ad1aabc4
Move RequireKotlinConstants to :core:compiler.common
2020-09-11 10:08:34 +03:00
Dmitriy Novozhilov
8d2e89a9ea
Move ProtoEnumFlags to :core:metadata
2020-09-11 10:08:34 +03:00
Igor Chevdar
e39ce91253
[IR] Fixed fake override builder for lowerings
2020-09-11 09:35:01 +05:00
Andrey Uskov
7f4bda0d52
Enable FUS internal mode on IDE launching
2020-09-10 21:07:14 +03:00
Alexander Udalov
ae9c1af883
Do not use erroneous unsigned/signed comparison in UnsignedArraysTest
...
The error SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED is suppressed in this
file, and JVM IR is not able to generate comparisons of UInt and Long
(KT-41780).
2020-09-10 19:27:09 +02:00
Victor Petukhov
bcd33da6f8
Don't check an argument type during passing it to vararg in the named form to avoid false positives if the argument type is type variable yet
...
^KT-41144 Fixed
2020-09-10 19:38:26 +03:00
Ilya Goncharov
2c4c8cdf01
[Wizard] Update versions in wizard
2020-09-10 19:25:26 +03:00
Vladimir Dolzhenko
38854ce40b
Disable profilerConfig for AHeavyInspectionsPerformanceTest
2020-09-10 16:23:51 +02:00
Vyacheslav Gerasimov
e3b07120bb
Build: Don't retry tests in local builds
2020-09-10 16:50:43 +03:00
Kirill Shmakov
29f3811bab
Update gradle tooling
...
In response to a766369e72
2020-09-10 16:07:30 +03:00
Kirill Shmakov
60b812f452
Reorder arguments in KotlinNativeTest for better debug
...
Previously it was broken on Linux and worked poorly on macOS
2020-09-10 16:07:28 +03:00
1anisim
b202cf0f55
Apply suggestions from code review
...
Co-authored-by: Alexander Udalov <udalov@users.noreply.github.com >
2020-09-10 15:30:33 +03:00
1anisim
33d3e1f13e
Update ReadMe.md
2020-09-10 14:13:42 +03:00
Jinseong Jeon
ef58e0cd71
FIR2IR: refactor adapter generation
2020-09-10 11:31:24 +03:00
Jinseong Jeon
5fdd06676f
FIR: discriminate candidates with suspend conversion
2020-09-10 11:31:24 +03:00
Jinseong Jeon
6de8ba40c1
FIR: initial support of suspend conversion on arguments
2020-09-10 11:31:24 +03:00
Jinseong Jeon
49679f3145
FIR: map arguments for overloading indexed access operator
2020-09-10 11:25:36 +03:00
Vladimir Dolzhenko
a73856be66
Add warn message to ReplaceWithIgnoreCaseEquals inspection.
...
Relates to ^KT-40016
2020-09-10 08:20:54 +00:00
Vladimir Dolzhenko
5036673187
Improve package caching in KotlinJavaPsiFacade
...
^KT-33394 Fixed
2020-09-10 07:38:46 +00:00
Andrey Uskov
05d3e48564
Implemented collecting statistics about JS target mode
2020-09-10 00:39:27 +03:00
Ilya Goncharov
4716228500
Add js generate executable default collecting statistics
...
#KT-40462 Fixed
2020-09-10 00:39:24 +03:00
Ilya Goncharov
405e271b68
Add js generate externals collecting statistics
...
#KT-39995 Fixed
2020-09-10 00:39:20 +03:00
Vladimir Dolzhenko
6f03e42ef7
Revert back Inspection: convert initialized val to non-null type
...
Relates to ^KT-35757
Relates to ^KT-19321
2020-09-09 23:38:21 +02:00
Vladimir Ilmov
12ebd429bc
Revert "Light classes support for declarations in multipart classes."
...
This reverts commit 3ea51a982c .
2020-09-09 19:46:03 +02:00
Vladimir Dolzhenko
d324ae6cda
Fix AS 4.0 compilation
2020-09-09 17:59:49 +02:00
Ilmir Usmanov
0492a52a6a
Minor. Regenerate tests
2020-09-09 17:43:43 +02:00
Ilmir Usmanov
52f9569d33
Generate CHECKCAST Object inside the markers
...
otherwise, the unboxing interferes with bytecode analysis.
2020-09-09 17:43:42 +02:00
Ilmir Usmanov
e8a451072e
Minor. Add tests with same JvmType in covariant override
2020-09-09 17:43:41 +02:00
Ilmir Usmanov
7cbd067460
Add tests with resume path
2020-09-09 17:43:39 +02:00
Ilmir Usmanov
1c97eafea8
Check for COROUTINE_SUSPENDED inside callable reference
...
#KT-41429 Fixed
2020-09-09 17:43:37 +02:00
Ilmir Usmanov
4303e8126f
Do not generate suspend markers inside callable reference
...
#KT-41429
#KT-25519 Fixed
2020-09-09 17:43:36 +02:00
Ilmir Usmanov
ccc5b7afe0
Box inline class in resume path of suspend call
...
#KT-41429
2020-09-09 17:43:35 +02:00
Ilmir Usmanov
023cdd7cd4
Support not boxing inline class of reference class
...
even if the class is other than Any.
#KT-41429 In progress
2020-09-09 17:43:34 +02:00
Toshiaki Kameyama
5c011bc954
Don't report when property is multi-line and action is MOVE
2020-09-09 22:31:56 +07:00
Toshiaki Kameyama
4569b85a16
MoveVariableDeclarationIntoWhenInspection: report it if initializer is single line even if property is multi line
...
#KT-39467 Fixed
2020-09-09 22:31:56 +07:00
Vladimir Ilmov
75d4c7e91c
Find stdlib usages test case
...
relates to #KT-39196
2020-09-09 17:30:04 +02:00
Vladimir Ilmov
8b239d89b6
SourceNavigationHelper multifile classes support
...
Use .class files as BINARY instead of .metadata.
relates to #KT-39196
2020-09-09 17:30:04 +02:00
Vyacheslav Gerasimov
3764eeba25
Build: Setup gradle.test-retry plugin for all test tasks in the project
2020-09-09 18:20:01 +03:00
Alexander Udalov
3d7619421f
JVM IR: fix exception on star projection in type parameter upper bound
...
#KT-41761 Fixed
2020-09-09 17:07:52 +02:00
Victor Petukhov
685d16ec68
NI: don't do substitution for unsupported callable descriptors to use as callable references
...
^KT-41729 Fixed
2020-09-09 18:00:41 +03:00
Ilya Goncharov
668098f3a8
[Gradle, JS] Add simple files without kotlinx.html
...
^KT-41696 fixed
2020-09-09 17:24:08 +03:00
Vladimir Ilmov
3ea51a982c
Light classes support for declarations in multipart classes.
...
relates to #KT-39196
2020-09-09 15:01:55 +02:00
Vladimir Ilmov
a5d91339b5
(lightClass) multifile classes facade in libraries added
...
relates to #KT-39196
2020-09-09 15:01:54 +02:00
Vladimir Dolzhenko
ac22232b8d
Register disposable startup items in PluginStartupService
2020-09-09 12:51:19 +00:00
Vladimir Dolzhenko
e5985ad98b
Rename PluginStartupService to PluginStartupApplicationService
2020-09-09 12:51:18 +00:00
Victor Petukhov
c1ebd33833
Capture flexible intersection types properly: take into account both bounds and use the same captured arguments for them
...
^KT-41693 Fixed
2020-09-09 14:52:12 +03:00
Victor Petukhov
140edb2215
Consider intersection with ILT subtype of ILT
2020-09-09 13:55:07 +03:00
Roman Golyshev
7bd9c52732
FIR Completion: Fix completion in function calls (foo.bar<caret>())
...
In such expressions, `KtCallExpression` wraps `KtSimpleNameExpression`,
so `getQualifiedExpressionForSelector()` returns `null`
Also, enable tests that are fixed by this
2020-09-09 13:14:08 +03:00
Roman Golyshev
2d4d48b401
FIR IDE: Invert the order of the scopes for completion
...
This way local declarations will be fetched first
2020-09-09 13:14:08 +03:00
Dmitriy Novozhilov
f748d8cf70
[FIR] Extract ResolutionContext to separate file
2020-09-09 12:38:36 +03:00
Dmitriy Novozhilov
1a84ec9677
[FIR] Mark all session components respectively to they have mutable state or not
...
Also add documentation for all fir annotations
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
8686e3779e
[FIR] Make all session components abstract classes
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
caf325934c
[FIR] Unmake FirSamResolver as session component
...
It can not be stored in session because it depends on scope session
and have mutable state
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
29addd2a2b
[FIR] Make InferenceComponents session component
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
41b395b0aa
[FIR] Extract mutable state from InferenceComponents
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
d70858edfa
[FIR] Get rid of inference components in CheckerSink
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
912676d868
[FIR] Introduce ResolutionContext and get rid of components in Candidate
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
c53ffca34f
[FIR] Extract BodyResolveContext from FirAbstractBodyResolveTransformer
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
edb1273355
[FIR] Report ResolutionDiagnostics instead of applicability in resolve
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
a148db9d81
[FIR] Get rid of CandidateApplicability.SYNTHETIC_RESOLVED
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
19707667fd
[FIR] Cleanup detection that applicability is successful
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
68f3d84e22
[FIR] Use CandidateApplicability from FE 1.0
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
cd557ad178
Change order of enum entries in CandidateApplicability
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
d1568c1ce6
Rename ResolutionCandidateApplicability to CandidateApplicability
2020-09-09 12:38:33 +03:00
Mikhail Glukhikh
db2e3f219f
[FIR] Keep bare type for type alias case
2020-09-09 12:16:09 +03:00
Alexander Udalov
3a5d0ab427
JVM IR: fix HashCode intrinsic for generics substituted with primitives
...
The problem here was that although the IR type of the expression was
primitive, the type of the actual expression in the bytecode generated
after type erasure was `Ljava/lang/Object;`, and we were trying to call
a non-existing method `Object.hashCode(Object)`.
#KT-41669 Fixed
2020-09-08 23:37:00 +02:00
Alexander Udalov
c46c80822c
JVM IR: fix enclosing constructor for lambdas in inner classes
...
Before this change, we stored the enclosing constructor in a map in
JvmBackendContext before moving lambdas and local classes out of
initializer blocks. However, in case the lambda was declared in an inner
class, we stored a reference to the unlowered constructor of the inner
class, whose JVM signature is "()V" instead of the correct "(LOuter;)V".
Java reflection then threw exception if we tried to call
`getEnclosingConstructor()` on such class at runtime. Proguard finished
with errors for the same reason.
It turns out that we can just store the fact that the class has been
moved, and load the matching constructor in codegen, where everything is
already lowered and guaranteed to match with the signatures of the
actual generated declarations.
#KT-41668 Fixed
2020-09-08 23:37:00 +02:00
Alexander Udalov
228e329d1f
JVM IR: generate enclosing constructor only for lambdas in initializers
...
There was a typo in JvmLocalClassPopupLowering which allowed the
EnclosingMethod for lambdas and anonymous classes in initializers to
become any function in a class, in case when there was no primary
constructor in that class. E.g. in the added test, `getIrrelevantField`
was the EnclosingMethod of the lambda class before this change.
2020-09-08 23:37:00 +02:00
Ilya Kirillov
2ab68b3245
Wizard: move boolean setting description to the bottom
2020-09-09 00:20:58 +03:00
Ilya Kirillov
ce00366c7f
Wizard: fix when first selected template cannot be applied
2020-09-09 00:20:58 +03:00
Ilya Kirillov
3a6011fae9
Wizard: always generate android MPP tests
...
#KT-40940 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
553c525701
Wizard: fix Gradle buildscript formatting
...
#KT-37965 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
0f799d593d
Wizard: specify test platform to use on JVM
...
#KT-37965 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
7002e86d6b
Wizard: fix path & artifactId updating on name update
...
#KT-41695 fixed
2020-09-09 00:20:56 +03:00
Alexander Udalov
929b5f727d
Build: add :compiler:fir:entrypoint to compilerModules
...
This fixes FIR usage from the CLI compiler.
2020-09-08 20:26:28 +02:00
Alexander Udalov
7fb7dc0210
Fix deprecation warnings related to Project extensions
2020-09-08 20:26:20 +02:00
Alexander Udalov
196893bc4d
Build: fix more warnings about deprecated/Alpha MPP plugins
...
Using the new flags added in KT-41340 and
413d02621b .
2020-09-08 20:26:20 +02:00
Mads Ager
06680452dc
[JVM_IR] Always look for default lambdas in the inliner.
...
This allows compiler plugins such as Compose to do custom
default argument handling in methods that do not have origin
`FUNCTION_FOR_DEFAULT_PARAMETER`.
The code still bails out early is there is not defaults
mask, so there should be no compile-time penalty.
2020-09-08 19:07:31 +02:00
anastasiia.spaseeva
a12e22bba4
[Spec tests] Fix dependencies for spec tests generator
2020-09-08 16:14:47 +03:00
1anisim
cf9f120d55
Update ReadMe.md
...
Added a section about Multiplatform Capabilities, highlighted KMM
2020-09-08 14:54:47 +03:00
Ilya Goncharov
9d3426486b
[Gradle, JS] Support explicitApi in js plugin
...
^KT-41328 fixed
2020-09-08 12:54:11 +03:00
Dmitriy Novozhilov
28a83b04cd
[FIR] Minor. Fix code style
2020-09-08 12:51:13 +03:00
Dmitriy Novozhilov
67604dcb66
[FIR] Add generator for checkers aliases and sets of checkers
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
4de57fcac2
[FIR] Initialize module for checkers generator
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
6656669551
[FIR] Fix typo
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
3b9e86ccbf
[FIR] Remove empty file
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
a8a5ed3cd3
[FIR] Get rid of runCheck in checkers components
2020-09-08 12:51:11 +03:00
Dmitriy Novozhilov
71a855112e
[FIR] Get rid of ParallelDiagnosticsCollector
2020-09-08 12:51:11 +03:00
Ilya Goncharov
20a1ea0413
[Wizard, JS] Change js compiler default
...
^KT-41656 fixed
2020-09-08 12:48:52 +03:00
Dmitry Petrov
6746bd81d5
PSI2IR tests for KT-41735
2020-09-08 12:34:19 +03:00
Vladimir Ilmov
aa04c0b5df
Parent call already on KotlinBuiltInDecompiler.kt:79
2020-09-08 10:59:17 +02:00
Steven Schäfer
44ffb1fb3e
Psi2Ir: Fix SAM conversion with new inference
2020-09-08 11:14:14 +03:00
pyos
75891e860b
FIR2IR: split getIrPropertyOrFieldSymbol, handle locals there
2020-09-08 08:40:13 +03:00
pyos
f198a19ab0
FIR2IR: add local delegated property generation
2020-09-08 08:40:07 +03:00
Steven Schäfer
4792be2522
JVM IR: Optimize static property references (KT-36975)
2020-09-07 21:01:29 +02:00
Alexander Udalov
669fda6b77
Do not add duplicate $completion when compiling JVM against JVM_IR
...
This change fixes JvmOldAgainstIrBoxInlineTestGenerated.Suspend and
JvmIrAgainstOldBoxInlineTestGenerated.Suspend tests.
2020-09-07 19:41:38 +02:00
Alexander Udalov
ae448ececb
Minor, add compileKotlinAgainstKotlin test case for KT-41374
2020-09-07 19:41:37 +02:00
Alexander Udalov
9e357354fb
Add JVM/JVM_IR mixed compilation tests for compileKotlinAgainstKotlin/boxInline
2020-09-07 19:41:37 +02:00
Alexander Udalov
e324733b01
Tests: accept TargetBackend in KotlinBaseTest.createConfiguration
2020-09-07 19:41:37 +02:00
Alexander Udalov
0dea6b94c6
JVM IR: unmute boxInline tests on enclosing method/class
...
In box tests, only check that Java reflection does not crash on the
EnclosingMethod attribute generated in these classes. If it doesn't
crash, most likely it returns the value that can be read from the class
file by ASM, which is what the newly added bytecode listing tests are
checking now.
2020-09-07 19:41:37 +02:00
Ilya Goncharov
985088a3f1
[Gradle, JS] Add test on dukat with both mode
2020-09-07 19:29:17 +03:00
Ilya Goncharov
b694e3b009
[Gradle, JS] Dukat with both create externals only once
2020-09-07 19:29:17 +03:00
Ilya Goncharov
210cd982f0
[Gradle, JS] Use webpack config's required dependencies in karma
...
^KT-41663 fixed
^KT-41662 fixed
2020-09-07 18:56:47 +03:00
Pavel Kirpichenkov
b5aca450b1
Make cancellation checks when building resolution anchor caches
...
^KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
54811613f4
Minor: drop unnecessary wrapper for utility function
...
^KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
1ff064d98d
Make Kotlin OOCBM updater for modules internal again
...
Replace direct API access with dedicated service.
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
9d6bdc6fc4
Support modification tracking for source-dependent LibraryInfo
...
#KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
6abd708d42
Preserve order entry to module info mapping in IdeaModelInfosCache
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
24d8aee2bb
Prioritize resolution anchors during resolution
...
When required dependency is present both in source dependencies and in
library dependencies, the former one should be selected.
#KT-24309
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
f8ee976720
Use union of all available descriptors in composite importing scope
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
5892bdf3f4
Extend import resolution for library-to-source analysis
...
Use composite importing scope for references when resolution anchors are enabled.
Composite scope provides additional descriptors from scope of resolution anchor module.
Overriding old importing scope with a new one is not possible as it breaks library
dependencies on other libraries, which are inaccessible in anchor scope (scope for sources).
KT-24309 In Progress
2020-09-07 18:52:10 +03:00
Roman Golyshev
8c876e4621
FIR IDE: Get rid of originalPosition in KtFirCompletionCandidateChecker
2020-09-07 18:46:38 +03:00
Roman Golyshev
828fc2520c
FIR IDE: Refactor KtFirCompletionCandidateChecker
...
- Move searching for the `originalEnclosingFunction`
to the `getImplicitReceivers`
2020-09-07 18:18:02 +03:00
Pavel Kirpichenkov
33ac487a42
[FIR-IDE] Fix leaking KtAnalysisSession
2020-09-07 17:40:18 +03:00
Roman Golyshev
909d418dd1
Improve diagnostics in KtElementImplStub::getContainingKtFile
...
- If containing file is not a `PsiFileImpl`, `getNode()` will
throw a CCE (which will prevent collecting the diagnostics)
- Relates to #EA-209630
2020-09-07 14:36:09 +00:00
Dmitry Petrov
5b53663eb8
PSI2IR KT-41181 don't generate deep trees in hashCode
2020-09-07 16:09:42 +03:00
Dmitry Petrov
ade1a346e1
JVM: add test for KT-40123
2020-09-07 16:09:42 +03:00
Vladimir Ilmov
45c67a90c2
(CoroutineDebugger) Disposing under IW lock.
...
#KT-41505 fixed
2020-09-07 14:50:07 +02:00
Sebastian Kaspari
01143f24a4
Add KotlinClassConstructorInfoHandler for showing parameter info of parameterized super class constructor.
...
^KT-41617 Fixed
2020-09-07 13:23:08 +02:00
Pavel Kirpichenkov
d674f519fd
[FIR-IDE] Fix completion check for generic extensions
...
Generic candidate extensions are completed in partial mode
when there is not enough information for type parameter in return position.
Partial completion mode in single candidate resolver leads to unconditionally failing candidate.
Providing noExpectedType instead of null guarantees full completion.
2020-09-07 13:38:11 +03:00
Vladimir Ilmov
60dfa8cc84
Ignore ProcessCancelledException in VirtualFileKotlinClass
2020-09-07 12:17:06 +02:00
Vladimir Dolzhenko
3de32e13ea
Clean up declarationAccessorNames debug check in UnusedSymbolInspection
...
declarationAccessorNames(KtNamedDeclaration) could be more than declaration.getAccessorNames() as it relies on LC, some of them could be not accessible
^EA-237873 Fixed
2020-09-07 09:36:28 +00:00
Vladimir Dolzhenko
127257aa27
Provide setter-method for LC for private property setter
...
^KT-41694 Fixed
2020-09-07 09:36:28 +00:00
Vladimir Dolzhenko
b5b319803b
Add more diagnostics to tackle exception in KotlinFunctionParameterInfoHandler
...
Relates to #EA-221900
2020-09-07 09:36:27 +00:00
Vladimir Dolzhenko
87e70cf690
Handle project disposed in ScriptDefinitionsManager
...
^EA-237136 Fixed
2020-09-07 09:36:26 +00:00
Vladimir Dolzhenko
4e3b1f141e
Use runReadActionInSmartMode instead of runReadAction in ConfigureKotlinInProjectUtils
...
runReadActionInSmartMode has no effect if it is already run under runReadAction - therefore it could lead to IndexNotReadyException
^EA-220414 Fixed
^EA-210940 Fixed
^KT-30929 Fixed
2020-09-07 09:36:26 +00:00
Vladimir Dolzhenko
02be470e91
Check if vFile is still valid in ScriptClassRootsUpdater#updateHighlighting
...
^EA-218774 Fixed
2020-09-07 09:36:25 +00:00
Vladimir Dolzhenko
ba027a785c
Fix NPE in GradleScriptInfo
...
^EA-237746 Fixed
2020-09-07 09:36:24 +00:00
Vladimir Dolzhenko
698f51079f
Perform paste reference resolve in smart mode
...
^EA-226712 Fixed
2020-09-07 09:36:24 +00:00
Dmitry Petrov
b00ce872ea
JVM: record JVM signature for equals/hashCode/toString in inline classes
2020-09-07 12:25:50 +03:00
Lilia
38975e4e7c
Add changelog for 1.4.10
2020-09-06 19:10:42 +07:00
cketti
7755d9fe24
Mark used parameters as disabled in parameter info popup
...
When using named arguments the IDE might be unable to map the current
argument to a parameter. In that case mark already used parameters as
disabled. That way developers can easily see which parameters have not
been used yet.
^KTIJ-128 Fixed
2020-09-05 23:17:46 +02:00
Yaroslav Chernyshev
81339d54eb
Added :core:compiler.common.jvm and :compiler:resolution.common.jvm
...
dependencies to pill importer
2020-09-05 10:56:55 +03:00
Toshiaki Kameyama
3f7aab6fae
Redundant 'asSequence' call: don't report when reciever type is Map
...
#KT-41338 Fixed
2020-09-04 22:10:34 +02:00
cketti
78493395c3
Don't mark signature as inapplicable when argument is empty/incomplete
...
This will improve the usability when using named arguments where
incomplete arguments can't be mapped to a parameter simply by position.
^KT-24172 Fixed
2020-09-04 13:11:24 +02:00
Toshiaki Kameyama
343010a833
"Unused equals expression" inspection: highlight whole expression with yellow background
...
^KT-41615 Fixed
2020-09-04 12:55:55 +02:00
Dmitriy Novozhilov
b81ec2c8f0
Fix compilation errors in bunches
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
a8c68d9e6f
Remove dependency on :compiler:frontend.java from :compiler:fir:jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
9806a85cc1
Move Java model classes to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
b81c0e91d5
Replace DescriptorVisibility with Visibility in Java model classes
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
696f089b3e
Make DescriptorVisibility delegate to Visibility
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
2bcd8ee07f
Get rid of Visibility.effectiveVisibility member
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
7d9b7df3b4
Cleanup code in EffectiveVisibility.kt and extract descriptors related part to separate file
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
6346b1b2ab
Use type markers instead of class descriptors in effective visibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
64ec3fc42b
Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
10fd164b77
Extract FE 1.0 dependent part from JavaToKotlinClassMap
...
Also move JavaToKotlinClassMap to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
136435bcc2
Move JvmPrimitiveType to :core:compiler.common
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
4d5f28d5c0
Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
2020-09-04 11:07:41 +03:00
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
Alexander Udalov
6b05e1d179
Add warning to 'kotlinc.bat help' that delimiters need to be escaped
...
Related to KT-41303, KT-41309.
2020-09-02 16:45:40 +02:00
Roman Artemev
2612609664
[JS] Add test for KT-39378
2020-09-02 14:42:17 +03:00
Roman Golyshev
3d5ec8aa10
FIR Completion: Add simple classifiers completion
...
- This also fixes a few test
2020-09-02 14:32:53 +03:00
Roman Golyshev
64645c5049
FIR Completion: Refactor KotlinAvailableScopesCompletionProvider
...
- Move different types of completion to separate functions
2020-09-02 14:32:53 +03:00
Roman Golyshev
0375a19e78
FIR Completion: Refactor KotlinAvailableScopesCompletionProvider
2020-09-02 14:32:53 +03:00
Roman Golyshev
1ab246f71e
FIR Completion: Drop originalPosition parameter from getScopeContextForPosition
...
- It is easier to retrieve the original enclosing function by the fake
enclosing function than trying to correct the `originalPosition` in
different situations
2020-09-02 14:32:52 +03:00
Roman Golyshev
ab5059e08e
FIR Completion: Rename FIR completion classes to be more uniform
2020-09-02 14:32:52 +03:00
Leonid Startsev
c881347110
Use correct return type for constructor call when creating EnumDescriptor
...
Previous one was converted using obsolete API, which caused unbound symbols to appear.
#KT-41321 Fixed
2020-09-02 13:22:23 +03:00
Leonid Startsev
8b0bb430e7
Fix multiple serialization plugin problems
...
Do not use fallback serializer if it is the same (fixes
https://github.com/Kotlin/kotlinx.serialization/issues/957 ).
Use correct number of serializable KClasses when creating sealed class
serializer (fixes https://github.com/Kotlin/kotlinx.serialization/issues/925 ).
2020-09-02 13:22:23 +03:00
Ilya Kirillov
106d8e74d4
FIR IDE: unmute passing completion tests
2020-09-02 11:16:20 +03:00
Ilya Kirillov
775dc7b135
FIR IDE: add type parameters support to completion
2020-09-02 11:16:20 +03:00
Ilya Kirillov
6d18bb6ba2
FIR IDE: add type parameters support to scopes
2020-09-02 11:16:19 +03:00
Ilya Kirillov
c0e9f05921
FIR: make FirTypeParameterScope to be name aware
2020-09-02 11:16:18 +03:00
Ilya Kirillov
7a1b1efef3
FIR IDE: register missing Java specific components for libraries session
2020-09-02 11:16:18 +03:00
Ilya Kirillov
162a2ac7b0
FIR IDE: fix lazy resolve for non local declaration without containing class
2020-09-02 11:16:17 +03:00
Ilya Kirillov
87898021a1
FIR IDE: introduce multi module lazy resolve tests
2020-09-02 11:16:17 +03:00
Ilya Kirillov
8714ad575f
FIR IDE: move FIR IDE completion tests to idea-fir module
2020-09-02 11:16:16 +03:00
Ilya Kirillov
7cb3f62f51
FIR IDE: remove IGNORE_FIR from passing resolve tests
2020-09-02 11:16:16 +03:00
Ilya Kirillov
31f2c4a857
FIR: add fake source element to implicit function return statement
2020-09-02 11:16:16 +03:00
Ilya Kirillov
1ccf8bfb67
FIR IDE: fix completion in function with expression body
2020-09-02 11:16:15 +03:00
Mikhail Glukhikh
7c0467944d
FullPipelineModularizedTest: fix compilation
2020-09-01 21:58:26 +03:00
Mikhail Glukhikh
0324c0d02f
FullPipelineModularizedTest: code cleanup
2020-09-01 21:51:49 +03:00
Ilya Goncharov
9f27bc62c0
[Gradle, JS] Args should concat after input file
...
^KT-41286 fixed
2020-09-01 19:15:13 +03:00
Roman Artemev
fdbc657656
[IR] Fix isFileClass checker
2020-09-01 18:53:17 +03:00
Ivan Gavrilovic
91b99da7a0
KT-41313: Only load .jar files when locating annotation processors
...
Previously, we'd only check if file exists and try to load it. However,
some compile classpaths may contain .tar.gz files.
Test: ProcessorLoaderTest
2020-09-02 00:48:25 +09:00
Ilya Goncharov
b9bc11d5e0
[Gradle, JS] Consider custom launcher's base
...
^KT-41475 fixed
2020-09-01 17:47:25 +03:00
Denis Zharkov
02b72e16ef
FIR: Temporary weaken required phase in ensureResolvedForCalls
...
Currently, lazy resolution in IDE immediately starts common body resolution
after STATUS (that lead to loops during recursive resolve)
2020-09-01 17:43:30 +03:00
Denis Zharkov
b0a7960b42
FIR: Call ensureResolved(TYPES) when computing supertypes of a class
2020-09-01 17:43:30 +03:00
Denis Zharkov
8427cc373f
FIR: Fix coroutines related IDE exception from TowerResolveManager
...
Do not try to steal tasks in suspendResolverTask
Otherwise, it might lead to resuming current coroutine through
"resume" methods that is kind of illegal when using suspendCoroutineUninterceptedOrReturn
2020-09-01 17:43:30 +03:00
Denis Zharkov
d532529c30
FIR: Add workaround for recursive contracts in ensureResolvedForCalls
2020-09-01 17:43:30 +03:00
Denis Zharkov
0a1440d80c
FIR: Optimize ensureResolvedForCalls for common case
2020-09-01 17:43:30 +03:00
Denis Zharkov
1c0e3b30a2
FIR: Use return type calculator in FirTypeMismatchOnOverrideChecker
2020-09-01 17:43:30 +03:00
Denis Zharkov
992a2d556a
FIR: Add ensureResolved calls for types of sub-expressions
...
These calls resolve a class that a type of expression is built upon
2020-09-01 17:43:30 +03:00
Denis Zharkov
d05e947d25
FIR: Ensure resolved callable symbols came out of the declared scopes
...
Otherwise, we need to add `ensureResolved` to almost any usage of process*:
- Call resolution need fully resolved callables
- UseSiteScope when binding overrides should ensure resolved for callables from supertypes
- checkers have to make sure they use correct overridden
- SAM resolver
2020-09-01 17:43:30 +03:00
Denis Zharkov
d80caf7dbf
FIR: Extract common code in FirPackageMemberScope
2020-09-01 17:43:30 +03:00
Denis Zharkov
b4aef21423
FIR: Simplify API for ensureResolved
...
Additional `as` casts look redundant, but it's a design issue (see KT-41421)
2020-09-01 17:43:30 +03:00
Denis Zharkov
bb84dc2ed4
FIR: Minor. Extract common parts in FirClassDeclaredMemberScope
2020-09-01 17:43:30 +03:00
Denis Zharkov
1cc68762e1
FIR: Minor. Fix error message
2020-09-01 17:43:30 +03:00
Denis Zharkov
4cdc36abb3
FIR: Drop unused 'phasedFir' callables
2020-09-01 17:43:30 +03:00
Denis Zharkov
c3c8115163
FIR: Use explicit version of 'ensureResolved'
2020-09-01 17:43:30 +03:00
Denis Zharkov
517056e0c6
FIR: Do not require specific phase for super-call receiver class
...
It's anyway defined in the outer context (outer class) that already
should have proper context
2020-09-01 17:43:30 +03:00
Denis Zharkov
fcc2abcf40
FIR: Fix phase requirement for call resolution
2020-09-01 17:43:30 +03:00
Denis Zharkov
ff182f191e
FIR: Fix some contracts resolutions side-effects
...
- Resolve anonymous objects' contents
- Update phase for constructors
- Do not transform annotations
(while resolving they may refer to other declarations that don't have yet CONTRACTS phase)
2020-09-01 17:43:30 +03:00
Denis Zharkov
67cc85e02b
FIR: Avoid redundant calls to ensureResolved during call resolution
...
Call ensureResolved only once when creating a candidate
2020-09-01 17:43:30 +03:00
Denis Zharkov
bf2fc10cd6
FIR: Extract AbstractFirBasedSymbol::ensureResolved extension
2020-09-01 17:43:30 +03:00
Denis Zharkov
2529f541ba
FIR: Prepare refactoring of phasedFir
...
- Rename PhasedFirFileResolver -> FirPhaseManager
- Move semantically significant parts to a component
2020-09-01 17:43:30 +03:00
Ilya Goncharov
7fe02238ea
[Gradle, JS] Add more information on Gradle exception
...
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov
076045ce54
[Gradle, JS] Add test with library mixed with executable and browser/nodejs
...
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov
d238483054
[Gradle, JS] Add test with library mixed with executable
...
^KT-41566 fixed
2020-09-01 17:26:02 +03:00
Ilya Goncharov
4a1bccc1e6
[Gradle, JS] Add test on simple js binary library
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
9f04d353a0
[Gradle, JS] Fix test for IR browser distribution
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
134aa6182e
[Gradle, JS] Process resources into kotlin folder
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
06a54c87a0
[Gradle, JS] Compile sync tasks
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
9729554313
[Gradle, JS] Node run task for all binaries
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
7dbde459f0
[Gradle, JS] Run task for library
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
b4baaed87a
[Gradle, JS] Different distributions for different binaries
...
^KT-41566 fixed
2020-09-01 17:26:01 +03:00
Ilya Goncharov
8c74a844f2
[Gradle, JS]] Add custom fields for package.json
...
^KT-35330 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
2d8b95190e
[Gradle, JS] Outputs for distribution tasks as lazy
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
fe72d46fee
[Gradle, JS] Add types into public package json
...
^KT-40753 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
39059c103a
[Gradle, JS] Distribution directory as a lazy
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
82ea324cc1
[Gradle, JS] DefaultDistribution
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
53a23169d9
[Gradle, JS] Node js binaries executable filtering
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
73dbf6b846
[Gradle, JS] Add configureLibrary
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
1318517155
[Gradle, JS] Add configureLibrary
...
^KT-41566 fixed
2020-09-01 17:26:00 +03:00
Ilya Goncharov
c9ca05b477
[Gradle, JS] Add distribute resources tasks for all binaries
...
^KT-41566 fixed
2020-09-01 17:25:59 +03:00
Ilya Goncharov
cc25660d7d
[Gradle, JS] Move distributions tasks into abstract subtarget class
...
^KT-41566 fixed
2020-09-01 17:25:59 +03:00
Roman Artemev
cae29a5d1c
[IR] Clean up WrappedDescriptors API
2020-09-01 17:08:11 +03:00
Roman Artemev
c7b57c0fb3
[IR] Use only empty constructor to create WrappedDescriptor
2020-09-01 17:08:11 +03:00
Roman Artemev
fd88914cf9
[IR] Remove some descriptor usage from Common/JS/JVM backends
...
- replace descriptor-based builders with pure IR ones
- fix matchers
- fix Ir2Js
- rewrite some inliner-helpers to pure-IR implementations
2020-09-01 17:08:11 +03:00
Dmitry Petrov
8cb8284957
EnhancedNullability annotation in IR
...
Fixes KT-40115 & KT-40117.
Move FlexibleNullability annotation to 'kotlin.internal.ir'.
2020-09-01 16:06:03 +03:00
Roman Artemev
0bff406a12
[JS IR] Add infra to test compilation with error
...
- add bunch of tests
- fix help test
2020-09-01 14:53:08 +03:00
Roman Artemev
e592b3af1d
[JS IR] Fix CallsLowering's*
...
- need to fix dev mode since some methods are not handled
with intrinsic lowering
2020-09-01 14:53:08 +03:00
Roman Artemev
7a6415dc53
[JS IR] Enable IrError element's lowerings in JS
2020-09-01 14:53:08 +03:00
Roman Artemev
4dca3715fa
[JS IR | IR] Implement error element lowering to support compilation with errors
2020-09-01 14:53:08 +03:00
Roman Artemev
14b5424583
[JS IR] Support translation of IrError* elements
2020-09-01 14:53:08 +03:00
Roman Artemev
1fd5c1cc65
[IR] Support IrErrorType & IrErrorDeclaration in ir mangler
2020-09-01 14:53:08 +03:00
Roman Artemev
9c36487077
[IR] Disable mangle checker for IrErrorDeclarations
2020-09-01 14:53:07 +03:00
Roman Artemev
563af709a8
[Psi2Ir] Fix generation of IrError* nodes
...
- Provide detailed description
- Support syntax-incorrect statements
- Generate an error declaration if normal generation has failed
2020-09-01 14:53:07 +03:00
Roman Artemev
a60782f3df
[JS IR] Add CLI argument to setup error tolerance policy
...
- Make sure dev mode is enabled if code with errors is allowed
2020-09-01 14:53:07 +03:00
Roman Artemev
8a810e2a5e
[JS IR] Add runtime API to throw ISE in case of compiled code with errors
2020-09-01 14:53:07 +03:00
Roman Golyshev
b3199d14b8
FIR IDE: Use correct property-by-package index in KtFirPackageScope
2020-09-01 14:50:19 +03:00
Roman Golyshev
5180a65f0b
FIR Completion: Use proper types rendering
2020-09-01 14:28:59 +03:00
Roman Golyshev
7649043479
FIR IDE: Set correct source for the function built in the air
...
- This enables the completion to work in the declaration itself, not
only in body
2020-09-01 10:09:46 +00:00
Roman Golyshev
90c89bddc5
FIR IDE: Add collecting scopes for declarations
...
- They are required to perform completion in default arguments,
return types, and other declaration parts (except for body)
2020-09-01 10:09:46 +00:00
Roman Golyshev
76eb5d46f4
FIR IDE: Add FirTowerDataContextCollector class
...
- This class just encapsulates the map that is used to collect scopes
2020-09-01 10:09:45 +00:00
Mikhail Zarechenskiy
9c217e3d99
Reuse revised variables during lambda analysis against type variables
...
#KT-41400 Fixed
2020-09-01 13:04:53 +03:00
Dmitriy Novozhilov
011bb0924a
[FIR-IDE] Introduce FirIdeSessionFactory for creating ide sessions
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
cb47e631f8
[FIR] Move extended checkers containers to :compiler:fir:entrypoint
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
f14efedc3d
[FIR] Fix broken gradle compilation
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
c250912ee0
[FIR-TEST] Use FirAnalyzerFacade in BB and Fir2IrText tests
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
a4e24ca3dc
[FIR] Introduce FirAnalyzerFacade which hides implementation details of running FIR compiler
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
6db8c28291
[FIR] Refactor session components initialization
...
From now all customization of session should perform via DSL which
declared in FirSessionFactory. Registration or mutation session
services from other places is prohibited
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
2819bd3aaf
[FIR] Get rid of deprecated extension point registration methods usage
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
cf224b4de9
[FIR] Add createEmptySession to FirSessionFactory for testing purposes
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
a8d23c36f5
[FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
94d58c714a
[FIR] Cleanup dependencies for fir modules
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
73e2314f2f
[FIR] Get rid of dependency on intellijCore from :compiler:fir:resolve
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
18ad56f7a8
[FIR] Fix creating fake source elements in declarations resolve
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
28e6050551
[FIR] Extract java synthetic names calculation to platform specific component
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
375140ebcc
[FIR] Extract java class mapping to platform specific component
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
a0b931792e
Move annotationsForResolve.kt to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
07c353973d
Move requireOrDescribe to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
f010dc533c
Move Variance.convertVariance to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
e164c88a14
Move TypeSystemCommonBackendContext to :core:compiler.common
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
3379d9b619
[FIR] Extract java related effective visibility calculation to platform component
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
ed4c6a38b6
[FIR] Move deserialization files to module :compiler:fir:fir-deserialization
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
ca031f7ace
[FIR] Split ResolveUtils.kt from :resolve to separate files
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
6ace4164ff
[FIR] Split TypeUtils from :resolve to :cones and :tree modules
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
92ffa4dea9
[FIR] Replace KotlinScopeProvider with FirScopeProvider in ClassDeserialization
...
This is needed to remove dependecy on :fir:resolve from serialization
methods
2020-09-01 12:00:10 +03:00
Mikhail Glukhikh
3aa13362ca
[FIR2IR] Replace NPE in setThisReceiver with more detailed exception
2020-09-01 11:40:32 +03:00
Mikhail Glukhikh
65739c50d3
FIR full pipeline test: output build status per-module
2020-09-01 11:40:32 +03:00
Pavel Kirpichenkov
2979c37001
[NI] Fix resolution status for UnstableSmartCastDiagnostic
...
RESOLVED_WITH_ERROR was initially added for reproducing OI behavior.
The intention was to preserve resolution into unstable smart cast and to keep failing candidate.
However, this idea was abandoned after OI behavior proved inconsistent in cases involving generics.
This commit restores RUNTIME_ERROR status of UnstableSmartCastDiagnostic.
^KT-41357 Fixed
2020-09-01 11:21:13 +03:00
Igor Chevdar
5e71068e61
[IR] Handled degenerate cases of IrStringConcatenation
...
It is not needed to create StringBuilder if the number of values
being concatenated is 0 or 1
2020-09-01 11:34:17 +05:00
Dmitriy Dolovov
74dce725cc
[Commonizer] Tests for missed supertypes in commonized type aliases
...
^KT-41247
2020-09-01 13:11:33 +07:00
Dmitriy Dolovov
96736b0126
[Commonizer] Add missed supertypes in commonized type aliases
...
^KT-41247
2020-09-01 13:11:27 +07:00
Dmitriy Dolovov
e21d99334b
[Commonizer] Lookup common descriptors that don't participate in commonization (for tests only)
...
This is necessary to run integration tests with fake declarations from
Kotlin/Native stdlib that are absent in stdlib-common.
2020-09-01 13:11:22 +07:00
Dmitriy Dolovov
ed78169051
[Commonizer] README: Describe the case when target is not available
2020-09-01 13:11:16 +07:00
Nikolay Krasko
56f0fb6c70
Prevent test failures because of Leaked Android SDK
...
Stop implicit adding additional SDK from environment variables in
GradleSpecificInitializer and AndroidSdkInitializer.
2020-08-31 21:18:26 +03:00
Steven Schäfer
78ab957bfe
JVM IR: Fix mangling for suspend functions with inline class params (KT-41374)
2020-08-31 18:43:29 +02:00
Igor Yakovlev
48a3d4b8e0
[ULC] Add recursion guard to getLightClass
...
Fixed KT-41325
2020-08-31 18:01:37 +03:00
Pavel Kirpichenkov
873224dfbc
[NI] Use new type substitutor for known type parameters
...
Use known type parameters substitutor after substitutor for fresh variables.
The old logic of substituions had the following order:
- replace known type parameters
- replace type parameters with type variables
- complete inference
- replace type variables with inferred types
According to the updated logic, replacement goes as follows:
- replace type parameters with type variables
- replace known type parameters; if they were variables, this will effectively remove them from inference
- complete inference
- replace remaining type variables with inferred types
Support projection substitution in new type substitutor.
It is needed for correct interaction with old type substitutor.
Old type substitutors can contain mappings constructor -> projection
which couldn't be expressed correctly with existing substitutor API in some cases.
^KT-41386 Fixed
2020-08-31 17:53:46 +03:00
Alexander Udalov
c706673de9
Minor, refactor bytecode text tests on when-over-string optimization
...
- Merge `duplicatingItemsSameHashCode.kt` and
`duplicatingItemsSameHashCode2.kt` into one test enabled on both
backends, and rename it to
`duplicatingItemsSameHashCodeFewBranches.kt`.
- Rename `duplicatingItemsSameHashCode3.kt` to
`duplicatingItemsSameHashCodeMoreBranches.kt`, and also enable it for
both backends.
- Use JVM_TEMPLATES/JVM_IR_TEMPLATES to check backend-specific behavior:
1) JVM IR does not optimize less than 2 branches by design
2) JVM IR does not generate duplicate branches, also by design
Related to KT-36846.
2020-08-31 16:47:11 +02:00
Alexander Udalov
a639915a34
JVM IR: do not mangle property accessors of unsigned types in annotations
...
Before this change, we incorrectly mangled the names of annotation
methods (e.g. `getI-pVg5ArA` instead of `i`) because the isSpecial
condition was false.
2020-08-31 14:19:14 +02:00
Mikhail Glukhikh
1e360d9c91
[FIR2IR] Pass type context for type argument conversion properly
2020-08-31 14:31:58 +03:00
Jinseong Jeon
04af6846a7
FIR2IR: handle more vararg spreads for adapted callable references
2020-08-31 14:31:58 +03:00
Mikhail Glukhikh
5efabe063e
[FIR] Fix JVM mapped function callable id
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
db815c96c5
[FIR] Substitute copied type parameters in fake override properties
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
dc9306367a
FirClassSubstitutionScope: reorder companion functions
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
5ad453d927
[FIR] Substitute copied type parameters in fake override functions
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
458f89ef33
[FIR] Signature composer: return null signature for local declarations
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
02b6f34067
[FIR2IR] Add extension receiver parameter to delegated members
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
22c63c4e80
[FIR2IR] Add supertypes to delegated member type parameters
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
9ad55a0ee3
[FIR2IR] Don't create list under the hood in DelegatedMemberGenerator
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
5384ccf02f
[FIR] Introduce & use FirDelegatedMemberScope
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
f0af930288
[FIR] Eliminate unused FirDelegatedTypeRef
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
ede910065a
[FIR] Add problematic resolve test case with delegated super call
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
3f5beb77e8
[FIR2IR] Cache delegatable members properly
2020-08-31 14:31:55 +03:00
Alexander Udalov
1e712f8398
IR: remove IrElementVisitorVoidWithContext
...
It was only used as a superclass in IrInlineReferenceLocator and
LocalDeclarationsLowering. In both cases it's clearer and more optimal
to pass the necessary data via the visitor 'data' variable.
2020-08-31 12:47:54 +02:00
Alexander Udalov
5e48be3d11
Add a fallback flag -Xno-unified-null-checks for KT-22275
...
#KT-41482 Fixed
2020-08-31 12:43:28 +02:00
Ilya Kirillov
40669350f7
Wizard: navigate to wizard help page when clicking help button
2020-08-31 12:50:01 +03:00
Ilya Kirillov
fa847d758d
Wizard: use compileKotlin for groovy instead of direct KotlinCompile task access
...
#KT-38921 fixed
2020-08-31 12:49:48 +03:00
Ilya Goncharov
e672f5f8e3
[Wizard, JS] Remove duplicating descriptions
2020-08-31 12:19:10 +03:00
Ilya Goncharov
554c67cd1d
[Wizard, JS] Add descriptions to wizard options
2020-08-31 12:16:54 +03:00
Nicolay Mitropolsky
af35b6c3c8
Provide icons to Kotlin Light-elements (KT-26235)
2020-08-31 10:54:46 +03:00
Igor Chevdar
527de030fc
[box-tests] Turned on some tests for K/N
2020-08-31 12:01:31 +05:00
Igor Chevdar
ab54e43b00
[IR] Commonized SAM equals/hashCode builder
2020-08-31 12:01:29 +05:00
Igor Chevdar
12ddd137bc
[IR] Moved isLambda to common IR utils
2020-08-31 12:01:29 +05:00
vldf
b050ef9970
[FIR] Remove print in UnusedChecker
2020-08-30 14:18:01 +03:00
Ilya Gorbunov
9c3ff6828a
Export kotlin.test packages with annotations and underlying frameworks
...
- Add exports for jvm package names used in kotlin.test annotations;
- Export transitively underlying test framework modules
Otherwise "This class does not have a constructor" happens when using
an aliased annotation, e.g. kotlin.test.Test aliased to org.junit.test
KT-41320
2020-08-29 03:33:38 +03:00
Andrey.Lozhkin
ef57c62576
[Gradle, Cocoapods] refactor I/O, improve Up-To-Date
...
all synthetic tasks are per pod
tasks receive parts of extension as inputs
2020-08-29 01:51:20 +03:00
Andrey.Lozhkin
1888462dc0
[Gradle, Cocoapods] move tasks from per target
...
podGen now per Family
podSetupBuild and podBuild now per sdk
2020-08-29 01:51:20 +03:00
Andrey Lozhkin
fcf5060907
[Gradle, Cocoapods] implement DSL to support Cocoapods Dependencies from Git or Web
...
Issue #KT-41367 Fixed
2020-08-29 01:51:20 +03:00
Steven Schäfer
b02f0f0a25
JVM IR: Fix compilation of nested inner classes
2020-08-28 20:03:19 +02:00
Steven Schäfer
02e78bcd76
JVM IR: Use package visibility for fields of captured variables
2020-08-28 20:03:19 +02:00
Roman Artemev
443269af0a
[IR] Drop irProviders from stub generator
2020-08-28 18:14:05 +03:00
Roman Artemev
39808789c3
[KLIB] Fix SOE in K/N
...
- fixes KT-41324
2020-08-28 18:14:04 +03:00
Mikhail Zarechenskiy
23f87d413a
Use initial system for completion if common one is effectively empty
...
Otherwise we can get unsubstituted type variables as expected types and
then write wrong information for assertions
#KT-41470 Fixed
2020-08-28 17:47:08 +03:00
Nick
bb18203ae6
[FIR] Various checkers performance fixes
2020-08-28 17:07:35 +03:00
Sergey Igushkin
5c88eb722d
Fix transitive deps on MPP with host-specific source sets (KT-41083)
...
A consumer could not resolve the host-specific metadata artifact
of the transitive dependency because the transitive dependency's parent
in the platform dependencies graph did not include the dependency on it
in the variant that is chosen for host-specific source sets metadata:
the dependencies of that variant were empty.
Export the dependencies of the Kotlin/Native target in the host-specific
metadata variant as well.
Issue #KT-41083 Fixed
2020-08-28 11:09:56 +00:00
Zalim Bashorov
9097d0918c
[JS BE] Support passing an array as argument of vararg in named form
...
#KT-38059 fixed
2020-08-28 13:14:23 +03:00
Zalim Bashorov
606232a584
[JS IR] Don't generate "import" statements for external interfaces
...
#KT-40964 fixed
2020-08-28 13:14:22 +03:00
Zalim Bashorov
ba846830c9
[JS IR] Support nativeGetter, nativeSetter and nativeInvoke
...
#KT-41081 fixed
2020-08-28 13:04:18 +03:00
Ilya Kirillov
c804319e65
FIR IDE: fix compilation on AS
2020-08-28 12:51:55 +03:00
Ilya Kirillov
36cc73602e
FIR IDE: fix testdata of AbstractFirLazyResolveTest
2020-08-28 12:51:55 +03:00
Ilya Kirillov
3cd445563e
FIR IDE: implement KotlinExpressionTypeProvider for FIR
2020-08-28 12:51:55 +03:00
Ilya Kirillov
fcc7db5224
FIR IDE: introduce analyseInModalWindow function
2020-08-28 12:51:23 +03:00
Ilya Kirillov
81be230541
FIR IDE: add validity assertion on analysis session access
2020-08-28 12:15:19 +03:00
Ilya Kirillov
db48884a4e
FIR IDE: add check canceled check between diagnostics
2020-08-28 12:15:18 +03:00
Ilya Kirillov
95a96f32bf
FIR IDE: log errors on diagnostics, not throw them
2020-08-28 12:15:17 +03:00
Ilya Kirillov
ebafd0fb51
FIR IDE: resolve ambiguity & inapplicable references
2020-08-28 12:15:16 +03:00
Ilya Kirillov
4fa2dd85b4
FIR IDE: move lazy resolve to FirLazyDeclarationResolver
2020-08-28 12:15:15 +03:00
Ilya Kirillov
8faaff00fa
FIR IDE: run lazy resolve on declaration when getting phased fir
2020-08-28 12:15:14 +03:00
Ilya Kirillov
78bb1f1076
FIR IDE: fix testdata in idea-frontend-fir
2020-08-28 12:15:13 +03:00
Ilya Kirillov
30ac80a506
FIR IDE: introduce property accessor symbols
2020-08-28 12:15:13 +03:00
Ilya Kirillov
aae56cadac
FIR IDE: add ModuleInfo for ide sessions as they are used for getting resolve components
2020-08-28 12:15:12 +03:00
Ilya Kirillov
bc3e98b116
FIR IDE: allow PCE between resolve phases, forbid in other cases
2020-08-28 12:15:11 +03:00
Ilya Kirillov
8363c711e6
FIR IDE: fix lazy resolve for local declarations
2020-08-28 12:15:10 +03:00
Ilya Kirillov
9d237033ad
FIR IDE: minor, rename FirIdeModuleLibraryDependenciesSession to FirIdeLibrariesSession
2020-08-28 12:15:09 +03:00
Ilya Kirillov
8b782d5954
FIR IDE: fix session provider implementation as it only provides only 2 sessions
2020-08-28 12:15:07 +03:00
Ilya Kirillov
a07d3f2425
FIR IDE: minor: rename FirIdeJavaModuleBasedSession to FirIdeSourcesSession
2020-08-28 12:15:07 +03:00
Ilya Kirillov
f76b5bbf1b
FIR IDE: allow KtFirPackageScope to work without providers
2020-08-28 12:15:06 +03:00
Ilya Kirillov
f4c17dadb3
FIR IDE: remove unused FirIdeModuleLibraryDependenciesSymbolProvider
2020-08-28 12:15:05 +03:00
Ilya Kirillov
a156cca02a
FIR: make class FirObjectImportedCallableScope to be name aware
2020-08-28 12:15:04 +03:00
Ilya Kirillov
333213bbb9
Wizard: add descriptions for some settings
2020-08-28 11:46:55 +03:00
Ilya Kirillov
37b869ebc5
Wizard: add descriptions for settings
2020-08-28 11:46:55 +03:00
Dmitriy Novozhilov
09ed0c3e82
[FIR-TEST] Update testdata
2020-08-28 10:59:54 +03:00
Dmitriy Novozhilov
e7b5a88cbd
[FIR] Remove dependency on :compiler:frontend from :compiler:fir:resolve
2020-08-28 10:59:54 +03:00
Dmitriy Novozhilov
abeb42ca20
[FIR] Don't use ProjectExtensionDescriptor in FirExtensionRegistrar
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
f09e17a5ae
[FIR] Remove unused import
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
e405a02e8e
[FIR] Fix contract serialization
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
eaf8af919d
[FIR] Use PersistentList instead of guava's ImmutableList in SupertypeResolution
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
148e8fe76e
Move FlatSignature to :compiler:resolution.common
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
64766e125c
Move common inference classes to :compiler:resolution.common
2020-08-28 10:59:53 +03:00
Dmitriy Novozhilov
068d21635e
[NI] Get rid of KotlinType usages in MutableConstraintStorage.kt
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
af0df35623
[NI] Get rid of FE 1.0 types in ConstraintInjector
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
ad039a28bd
[NI] Get rid of left FE 1.0 types in NewConstraintSystemImpl
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
6914aba5c2
[NI] Commonize detection of @OnlyInputTypes in NewConstraintSystemImpl
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
64f0ee21c1
Get rid of FE 1.0 classes usage in ConstraintIncorporator
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
1050f7f066
Extract PostponedResolvedAtomMarker to separate file
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
1cadabb099
Extract ResolutionCandidateApplicability to separate file
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
775df6dfc3
[NI] Get rid of FE 1.0 type usages in ResultTypeResolver
2020-08-28 10:59:52 +03:00
Dmitriy Novozhilov
aae1681b76
[NI] Get rid of ResolvedAtom usage in ConstraintSystemCompletionContext
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
11e8552861
[NI] Get rid of PostponedArgumentInputTypesResolver.Context
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
970a2581a1
[NI] Extract PostponedArgumentsAnalyzerContext from PostponedArgumentsAnalyzer
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
b15f847943
[NI] Extract common parts from KotlinConstraintSystemCompleter
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
12fbb93871
[NI] Extract FE 1.0 specific part from NewCommonSuperTypeCalculator
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
b21a0213df
[NI] Get rid of FE 1.0 types in AbstractTypeApproximator
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
527c5a771d
[NI] Get rid of FE 1.0 types in AbstractTypeCheckerContextForConstraintSystem
2020-08-28 10:59:51 +03:00
Dmitriy Novozhilov
686c17a234
[NI] Rename NewConstraintSystem.diagnostics to errors
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
59b2cb6393
[NI] Split KotlinCallDiagnostics and inference errors to different hierarchies
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
fae21d4db3
Introduce frontend independent constraint positions
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
e5e3d7cab1
Extract FE 1.0 related parts from NewConstraintSystem
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
be1033a4a7
[FIR] Implement ConeTypeContext.createTypeWithAlternativeForIntersectionResult
2020-08-28 10:59:50 +03:00
Dmitriy Novozhilov
f247cc3165
[NI] Properly detecting suitability of candidate for builder inference
...
#KT-41430 Fixed
2020-08-28 10:34:18 +03:00
Sergey Bogolepov
b2d9e5be91
[kotlinx-metadata-klib] Drop dependency on descriptors
...
It's unneeded since all used declarations moved to
:core:compiler.common.
2020-08-28 12:33:46 +07:00
Simon Ogorodnik
7170a23f63
[FIR] Use coroutine intrinsics in tower resolver manager
...
To remove SafeContinuation overhead
2020-08-28 00:12:17 +03:00
Simon Ogorodnik
7cb5c0a6d8
[FIR] Cleanup hides members condition
2020-08-28 00:12:17 +03:00
Simon Ogorodnik
bf2e17b133
[FIR] Extract invoke processing from TowerLevelHandler
2020-08-28 00:12:17 +03:00
Simon Ogorodnik
96f100381a
Use proper manifest for kotlin-reflect in jps build
2020-08-28 00:12:17 +03:00
Simon Ogorodnik
34f5cfbf96
[FIR] Fix integer approximation on safe calls
2020-08-28 00:12:17 +03:00
Simon Ogorodnik
2a4e1a0b99
[FIR] Clarify testData for invokes
2020-08-28 00:12:16 +03:00
Alexander Udalov
74c6d2b951
Do not generate non-standard compareTo as primitive comparison in all backends
...
Previous changes related to this in the old JVM backend were in
582b1c5e66 and
0482f7e9c5 , but they did not affect the
`ProperIeee754Comparisons` mode which became the default in 1.4.0. As a
result, we had a regression here.
Since the `PRIMITIVE_NUMERIC_COMPARISON_INFO` slice is used in psi2ir to
determine how to generate the comparison, this fixes the regression both
in the old JVM backend, and in all IR backends.
#KT-41426 Fixed
2020-08-27 19:00:11 +02:00
Alexander Udalov
9d81e50128
IR: undeprecate IrUninitializedType
...
It's no longer a temporary hack, see the comment.
2020-08-27 18:02:04 +02:00
Dmitry Savvinov
5649cbc2e1
Wire KotlinTypeRefiner in areCallableDescriptorsEquivalent
...
See the issue for details
^KT-41218 Fixed
2020-08-27 18:50:42 +03:00
Dmitry Savvinov
421efaa565
Add test for overload resoultion ambiguity in HMPP
...
The behaviour is undesired, see the next commit for fix
^KT-41218 In Progress
2020-08-27 18:50:42 +03:00
Dmitry Savvinov
68d931969d
Minor: explicitly opt-in for diagnostics messages in MultiplatformAnalysisTests
2020-08-27 18:50:42 +03:00
Dmitriy Novozhilov
9cde42e2bc
[NI] Fix shouldRunCompletion for builder inference session
...
#KT-41308 Fixed
#KT-41363
2020-08-27 16:51:12 +03:00
Dmitriy Novozhilov
e98cbf81cf
[NI] Don't always complete builder inference lambda in FULL mode
...
#KT-41164 Fixed
2020-08-27 16:51:11 +03:00
vldf
6a15e0410f
[FIR] Fix CLI tests to prevent non-relevant errors from appearing
2020-08-27 16:07:04 +03:00
vldf
6c2ece9a6e
Rename: FirSourceElement.getChildren() -> getChild() + minor fixes
2020-08-27 16:07:04 +03:00
vldf
bf363e8f1a
[FIR] Update/add extended checker tests
2020-08-27 16:07:04 +03:00
Oleg Ivanov
acbb67f851
[FIR] Fix collectDataForNode backward traverse
2020-08-27 16:07:03 +03:00
vldf
f9c7cce11d
[FIR] Add some helper functions for checkers
2020-08-27 16:07:03 +03:00
vldf
96f24a43be
[FIR] Introduce unused variable extended checker
2020-08-27 16:07:03 +03:00
vldf
e718f60833
[FIR] Refactoring extended checkers
2020-08-27 16:07:03 +03:00
vldf
aefb7dc10f
[FIR] Add checkerContext parameter to ControlFlowAnalyserCheckers
2020-08-27 16:07:03 +03:00
vldf
14eaa113e0
[FIR] Add new errors for extended checkers (around unused variable)
2020-08-27 16:07:03 +03:00
vldf
58c5d3a6ca
[FIR] Fix destructuring declaration creation via light tree
2020-08-27 16:07:03 +03:00
vldf
3428a5434b
[FIR] Add methods to access child/children of FirSourceElement
2020-08-27 16:07:02 +03:00
vldf
5e0dc53295
[FIR] Refactor CanBeValChecker
2020-08-27 16:07:02 +03:00
Andrei Klunnyi
5cf76aa950
KT-41425 Project can not be launched with Gradle runner
...
93a82060 introduced support of "delegate to Gradle" for Gradle-Kotlin.
This commit fixes an issue known as "Could not get unknown property
'sourceSets' for root project".
2020-08-27 14:50:40 +02:00
Nikolay Krasko
f57f920dc0
Mark IdeReplExecutionTest.testOnePlusOne as flaky
...
Was previously muted on TC.
2020-08-27 14:08:48 +03:00
Nikolay Krasko
866666f3ff
Update test data for MultiModuleHighlightingTest.testLanguageVersionsViaFacets
...
Remove `Reference is not resolved to anything` markers
2020-08-27 14:08:48 +03:00
Nikolay Krasko
4b937f0929
Mute stable CompilerDaemonTest.testParallelDaemonStart
...
It was previously muted on TC.
2020-08-27 14:08:48 +03:00
Dmitry Gridin
0c0b394cc2
[formatter] fix performance issue
...
^KT-41314 Fixed
2020-08-27 11:04:34 +00:00
Ilya Goncharov
9818321b46
[JS, Wizard] Use react template in full stack
...
^KT-41417 fixed
2020-08-27 13:35:17 +03:00
Ilya Goncharov
cd0bdc190b
[JS, Wizard] Use IR in gradle.properties and otherwise use as a param
...
^KT-41418 fixed
2020-08-27 13:34:46 +03:00
Ilya Goncharov
13bf15b403
[JS, Wizard] Set js compiler per module
...
^KT-41418 fixed
2020-08-27 13:34:46 +03:00
Ilya Kirillov
f824f03fa2
Wizard: fix filtering values in DropDownComponent
2020-08-27 13:34:46 +03:00
Ilya Goncharov
98f98d5856
[JS, Wizard] Add different compilers for JS wizard
...
^KT-41418 fixed
2020-08-27 13:34:46 +03:00
Ilya Goncharov
c797f3044e
[JS, Wizard] Add react template plugin
...
^KT-41417 fixed
2020-08-27 13:34:45 +03:00
Ilya Goncharov
220ff6c648
[JS, Wizard] Add redux and react router
...
^KT-41417 fixed
2020-08-27 13:34:30 +03:00
Ilya Goncharov
d5340803bd
[JS, Wizard] Add react application template
...
^KT-41417 fixed
2020-08-27 13:34:15 +03:00
Ilya Goncharov
01064a4e46
[JS, Wizard] Add react application template
...
^KT-41417 fixed
2020-08-27 13:33:50 +03:00
Ilya Goncharov
96e1b1c0e0
[JS, Wizard] Separate browser application without react
...
^KT-41417 fixed
2020-08-27 13:33:34 +03:00
Ilya Goncharov
491eb5e366
[JS, Wizard] Move subtarget settings in separate object
...
^KT-41417 fixed
2020-08-27 13:33:15 +03:00
Ilya Goncharov
94f8a78893
[JS, Wizard] Fix source set name for js wizard
...
^KT-41417 fixed
2020-08-27 13:30:37 +03:00
Mikhail Zarechenskiy
cba13c3c35
Take into account captured types with variables during fixation
...
#KT-41202 Fixed
2020-08-27 11:06:14 +03:00
Dmitry Gridin
5dbb6fdf50
[inspections] NamingConversion: add missing space in description
...
^KT-41395 Fixed
2020-08-27 14:58:33 +07:00
Yunir Salimzyanov
e12c35de5f
Traverse all pages of muted tests on Teamcity (KTI-326)
...
incomplete list of remotely muted tests was causing re-muting of tests
that were not fetched
2020-08-26 19:37:11 +03:00
Mikhail Zarechenskiy
06a592c018
Fix SOE when recursive type argument is used with star projection
...
#KT-41043 Fixed
2020-08-26 19:23:21 +03:00
Mikhail Zarechenskiy
674e9e455f
Fold lower constraints like (T!!..T) and (T..T?) into the latter one
...
#KT-41149 Fixed
2020-08-26 19:23:20 +03:00
Mikhail Zarechenskiy
e91b378b7d
Don't perform unnecessary SAM conversions
...
#KT-41149 In Progress
2020-08-26 19:23:19 +03:00
Mikhail Zarechenskiy
6a7ed96be5
Consider T <: Nothing! as trivial during constraint incorporation
...
#KT-41149 In Progress
2020-08-26 19:23:18 +03:00
Mikhail Zarechenskiy
567e6ca9ca
Fix OOM when there are several lambdas with extension function types
...
#KT-41335 Fixed
2020-08-26 19:23:18 +03:00
Jinseong Jeon
085e0dc1de
FIR2IR: allow array expression as named argument for vararg
2020-08-26 18:01:21 +03:00
Vladimir Dolzhenko
54d3c5fb0a
Pick up script language level from used stdlib in a gradle's classpath
...
^KT-41283 Fixed
2020-08-26 14:09:58 +00:00
Ilya Kirillov
949c67078d
NJ2K: fix testdata of MultiFileTestGenerated.testNullabilityByDFa
2020-08-26 16:17:24 +03:00
Ilya Kirillov
c8ab827fa0
Wizard: fix invalid path in generated buildscript on windows
2020-08-26 16:17:24 +03:00
Nicolay Mitropolsky
c93ae64546
Uast: KotlinClassViaConstructorUSimpleReferenceExpression resolve to PsiClass (KT-41290)
2020-08-26 16:13:13 +03:00
Vladimir Dolzhenko
99924ea5e4
Fix Typo: equals() & hashCode(), toString() are written with the first uppercase letter
...
^KT-41390 Fixed
2020-08-26 14:59:31 +02:00
Jinseong Jeon
553ae68c96
FIR2IR: convert adapted callable reference with vararg
2020-08-26 14:26:19 +03:00
Igor Yakovlev
48034092e9
Fix SOE on library source based lightclass lookup
...
Fixed KT-41325
2020-08-26 12:10:09 +03:00
Jinseong Jeon
99286a6ce3
FIR2IR: introduce & use ClassId-based lookup for local class as IrParent
2020-08-26 10:08:16 +03:00
Aurimas Liutikas
777b16e0a3
Fix @Language injection when using named parameters
...
Start using names of arguments if they are available when fetching
the @Language injection information.
Fixes KT-35859
2020-08-25 23:02:53 +03:00
Alexander Udalov
a9ddf02556
Replace deprecated usages of max/min with maxOrNull/minOrNull
2020-08-25 20:33:59 +02:00
Nikolay Krasko
81dda96ece
Mute flaky KotlinFindUsagesWithLibraryTestGenerated.KotlinLibrary
2020-08-25 21:31:11 +03:00
Nikolay Krasko
3a1158b4ef
Minor: move mute KotlinFindUsagesWithLibraryTestGenerated to common
2020-08-25 21:31:11 +03:00
Nikolay Krasko
125819f9bf
Mute flaky testUsingReadOnlyInterfaces test
2020-08-25 21:31:10 +03:00
Nikolay Krasko
1928390121
Prevent flaky behaviour from MakeOverriddenMemberOpenFix in tests
...
Several quick fix tests are flaky thanks to MakeOverrideMemberOpenFix
class. Flakiness is probably caused by `myQuickFixInfo: QuickFixInfo`
field. When there's no memory pressure, there's no resolve in dispatch
thread, but value may be invalidated because of soft reference usage
and re-evaluating might cause the test failure.
Caused by: org.jetbrains.kotlin.idea.caches.resolve.KotlinIdeaResolutionException: Kotlin resolution encountered a problem while analyzing KtNamedFunction
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionFacadeWithDebugInfo.analyze(ResolutionFacadeWithDebugInfo.kt:44)
at org.jetbrains.kotlin.idea.caches.resolve.ExtendedResolutionApiKt.analyze(extendedResolutionApi.kt:97)
at org.jetbrains.kotlin.idea.caches.resolve.ExtendedResolutionApiKt.resolveToDescriptorIfAny(extendedResolutionApi.kt:39)
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny(resolutionApi.kt:60)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix.computeInfo(MakeOverriddenMemberOpenFix.kt:54)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix.access$computeInfo(MakeOverriddenMemberOpenFix.kt:38)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix$myQuickFixInfo$2.invoke(MakeOverriddenMemberOpenFix.kt:41)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix$myQuickFixInfo$2.invoke(MakeOverriddenMemberOpenFix.kt:38)
at org.jetbrains.kotlin.idea.core.util.CachedValueHelpersKt$sam$com_intellij_psi_util_CachedValueProvider$0.compute(CachedValueHelpers.kt)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$0(CachedValueBase.java:228)
at com.intellij.util.IdempotenceChecker.applyForRandomCheck(IdempotenceChecker.java:336)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at org.jetbrains.kotlin.idea.core.util.CachedValueHelpersKt.getValue(CachedValueHelpers.kt:25)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix.getMyQuickFixInfo(MakeOverriddenMemberOpenFix.kt)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix.getContainingDeclarationsNames(MakeOverriddenMemberOpenFix.kt:45)
at org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix.getText(MakeOverriddenMemberOpenFix.kt:89)
at com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching$MyIntentionAction.getText(IntentionActionWithTextCaching.java:165)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$invokeIntention$52(CodeInsightTestFixtureImpl.java:1933)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:322)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:188)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:965)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:838)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:733)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.util.ui.UIUtil.dispatchAllInvocationEvents(UIUtil.java:1738)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$invokeIntention$53(CodeInsightTestFixtureImpl.java:1939)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.withReadOnlyFile(CodeInsightTestFixtureImpl.java:1960)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.invokeIntention(CodeInsightTestFixtureImpl.java:1929)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$launchAction$14(CodeInsightTestFixtureImpl.java:680)
at com.intellij.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:18)
at com.intellij.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:13)
at com.intellij.testFramework.EdtTestUtilKt.runInEdtAndWait(EdtTestUtil.kt:44)
at com.intellij.testFramework.EdtTestUtil$Companion.runInEdtAndWait(EdtTestUtil.kt:18)
at com.intellij.testFramework.EdtTestUtil.runInEdtAndWait(EdtTestUtil.kt)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.launchAction(CodeInsightTestFixtureImpl.java:680)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$applyAction$stubComparisonFailure$1.invoke(AbstractQuickFixTest.kt:176)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$applyAction$stubComparisonFailure$1.invoke(AbstractQuickFixTest.kt:34)
at org.jetbrains.kotlin.idea.caches.resolve.ResolveInDispatchThreadManager.runWithForceCheckForResolveInDispatchThreadInTests$idea_core(ResolveInDispatchThreadManager.kt:115)
at org.jetbrains.kotlin.idea.caches.resolve.ResolveInDispatchThreadManagerKt.forceCheckForResolveInDispatchThreadInTests(ResolveInDispatchThreadManager.kt:40)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest.applyAction(AbstractQuickFixTest.kt:175)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest.access$applyAction(AbstractQuickFixTest.kt:34)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$doKotlinQuickFixTest$1.run(AbstractQuickFixTest.kt:125)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:153)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest.doKotlinQuickFixTest(AbstractQuickFixTest.kt:96)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest.access$doKotlinQuickFixTest(AbstractQuickFixTest.kt:34)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$doTest$1.invoke(AbstractQuickFixTest.kt:60)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$doTest$1.invoke(AbstractQuickFixTest.kt:34)
at org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCaseKt.withCustomCompilerOptions(KotlinLightCodeInsightFixtureTestCase.kt:253)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest.doTest(AbstractQuickFixTest.kt:55)
at org.jetbrains.kotlin.test.KotlinTestUtils.lambda$testWithCustomIgnoreDirective$6(KotlinTestUtils.java:803)
at org.jetbrains.kotlin.test.MuteWithFileKt$testWithMuteInFile$1.invoke(muteWithFile.kt:41)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTestImpl(KotlinTestUtils.java:773)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest(KotlinTestUtils.java:716)
at org.jetbrains.kotlin.idea.quickfix.QuickFixTestGenerated$Override.runTest(QuickFixTestGenerated.java:10025)
at org.jetbrains.kotlin.idea.quickfix.QuickFixTestGenerated$Override.testOverridingDelegatedMethod(QuickFixTestGenerated.java:10074)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:176)
at com.intellij.testFramework.UsefulTestCase.lambda$runTest$9(UsefulTestCase.java:327)
at com.intellij.testFramework.UsefulTestCase.lambda$invokeTestRunnable$10(UsefulTestCase.java:364)
at com.intellij.testFramework.EdtTestUtilKt.runInEdtAndWait(EdtTestUtil.kt:44)
at com.intellij.testFramework.UsefulTestCase.invokeTestRunnable(UsefulTestCase.java:363)
at com.intellij.testFramework.UsefulTestCase.runTest(UsefulTestCase.java:346)
at org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCaseBase.lambda$runTest$0(KotlinLightCodeInsightFixtureTestCaseBase.java:92)
at org.jetbrains.kotlin.test.KotlinTestUtils.lambda$runTestWithThrowable$4(KotlinTestUtils.java:726)
... 36 more
Caused by: org.jetbrains.kotlin.idea.caches.resolve.ResolveInDispatchThreadException: Resolve is not allowed under the write action for `org.jetbrains.kotlin.idea.quickfix.MakeOverriddenMemberOpenFix`!
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$applyAction$writeActionResolveHandler$1.invoke(AbstractQuickFixTest.kt:170)
at org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest$applyAction$writeActionResolveHandler$1.invoke(AbstractQuickFixTest.kt:34)
at org.jetbrains.kotlin.idea.caches.resolve.ResolveInDispatchThreadManager.assertNoResolveInDispatchThread$idea_core(ResolveInDispatchThreadManager.kt:73)
at org.jetbrains.kotlin.idea.caches.resolve.ModuleResolutionFacadeImpl.analyze(ModuleResolutionFacadeImpl.kt:60)
at org.jetbrains.kotlin.idea.caches.resolve.ModuleResolutionFacadeImpl.analyze(ModuleResolutionFacadeImpl.kt:56)
at org.jetbrains.kotlin.idea.caches.resolve.ResolutionFacadeWithDebugInfo.analyze(ResolutionFacadeWithDebugInfo.kt:45)
... 126 more
2020-08-25 21:31:10 +03:00
Mikhail Glukhikh
5702fb3b22
FIR: fix CCE in AttributeArrayOwner
2020-08-25 19:29:59 +03:00
Mikhail Glukhikh
962059a878
Introduce FirProperty.hasBackingField & use it in FIR2IR
2020-08-25 19:29:58 +03:00
Mikhail Glukhikh
c6417696cf
FirProperty: return back 'isReferredViaField' attribute
2020-08-25 19:29:58 +03:00
Jinseong Jeon
3e9ac75cfc
FIR: record use of backing field symbol to indeed add a backing field
2020-08-25 19:29:58 +03:00
Vyacheslav Gerasimov
0cc3762f9a
Build: Fix kotlinx-metadata-klib publication
2020-08-25 17:18:00 +03:00
vldf
36f2f1fcf7
[FIR] Add lightTree support to extended checkers + minor refactorings
2020-08-25 17:08:57 +03:00
vldf
da702992d9
[FIR] Fix null source on destructuring declaration
2020-08-25 16:33:49 +03:00
Ilya Matveev
30d24ed943
Tests, Gradle: Fix broken test for KT-40834
2020-08-25 13:06:40 +00:00
Ilya Matveev
920f1184bd
Revert "Revert "CocoaPods: Skip synthetic task on non-mac hosts""
...
This reverts commit 6040491373 .
2020-08-25 13:06:39 +00:00
Nick
fd9bfe44f1
[FIR] Visit class annotations without the class's scope
2020-08-25 15:59:33 +03:00
vldf
3cad88a58c
[FIR] Fir Helpers hotfix
2020-08-25 14:49:56 +03:00
vldF
cb627952b2
[FIR] Checkers performance improvement
...
[FIR] Checkers performance improvement
2020-08-25 14:20:30 +03:00
Ilya Goncharov
d86c81cb38
[JS, Gradle] Fix test on overflow, now throw exception on overflow
2020-08-25 13:44:20 +03:00
Arsen Nagdalian
8b4e8a2c0c
Diagnostics: add diagnostic for reporting contract description blocks in old frontend
2020-08-25 12:58:39 +03:00
Arsen Nagdalian
80d7f6b688
Ignore the "contract" keyword in code completion
2020-08-25 12:58:39 +03:00
Arsen Nagdalian
ede1c08a9b
[FIR] Add resolution of contracts that are written using the new syntax
2020-08-25 12:58:39 +03:00
Arsen Nagdalian
b8b60864fd
[FIR] Add contracts tests and place them in a separate directory
2020-08-25 12:58:39 +03:00
Arsen Nagdalian
86e07cd626
Parser tests: move the contract description blocks tests to a separate folder and add a test for property accessors' contracts
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
66f7250380
[FIR] Add contract description blocks support to "lightTree2FIR" conversion
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
9fd104eec8
[FIR] Add contract description blocks support to RawFirBuilder
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
d53f3b9ba8
[PSI] Add some useful getters to psi nodes
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
a936c6331a
[Parser] Add getters' and setters' contracts parsing
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
6c06008b4d
[FIR] Add a class representing the old syntax contract description in order to use the previous class for the new syntax
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
b83aa88eff
[FIR] Add function for getting ConeEffectDeclaration from FirEffectDeclaration and use it where needed
2020-08-25 12:58:35 +03:00
Arsen Nagdalian
991b18fec4
[FIR] Add a Fir node that wraps a ConeEffectDeclaration
2020-08-25 12:58:35 +03:00
Arsen Nagdalian
32a64b888e
[Parser] Add parsing of function's contract either before or after type constraints
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
1b57889773
Clean the code
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
f781a9993b
Parser tests: add tests for contract description blocks
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
2e9a898f45
[Parser] Move function's contracts parsing in before type constraints parsing
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
0990434840
[Parser] Modify parser so that it could parse contract description blocks of functions
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
e3fe9c3314
[PSI] Add new Psi nodes representing contract effects list and each individual contract effect in the list
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
4b7d34b537
Add "contract" keyword
2020-08-25 12:58:34 +03:00
Dmitriy Novozhilov
316e0e6609
[FIR] Update testdata
2020-08-25 12:07:59 +03:00
Dmitriy Novozhilov
3ccb72bb1a
Shadow :core:compiler.common inside kotlinx.metadata
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
811a2206a5
Fix usages of KotlinBuiltIns after rebase
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
bc1b6d3588
Rename :core:descriptors.common to :core:compiler.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
864cf21f03
Merge :core:type-system into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
5fa80a2f8c
Merge :core:deserialization:deserialization.common into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
bbac270b33
Move OperatorNameConventions to :core.descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
2760a187a9
Move FunctionClassKind utils to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
2285d3e3cf
Move Variance and AnnotationUseSiteTarget to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
167f18b738
Move SourceElement and SourceFile to :deserialization.common
...
Remove dependency on `:core:descriptors` from `:core:deserialization:deserialization.common`
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
d032fdfc44
[FIR] Cleanup dependencies in :compiler:fir:raw-fir modules
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
b6fd6c3a84
[FIR] Remove dependency on descriptors from :compiler:fir:raw-fir.raw-fir.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
71a517c686
[FIR] Rename :compiler:fir:raw-fir:fir-common to :compiler:fir:raw-fir:raw-fir.common
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
7d4349edc2
[FIR] Remove dependency on descriptors from :compiler:fir:tree module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
95346f834b
[FIR] Fix forgotten dependency to contracts of FE 1.0
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
73ace6d161
Remove dependency to descriptors from :compiler:config module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
82a9b1492b
Move RenderingUtils to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
ba6b1c37d0
Move TargetPlatform to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
d6d2be8e58
Move incremental components to :core:descriptors.common module
2020-08-25 10:41:31 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
6f0cd14afa
Move common classes to new :core:deserialization:deserialization.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
079a2dfe1e
Move EventOccurrencesRange class to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
f7f489537b
[FIR] Remove dependency on :core:descriptors from :compiler:fir:tree
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
e92caae609
[FIR] Remove dependency on :core:descriptors from :compiler:fir:cones
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
45cf221b97
Move util functions from KotlinBuiltIns to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
2e92fe9be9
[FIR2IR] Add fir2ir component for converting fir visibility to FE 1.0
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
a02109d857
[FIR] Add FirVisibilityChecker session component
...
This is needed because we have different visibility rules for different
platform visibilities (e.g. protected and package private on JVM), so
we need ability to configure visibility checks for different platforms
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
18ae593700
[FIR] Rename new visibilities to CamelCase
...
It's more convenient since they are objects now instead of
const fields in FE 1.0
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
9d9f9c52c0
Extract some classes from descriptors module to :core:common
...
This is needed to remove dependencies from fir modules to
`:core:descriptors` module
What was extracted:
- Modality
- ClassKind
- org.jetbrains.kotlin.name package
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
41ba9b0a2d
[FIR] Add flag to disable transformers required only for plugins
2020-08-25 10:31:34 +03:00
Mikhail Glukhikh
53ad502d2a
[FIR2IR] Generate fake overrides earlier and bind them later
...
Before this commit, we generated fake overrides at last FIR2IR stage,
after having all functions and classes built. This could lead to a
situation when fake override was called before it was generated.
This commit fixes this situation.
2020-08-25 10:00:26 +03:00
Ilya Chernikov
ee9c597767
Build: Remove exclusion of kotlinx-coroutines-core in scripting-compiler
...
The previous fix was insufficient to fix gradle substitution in MPP
projects (https://github.com/gradle/gradle/issues/14017 )
2020-08-24 19:13:16 +02:00
Nikolay Krasko
741f5de0f9
Clean PSI elements in KotlinExpressionMover
...
Fix report about leaked projects on build server:
via 'com.intellij.psi.impl.PsiManagerImpl.myProject'; Value: 'Project (name=light_temp, containerState=DISPOSE_COMPLETED, componentStore=/mnt/agent/temp/buildTmp/ideaProject_test_1285163057398451250/testRootGW1/unitTest_addPrimaryConstructorParameter/light_temp....' of class com.intellij.openapi.project.impl.ProjectImpl
via 'com.intellij.psi.impl.source.PsiFileImpl.myManager'; Value: 'com.intellij.psi.impl.PsiManagerImpl@4ecdfe8' of class com.intellij.psi.impl.PsiManagerImpl
via 'com.intellij.psi.impl.source.tree.CompositeElement.myWrapper'; Value: 'DummyHolder' of class com.intellij.psi.impl.source.JavaDummyHolder
via 'com.intellij.psi.impl.source.tree.TreeElement.myParent'; Value: 'Element(DUMMY_HOLDER)' of class com.intellij.psi.impl.source.tree.FileElement
via 'com.intellij.psi.impl.source.SubstrateRef$2.val$node'; Value: 'Element(VALUE_PARAMETER)' of class com.intellij.psi.impl.source.tree.CompositeElement
via 'com.intellij.extapi.psi.StubBasedPsiElementBase.mySubstrateRef'; Value: 'com.intellij.psi.impl.source.SubstrateRef$2@5d02fa19' of class com.intellij.psi.impl.source.SubstrateRef$2
via 'kotlin.Pair.first'; Value: 'VALUE_PARAMETER' of class org.jetbrains.kotlin.psi.KtParameter
via 'org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinExpressionMover.parametersOrArgsToMove'; Value: '(VALUE_PARAMETER, VALUE_PARAMETER)' of class kotlin.Pair
via '?'; Value: 'org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinExpressionMover@7a6f128e' of class org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinExpressionMover
via 'com.intellij.openapi.extensions.impl.ExtensionPointImpl.myExtensionsCacheAsArray'; Value: '[Lcom.intellij.codeInsight.editorActions.moveUpDown.StatementUpDownMover;@276493b6' of class [Lcom.intellij.codeInsight.editorActions.moveUpDown.StatementUpDownMover;
via 'java.util.concurrent.ConcurrentHashMap$Node.val'; Value: 'com.intellij.statementUpDownMover' of class com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
via '?'; Value: 'com.intellij.statementUpDownMover=com.intellij.statementUpDownMover' of class java.util.concurrent.ConcurrentHashMap$Node
via 'java.util.concurrent.ConcurrentHashMap.table'; Value: '[Ljava.util.concurrent.ConcurrentHashMap$Node;@724e0cae' of class [Ljava.util.concurrent.ConcurrentHashMap$Node;
via 'com.intellij.openapi.extensions.impl.ExtensionsAreaImpl.extensionPoints'; Value: '{com.intellij.embeddedTokenHighlighter=com.intellij.embeddedTokenHighlighter, org.intellij.groovy.expectedTypesContributor=org.intellij.groovy.expectedTypesContributor, org.jetbrains.kotlin.resolveSco...' of class java.util.concurrent.ConcurrentHashMap
via 'com.intellij.serviceContainer.ComponentManagerImpl.extensionArea'; Value: 'Application (containerState=ACTIVE) (Unit test) (Internal) (Headless) (Command line)' of class com.intellij.openapi.extensions.impl.ExtensionsAreaImpl
via '?'; Value: 'Application (containerState=ACTIVE) (Unit test) (Internal) (Headless) (Command line)' of class com.intellij.openapi.application.impl.ApplicationImpl
(from ApplicationManager.getApplication())
2020-08-24 19:03:03 +03:00
Nikolay Krasko
18195b3296
Rewrite SmartCompletionMultifileHandlerTest to KotlinFixtureCompletionBaseTestCase
...
Use light projects as an attempt to fight leaking project errors
2020-08-24 19:03:03 +03:00
Nikolay Krasko
e95c3e2905
Rewrite CompletionMultiFileHandlerTest to KotlinFixtureCompletionBaseTestCase
...
Use light projects as an attempt to fight leaking project errors
2020-08-24 19:03:03 +03:00
Ilya Goncharov
f92083989a
[JS, Wizard] Fix build integrity
2020-08-24 19:01:38 +03:00
Nikolay Krasko
6040491373
Revert "CocoaPods: Skip synthetic task on non-mac hosts"
...
This reverts commit ce029822
2020-08-24 18:31:32 +03:00
Ilya Goncharov
621c87ee84
Overflowed teamcity messages should failed build
...
^KT-41133 fixed
2020-08-24 18:22:22 +03:00
Nick
e7b12b9bb1
[FIR] Fix false positive SUPER_NOT_AVAILABLE
2020-08-24 17:23:32 +03:00
Dmitry Petrov
a2dabe11c5
JVM KT-41150: Fix backward compatibility for inline vals in inline class
...
In 1.3.x, for inline class member inline vals 'getFoo-impl' method was
generated in corresponding inline class.
Since 1.4.0, getters for properties returning inline class values are
mangled (so corresponding getters are named 'getFoo-<mangling_hash>'.
However, to maintain backward compatibility with libraries compiled with
1.3.x, inliner should be able to find 'getFoo-impl' method in the
bytecode.
2020-08-24 16:17:12 +03:00
Vladimir Ilmov
27a22fc1e9
Cleanup Coroutine panel in case connection gets disposed soon after
...
creation.
2020-08-24 15:09:14 +02:00
Vladimir Ilmov
cb2ab4676b
(CoroutineDebugger) Top node added to prevent dumpCoroutine() call
...
Panel gather information from the agent on each breakpoint hit.
2020-08-24 15:09:13 +02:00
Alexander Udalov
fa45650fd0
JVM IR: specialize ExpressionCodegen.visitFunctionAccess for constructors
...
This makes the code a bit clearer, and gets rid of some extra type
mapper invocations when generating constructor calls.
2020-08-24 14:51:52 +02:00
Ilya Kirillov
f9bd935ac6
Wizard: fix missing module templates
2020-08-24 15:48:02 +03:00
Kirill Shmakov
5a91dd0439
Update main wizard tests
2020-08-24 15:43:08 +03:00
Kirill Shmakov
147a8c357d
Wizard: switch androidx.core -> android.material
2020-08-24 15:43:08 +03:00
Kirill Shmakov
57e9e9a2a1
Wizard: add android.useAndroidX property
2020-08-24 15:43:07 +03:00
Kirill Shmakov
9e88d61be4
Wizard: switch android:allowBackup
...
Otherwise template could leak sensitive data.
2020-08-24 15:43:06 +03:00
Kirill Shmakov
94ae839d2c
Wizard: update Android Appcompat version
2020-08-24 15:43:03 +03:00
Kirill Shmakov
06f9a4e228
Wizard: update Android Gradle plugin version
2020-08-24 15:43:02 +03:00
Roman Artemev
a095909d5c
[Plugin API] Provide special context in EP for link-time resolve
...
- requires to customize declarations from synthetic declarations
2020-08-24 15:37:39 +03:00
Steven Schäfer
ea98062241
JVM IR: Fix compilation of inline functions in anonymous objects...
...
...in class members. The corresponding classes end up nested in the
class initializer of the surrounding class and we need to take this into
account when creating instances of ClassCodegen.
This fixes KT-40332 on the JVM IR backend.
2020-08-24 14:10:36 +02:00
Ilya Matveev
ce02982226
CocoaPods: Skip synthetic task on non-mac hosts
...
This patch performs the following changes:
1. Create synthetic tasks even if synthetic projects are
not supported on the current host. This change simplifies
configuring dependencies between these tasks and custom user
tasks at the user side.
2. Disable synthetic tasks if synthetic projects are not supported
on the current host
Issue #KT-40834 Fixed
2020-08-24 12:04:50 +00:00
Alexander Udalov
b10cc6657e
Fix loading of builtins resources in kotlin-reflect in Java modular mode
...
The main change here is that when kotlin-reflect is being run under Java
9+, we use another implementation of BuiltInsResourceLoader (see
libraries/reflect/api/src/java9) which loads .kotlin_builtins files from
the java.lang.Module instance of kotlin-stdlib, instead of the class
loader of kotlin-reflect, which may not have access to those resources.
If the application is being run in the old (classpath) mode, that Module
represents the unnamed module, which contains everything on the
classpath, and everything works as before. But if it's being run in the
modular mode, that Module instance is an encapsulated module for
kotlin-stdlib classes and resources, exactly where .kotlin_builtins
files are located.
This fixes a regression in 1.4.0. Prior to 1.4, kotlin-reflect and
kotlin-stdlib were not named modules (see KT-21266) and were loaded as
_automatic_ modules even if the application was run in the modular mode.
Apparently, they shared the same class loader in that case and looking
up .kotlin_builtins resources worked.
This change was supposed to go alongside
828cc6dbf3 , but was overlooked because
adding module-info to standard libraries was postponed at that point.
Also slightly refactor Java9ModulesIntegrationTest to simplify running
compiled code, and add a smoke test on using kotlin-reflect in modular
mode.
#KT-40842 Fixed
2020-08-24 13:30:00 +02:00
Alexander Udalov
201fa849b8
Workaround problem with log4j warnings in CLI tests
...
#KTI-166
2020-08-24 13:30:00 +02:00
Nick
05cfb654ba
[FIR] Fix removeAtInt test
2020-08-24 13:38:43 +03:00
Nikolay Krasko
2b983b1c20
Mute flaky JavaAgainstKotlinBinariesCheckerTestGenerated.testEnumStaticImportInJava
2020-08-24 13:20:31 +03:00
Ilya Goncharov
2d8643b6ef
[Gradle, JS] Add nowarn flag for kotlin2js
...
^KT-41340 fixed
2020-08-24 13:05:22 +03:00
Nick
aeae898b94
[FIR] Fix issues with properties' fake sources
2020-08-24 11:06:45 +03:00
Nick
61e21dadec
[FIR] Add 3 type mismatch diagnostics
2020-08-24 11:06:12 +03:00
Nick
c8f8908a01
[FIR] Add NO_THIS & INSTANCE_ACCESS_BEFORE_SUPER_CALL
2020-08-24 11:06:10 +03:00
Nick
7e1c2cfd36
[FIR] Add diagnostic INAPPLICABLE_LATEINIT_MODIFIER + some builtin types
2020-08-24 11:06:06 +03:00
Nick
091e12c093
[FIR] Add diagnostic CONFLICTING_PROJECTION
2020-08-24 11:06:04 +03:00
Dmitriy Dolovov
d40bca4143
[Commonizer] Short-circuiting of type aliases
...
^KT-41220
2020-08-24 12:21:12 +07:00
Vyacheslav Gerasimov
8a84af8a6f
Build: Fix idea-gradle test task dependency on dist
2020-08-22 14:11:34 +03:00
Mark Punzalan
a9359eb530
RangeContainsLowering: Handle unsigned ranges.
2020-08-21 21:15:27 +02:00
Mark Punzalan
ceba9f231d
RangeContainsLowering: Fix bug in additional condition order for
...
`until` ranges.
2020-08-21 21:15:27 +02:00
Mark Punzalan
60a2f7d03f
RangeContainsLowering: Handle Comparable ranges.
2020-08-21 21:15:27 +02:00
Mark Punzalan
1c1b1b4b0f
Initial version of RangeContainsLowering, which optimizes calls to
...
contains() on ClosedRanges.
2020-08-21 21:15:27 +02:00
Jinseong Jeon
ca541337d1
FIR: skip return insertion for lambda w/ Unit return type
2020-08-21 19:16:43 +03:00
Alexander Udalov
f1ce668ede
IR: minor, don't store unnecessary fields
2020-08-21 17:52:10 +02:00
Alexander Udalov
26eb51a9f9
Minor, fix generateBuiltins test
2020-08-21 17:51:23 +02:00
Nikolay Krasko
d170f46bfc
Mute flaky fun usages tests
2020-08-21 18:28:21 +03:00
Nikolay Krasko
6293842d81
Mute XCoroutinesStackTraceTestGenerated flaky test
2020-08-21 18:28:21 +03:00
Nikolay Krasko
9d300f56cc
Mark SubpluginsIT.testKotlinVersionDowngradeInSupbrojectKt39809 as flaky
2020-08-21 18:28:21 +03:00
Nikolay Krasko
8f785f6bb2
Mute flaky tests in ContinuationStackTraceTestGenerated
2020-08-21 18:28:21 +03:00
Nikolay Krasko
fd036c2658
Mute flaky tests in JavaAgainstKotlinBinariesCheckerTestGenerated
2020-08-21 18:28:21 +03:00
Roman Artemev
fcca2c6fa3
[JS IR] fix failing test
2020-08-21 17:44:07 +03:00
pyos
5722f889d8
FIR2IR: scan the entire interface tree for delegatable members
2020-08-21 16:50:23 +03:00
Mikhail Glukhikh
99d2fd7c4d
[FIR] Handle open in interface correctly during status resolve
2020-08-21 16:50:23 +03:00
Mikhail Glukhikh
8e2c5bf4fe
[FIR] Fix exposed visibility checking for enum entries
2020-08-21 16:50:22 +03:00
Mikhail Glukhikh
e15e87fded
[FIR] Expand aliased type before checking for exposure
2020-08-21 16:50:22 +03:00
Denis Zharkov
cb6fbc329a
FIR: Simplify FirQualifiedAccess hiearchy
...
Mostly, it's getting rid of FirQualifiedAccessWithoutCallee and FirModifiableQualifiedAccess
The latter was only used during FIR building to set explicit receiver
that might be done by replace call on explicit receiver
The problem with replaceExplicitReceiver is that for FirComponentCall
explicitReceiver should be not null, so it's needed to perform those tricks
at the generatot
2020-08-21 16:34:46 +03:00
Dmitriy Novozhilov
e6837a5b8c
[FIR] Unify implementations of toSymbol and getSymbolByLookupTag
2020-08-21 15:28:34 +03:00
Dmitriy Novozhilov
d1f6e45b08
[FIR] Cleanup signature of getNestedClassifierScope
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
ffdc68b68d
[FIR] Get rid of AbstractFirSymbolProviderWithCache
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
111b8c0169
[FIR] Cleanup caching symbol in ConeClassLikeLookupTagImpl
...
Type of `boundSymbol` replaced to OneElementWeakMap
`FirSymbolProvider.getSymbolByLookupTag` moved to extensions
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
9032234e1d
[FIR] Get rid of FirSymbolProvider.getNestedClassifierScope
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
77f52a9ddb
[FIR] Add special inline class for caches which are used in symbol providers
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
4b6193159c
[FIR] Get rid of JavaSymbolProvider.getJavaTopLevelClasses
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
d7cfb2fb13
[FIR] Get rid of FirSymbolProvider.getClassNamesInPackage
...
There was one non-removable usage of those function in FirJavaElementFinder
and three non-trivial implementation
- `FirProvider.SymbolProvider`
- `KotlinDeserializedJvmSymbolsProvider`
- `FirBuiltinSymbolProvider`
First implementation was moved to `FirProvider` and other two was
deleted, because in FirJavaElementFinder we need lookup only in
classes from source code, so such methods in library providers are
useless
#KT-41048
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
b31f80aee3
[FIR] Get rid of FirSymbolProvider.getAllCallableNamesInPackage
...
#KT-41048
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
f32a0fe7ad
[FIR-TEST] Unify AbstractFirLoadCompiledKotlin and BuiltInsDeserializationForFirTestCase
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
913ea9b56d
[FIR-TEST] Get rid of deprecated methods usage in AbstractFirLoadCompiledKotlin
...
Now complied declaration names are collected via ModuleDescriptor,
so tests pass more correctly. Before this change tests didn't render
compiled typealiases and properties.
Also some testdata was changed because of new order of declaration
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
41aa90ad71
[FIR-TEST] Add flag to take memory dumps in modularized test
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
cb0b25ea39
[FIR] Replace Deprecated with PrivateForInline in ScopeSession
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
b4dc7955b4
[FIR] Avoid collections copying in FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
ce36ae64a1
[FIR] Deprecate questionable methods of FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
d5bb87cd1f
[FIR] Replace inheritance with delegation for FirProvider and FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
ad9e41b828
[FIR] Mark JavaSymbolProvider.getJavaTopLevelClasses as @TestOnly
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
1d26ce4a4e
[FIR] Get rid of useless methods in FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
f0d05a321d
[FIR-IDE] Use symbolProvider instead of firProvider in KtFirPackageScope
2020-08-21 15:27:53 +03:00
vldf
0d6b363179
[FIR] Refactoring for extended checkers
2020-08-21 15:09:05 +03:00
vldf
e2016499f3
[FIR] Fixed CFA bug
2020-08-21 15:08:37 +03:00
vldf
ac07438489
[FIR] Speed up CFA-checkers
2020-08-21 15:08:37 +03:00
vldf
638a0d3b82
[FIR] Checkers performance improvement and some refactoring
2020-08-21 15:08:36 +03:00
Kirill Shmakov
5a45cc7290
Update wizard tests
2020-08-21 13:06:56 +03:00
Denis Zharkov
cee72023fa
Remove TypeSystemContext::mayBeTypeVariable optimization
...
It doesn't work now since anyway it's required to obtain type
constructor
At the same time, now it's not very expensive to obtain the constructor
since it's just a lookup tag
2020-08-21 12:50:33 +03:00
Denis Zharkov
9ac5dd2bce
FIR: Use lookup tags for as type constructors instead of symbols
...
It may help to avoid redundant symbols lookups
2020-08-21 12:50:33 +03:00
Vladimir Ilmov
34b55dbeb3
(CoroutineDebugger) Disable agent for MPP projects
...
#KT-39412 fixed
2020-08-21 10:35:39 +02:00
Vladimir Dolzhenko
1e96088cc6
Check unique symbols in Goto*Tests
2020-08-21 10:04:36 +02:00
Dmitry Gridin
5f584691a6
[inspections] disable "Redundant inner modifier" inspection
...
^KT-41264 Fixed
2020-08-21 09:28:37 +07:00
Vladimir Dolzhenko
ec253862c6
Check unique symbols in Goto*Tests
2020-08-20 23:50:26 +02:00
Kirill Shmakov
62be688eb7
Wizard: add missing test dependency
2020-08-20 22:33:14 +03:00
Roman Artemev
e7f22bcfbc
[JS IR] Add test for cross module export
2020-08-20 22:16:20 +03:00
Anton Bannykh
136d86e552
[JS IR] Fix cross-module import/export in case per-module splitting
2020-08-20 22:13:39 +03:00
Roman Artemev
8d61e9ba21
[KLIB] Load @JsExport annotated declarations explicitly
2020-08-20 22:13:39 +03:00
Roman Artemev
1a0e3a1d83
[KLIB] Refactor file serializer a bit
...
- Support explicitly exported on files and properties
2020-08-20 22:13:38 +03:00
Alexander Udalov
12e900ef3c
Minor, do not capitalize words in generated Gradle options docs
...
To make this output correspond to the actual table at
https://github.com/JetBrains/kotlin-web-site/blob/master/pages/docs/reference/using-gradle.md
2020-08-20 20:30:55 +02:00
Alexander Udalov
0ef4b22cf3
Remove deprecated usages of ContainerUtil
2020-08-20 20:30:34 +02:00
Alexander Udalov
2428c180c2
Suppress warning on usage of old MPP in kotlin-stdlib
2020-08-20 20:30:34 +02:00
Alexander Udalov
da6d904c6e
Suppress code warnings in kotlin-stdlib
2020-08-20 20:30:34 +02:00
Nikolay Krasko
5ef4f7df5a
Mute more tests
2020-08-20 16:06:11 +03:00
Nikolay Krasko
44a95a4105
Stop running failed AndroidRunner tests
2020-08-20 16:06:11 +03:00
Nikolay Krasko
7f91ed6997
Support mute tests in kotlin-gradle-plugin-integration-tests (KTI-234)
...
#KTI-234 Fixed
2020-08-20 16:06:11 +03:00
Mikhail Glukhikh
07bddbe4d0
[FIR CLI] Don't run generation if some errors are found
2020-08-20 16:04:07 +03:00
Mikhail Glukhikh
85c1505689
[FIR2IR] Copy type parameters for trivial fake overrides
2020-08-20 16:04:02 +03:00
Alexander Udalov
bf0bb9e946
JVM IR: remove obsolete code for duplicate signature diagnostics
2020-08-20 14:58:36 +02:00
Alexander Udalov
425b192a5f
Fix warnings in build-common/daemon code
2020-08-20 14:58:11 +02:00
Alexander Udalov
1d15a5547d
Suppress deprecation warnings related to scripting
2020-08-20 14:58:11 +02:00
Alexander Udalov
549ee84687
Fix some compiler warnings in FIR modules
2020-08-20 14:57:54 +02:00
Mikhail Zarechenskiy
ced151f3af
Add test for KT-41254
...
It was fixed along with #KT-41005
2020-08-20 15:45:32 +03:00
Mads Ager
a6f301e84a
[JVM_IR] Rebase constructor stepping tests that are working as intended.
...
JVM_IR has consistent stepping behavior for secondary constructors
and init blocks. This change fixes the expectations for tests that
expect the less consistent JVM backend behavior.
2020-08-20 13:12:22 +02:00
Mads Ager
2c6b5c8847
[JVM_IR] Give temporary variable loads meaningful offsets.
...
Temporary variable loads in when expressions had the offsets
of the variable declaration. That leads to hacks during codegen
for line number generation.
Instead of those hacks, give the variable loads the offsets of
the context in which they occur. That avoids the codegen hacks
and fixes stepping behavior for more when expressions.
2020-08-20 13:12:22 +02:00
Sergey Igushkin
413d02621b
Add a link to docs in MPP stability warning; add a flag that hides it
2020-08-20 10:44:59 +00:00
Mikhail Glukhikh
02e5f140f4
Fir2IrLazyProperty: generate overridden symbols via FirTypeScope
2020-08-20 11:47:35 +03:00
Mikhail Glukhikh
25efad2fd7
[FIR2IR] Extract generateOverriddenAccessorSymbols
2020-08-20 11:47:35 +03:00
Roman Golyshev
539d2bc01f
FIR Completion: Fix completion with error type as receiver
...
- When type is error, the completion should not show anything; instead,
it was showing as if the explicit receiver was not there
2020-08-20 11:33:23 +03:00
Roman Golyshev
bca9754a7b
FIR Completion: Move completion from available scopes to separate class
2020-08-20 11:33:23 +03:00
Denis Zharkov
7f3f0faa1a
FIR: Rework overridden members processing in FirTypeScope
...
Now, FirTypeScope returns only direct overridden and a base scope
where a client might look for deeper overridden
It's necessary to make the API fast and simple
when only direct overridden are needed
At the same time, while this API looks a bit complicated for most of the clients
there are simple extension helpers that obtain just the direct or all overridden
2020-08-20 11:18:59 +03:00
Toshiaki Kameyama
8ce9b2d061
KT-34572 Convert to block body action improperly works with suppress annotations ( #2969 )
...
* Convert to block body: place @Suppress annotation before return expression
#KT-34572 Fixed
* Convert to block body: place annotations before return expression
2020-08-20 11:15:00 +03:00
Ilya Kirillov
9e0bb4ce8e
FIR: save resolvePhase of declaration when creating it fake override copy
2020-08-20 11:07:09 +03:00
Ilya Kirillov
b1d3ab04c2
FIR [IDE]: provide correct node phase when necessary
2020-08-20 09:48:33 +03:00
Mads Ager
119302b016
[JVM_IR] Run KotlinSteppingTests with the JVM_IR backend.
...
Implement support for supressing failures by backend.
2020-08-20 05:48:54 +02:00
Nikolay Krasko
01f7da66c6
Mute ProjectTemplateNewWizardProjectImportTestGenerated.**.testMultiplatformApplication
2020-08-19 23:35:23 +03:00
Nikolay Krasko
9d18279ec9
Mute ReferenceResolveTestGenerated.DelegatedPropertyAccessors.InStandardLibrary.testNotNull
2020-08-19 23:01:09 +03:00
Nikolay Krasko
d87d42348b
Mute flaky GotoWithMultipleLibrariesTest
...
Tests are flaky after e2a12602a3
2020-08-19 23:01:09 +03:00
Nikolay Krasko
179bd1cc3d
Mute KotlinUastTypesTest.testEa101715
2020-08-19 23:01:09 +03:00
Nikolay Krasko
950b139804
Mute CreateFunction.Invoke.testLambdaArgument
2020-08-19 23:01:09 +03:00
Nikolay Krasko
496ede7587
Mute KotlinUastTypesTest.testEa101715
2020-08-19 23:01:08 +03:00
Nikolay Krasko
4135240cc0
Mute testFunctionBreakpointInStdlib in AS41
2020-08-19 23:01:08 +03:00
Nikolay Krasko
7982283007
Copy mutes for AS41 from 201
2020-08-19 23:01:08 +03:00
Nikolay Krasko
a3c8427cb2
Mute GradleScriptListenerTest tests
2020-08-19 23:01:08 +03:00
Nikolay Krasko
7de5368b4d
Fix AbstractGradleBuildRootsLocatorTest tests
2020-08-19 23:01:08 +03:00
Nikolay Krasko
0b2fcd2c4d
Remove mutes for navigation tests
2020-08-19 23:01:08 +03:00
Yunir Salimzyanov
ebe0489a74
Fix joined lines in .bunch
2020-08-19 19:51:51 +03:00
Yunir Salimzyanov
70cda1b113
Refactor and fix files previously affected by 192 patchset (KTI-315)
2020-08-19 19:40:02 +03:00
Yunir Salimzyanov
42da9e62db
Cleanup 192 patchset files (KTI-315)
2020-08-19 19:40:02 +03:00
Yunir Salimzyanov
73aa21aab6
Refactor and fix files previously affected by as36 patchset (KTI-315)
2020-08-19 19:40:00 +03:00
Yunir Salimzyanov
27b2e16141
Cleanup as36 patchset files (KTI-315)
2020-08-19 19:40:00 +03:00
Ilya Chernikov
0a9089bc72
Set correct base classloader for REPL evaluation
...
the contributed partial fix of KT-35925 set it to the system classloader
which brought in many cases the compiler CP into the evaluation and lead
to the problems like KT-40898. This fix set it to the extension/platform
classloader, which preserves (partial) fix of the KT-35925 and do not
bring the compiler jar into the REPL evaluation classpath.
#KT-40898 fixed
2020-08-19 15:17:07 +02:00
Ilya Chernikov
f713e8ad36
Set context classloader before REPL evaluation
...
#KT-35925 fixed
2020-08-19 15:17:06 +02:00
Vladimir Dolzhenko
d0366d3bcb
Failed test clean up
...
Relates to ^KT-40960
2020-08-19 15:06:53 +02:00
alexjuca
4794297640
used string template instead of concatenation
2020-08-19 13:58:58 +02:00
Kirill Shmakov
f88e492d11
Support hmpp in template
...
Explained in KMM-332
2020-08-19 14:46:49 +03:00
Toshiaki Kameyama
11044a3ab5
Surround with null check: fix incorrect check for 'in' expression
...
#KT-31749 Fixed
2020-08-19 14:37:24 +03:00
Toshiaki Kameyama
1188f4617a
Change file's package to match directory: add space after package keyword if needed
...
#KT-39604 Fixed
2020-08-19 14:04:18 +03:00
Kirill Shmakov
1ce39222e3
Build KMM plugin for AS 4.2
2020-08-19 13:02:39 +03:00
Mikhail Zarechenskiy
6ed13ef1b6
Fix unresolved reference to catch parameter from lambda expression
...
#KT-41140 Fixed
2020-08-19 12:52:16 +03:00
Mikhail Zarechenskiy
f2fba8a469
Fix delegated property resolve when provideDelegate has this as argument
...
#KT-41135 Fixed
2020-08-19 12:52:16 +03:00
Toshiaki Kameyama
f3be3f449a
Scope function conversion: do not suggest when invoked without receiver
...
#KT-35525 Fixed
2020-08-19 12:27:41 +03:00
Toshiaki Kameyama
8ba5548a0f
"Eliminate argument of 'when'": do not suggest if 'when' is used as expression and it has no 'else' branch ( #2898 )
...
#KT-35526 Fixed
2020-08-19 12:24:58 +03:00
Toshiaki Kameyama
d965ad0a98
IfThenToSafeAccessInspection: do not report if condition is SENSELESS_COMPARISON/USELESS_IS_CHECK ( #3007 )
...
#KT-36051 Fixed
2020-08-19 12:22:10 +03:00
Toshiaki Kameyama
122bba9102
UnnecessaryVariableInspection: don't report for overriding property
...
#KT-39263 Fixed
2020-08-19 12:16:37 +03:00
Igor Yakovlev
c29dbee65e
Cover move method refactoring with registry key (disabled by default)
2020-08-19 12:11:53 +03:00
aleksandrina-streltsova
ed67517fb9
Move: make minor refactorings and add GUI form for MoveKotlinMethodDialog
2020-08-19 12:11:53 +03:00
aleksandrina-streltsova
5515465760
Move: Support method moving
2020-08-19 12:11:53 +03:00
Alex Chmyr
a5368e443c
KT-20421 fixing code generation for the case when "object" extends "class". It should look like: "object: class()".
2020-08-19 11:46:29 +03:00
Anton Yalyshev
26ca205f7e
Fix a broken hyperlink to Whatsnew at the plugin change-notes
2020-08-19 11:41:13 +03:00
Ilya Kirillov
ccf285a284
FIR IDE: do not recreate analysis session for tests now
2020-08-19 11:35:42 +03:00
Ilya Kirillov
c191373a6b
FIR IDE: always pass ValidityToken to KtAnalysisSessionComponent
2020-08-19 11:35:41 +03:00
Ilya Kirillov
2290d2fcc0
FIR IDE: make FirScopeRegistry belong to a KtFirScopeProvider
2020-08-19 11:35:40 +03:00
Roman Golyshev
7d58588f06
FIR IDE: Fix KtFirPropertySymbol::receiverType
2020-08-19 11:23:56 +03:00
Dmitry Petrov
8f0aecce58
JVM_IR: KT-40330 Unify field names for captured 'this' with JVM
...
NB some cases such as captured extension receiver for an extension
lambda are not supported yet; to be discussed, to what extent should we
actually follow JVM code shape here.
2020-08-19 11:07:41 +03:00
Dmitriy Dolovov
24bfc155af
IDE perf tests for K/N: Use Gradle 6.6
2020-08-19 12:45:16 +07:00
Dmitriy Dolovov
6a95317f73
IDE perf tests for K/N: Switch to 1.4.0
2020-08-19 12:45:09 +07:00
Mikhail Glukhikh
f7cb165fb9
Introduce Fir2IrBuiltIns & move extension function type inside
2020-08-18 21:54:05 +03:00
Simon Ogorodnik
97b10b5ab3
[FIR2IR] Hack-in setting of extension function type annotation
2020-08-18 21:53:55 +03:00
Mikhail Glukhikh
b1c36feef4
Minor: regenerate FIR diagnostic tests
2020-08-18 21:53:35 +03:00
Jinseong Jeon
7e22de1e24
FIR2IR: insert coerce-to-unit expressions in statement containers
2020-08-18 21:53:08 +03:00
pyos
1b3ab53e16
FIR2IR: set superQualifierSymbol for setters too
2020-08-18 21:53:08 +03:00
Jinseong Jeon
e9659d9c8a
FIR2IR: make the scope of body of do-while loop transparent
2020-08-18 21:53:07 +03:00
Jinseong Jeon
1b6c4329d2
FIR2IR: handle unbound reference with adapted arguments
2020-08-18 21:53:07 +03:00
vldf
a26eeb6ee8
[FIR] Add CLI flag for running extended checkers
2020-08-18 21:53:07 +03:00
vldf
2bf1d3fee8
[FIR] Add messages for extended checkers' warnings
2020-08-18 21:53:06 +03:00
Ilya Kirillov
08e2dd3dea
NJ2K: fix implicit type cast in binary expressions
...
#KT-37298 fixed
2020-08-18 17:38:07 +03:00
Ilya Kirillov
d5d57f84e0
NJ2K: preserve annotations while converting class to object
...
#KT-38879 fixed
2020-08-18 17:38:07 +03:00
Ilya Kirillov
3d517c3656
NJ2K: fix retrieving resolutionFacade on empty context elements list
2020-08-18 17:38:07 +03:00
Ilya Kirillov
de0c216cfa
NJ2K: fix NPE in JavaObjectEqualsToEqOperatorProcessing
2020-08-18 17:38:06 +03:00
Simon Ogorodnik
38477be484
[FIR] Make test fail if profiling requested, but misconfigured
2020-08-18 16:21:48 +03:00
Simon Ogorodnik
15d4333e81
[FIR] Add per-pass profiling support to modularized test
2020-08-18 16:21:48 +03:00
Simon Ogorodnik
83ded9badf
[FIR] Add pass argument to beforePass of modularized test
2020-08-18 16:21:48 +03:00
Roman Artemev
716c3668d6
[IR] Properly resolve type parameters in case of property accessor
...
- fix KT-41006
2020-08-18 11:48:06 +03:00
Alexander Udalov
a810dbb41b
IR: fix compiler warnings
2020-08-18 10:33:25 +02:00
Vladimir Dolzhenko
be53467bee
Flaky and muted navigation tests clean up
...
Relates to #KT-40960
2020-08-18 08:23:02 +00:00
Vladimir Dolzhenko
e2a12602a3
Fixed getPsiMethodWrappers for KtLightMethodForDecompiledDeclaration
...
#KT-40960 Fixed
2020-08-18 08:23:01 +00:00
Vladimir Dolzhenko
ee0250bd35
Reformat file
...
Relates to #KT-40960
2020-08-18 08:23:00 +00:00
Vladimir Dolzhenko
5c7054a5ab
Fixed src path for mock library
...
Relates to #KT-40960
2020-08-18 08:23:00 +00:00
Natalia Selezneva
7b80be5c9d
Temporary workaround for gradle issue: wrong navigation for included plugin source code
...
https://github.com/gradle/gradle/issues/13783
^KT-39522
2020-08-17 23:12:51 +03:00
Alexander Udalov
7dd687cf00
IR: minor, use lazy instead of lazyVar for readonly value
2020-08-17 21:19:53 +02:00
Alexander Udalov
a21f273570
Fix compiler warnings in compiler code
2020-08-17 21:18:20 +02:00
Alexander Udalov
9b94e073af
Fix warnings related to OptIn/UseExperimental
2020-08-17 21:18:19 +02:00
Alexander Udalov
256f4449ce
IR: annotate obsolete API in IrPluginContext with ObsoleteDescriptorBasedAPI
2020-08-17 21:18:19 +02:00
Alexander Udalov
9961bd1fe1
IR: remove unneeded casts after making IrCall's symbol a simple function
2020-08-17 21:18:17 +02:00
Alexander Udalov
3bdbfc1e73
Output total codegen statistics after IR translation/generation
2020-08-17 19:29:58 +02:00
Alexander Udalov
c3cbcf6d7f
Slightly improve performance measurements rendering
...
Report the input module name and size once before any measurements
instead of duplicating it in all of them. Also, render measurements in a
table to improve readability.
Before:
info: PERF: INIT: Compiler initialized in 467 ms
info: PERF: ANALYZE: 1 files (2 lines) target main-java-production in 277 ms - 7.220 loc/s
info: PERF: IR: Translation 1 files (2 lines) target main-java-production in 291 ms - 6.873 loc/s
info: PERF: GENERATE: 1 files (2 lines) target main-java-production in 513 ms - 3.899 loc/s
info: PERF: IR: Generation 1 files (2 lines) target main-java-production in 142 ms - 14.085 loc/s
After:
info: PERF: main-java-production, 1 files (2 lines)
info: PERF: INIT: Compiler initialized in 421 ms
info: PERF: ANALYZE 342 ms 5.848 loc/s
info: PERF: IR TRANSLATION 296 ms 6.757 loc/s
info: PERF: GENERATE 453 ms 4.415 loc/s
info: PERF: IR GENERATION 137 ms 14.599 loc/s
2020-08-17 19:29:57 +02:00
Simon Ogorodnik
0045b501d5
FIR IDE: Fix memory leak in thread locals
2020-08-17 20:05:52 +03:00
Ilya Kirillov
76b078b561
FIR IDE: resolve KtFirLocalVariableSymbol only to IMPLICIT_TYPES_BODY_RESOLVE
2020-08-17 20:05:52 +03:00
Ilya Kirillov
b8920114f8
FIR: set resolvePhase to BODY_RESOLVE in deserialized Kotlin declarations
2020-08-17 20:05:52 +03:00
Simon Ogorodnik
c7d6a79c25
FIR IDE: Fix completion in case of function with parameters
2020-08-17 20:05:52 +03:00
Nikolay Krasko
863de52f7a
Minor: better name for file walking with excludes
2020-08-17 20:02:47 +03:00
Nikolay Krasko
c30910130e
Remove minor optimization in CodeConformanceTest
2020-08-17 20:02:46 +03:00
Nikolay Krasko
01f3bdfc69
Exclude kotlin-ultimate/ide/common-cidr-native from author check
2020-08-17 20:02:46 +03:00
Nikolay Krasko
31ed803ada
More excludes
2020-08-17 19:40:49 +03:00
Nikolay Krasko
713dbc225e
Other repositories monitoring
2020-08-17 19:40:48 +03:00
Nikolay Krasko
fad15b6627
Rewrite testThirdPartyCopyrights test
2020-08-17 19:40:48 +03:00
Nikolay Krasko
bb0ea56d63
Extract traversing through directories to the common code
2020-08-17 19:40:48 +03:00
Nikolay Krasko
8db588c7f0
Optimize testNoBadSubstringsInProjectCode test
...
Don't visit ignored directories
2020-08-17 19:40:48 +03:00
Nikolay Krasko
2655d9dab3
Optimize testForgottenBunchDirectivesAndFiles test
...
Don't step through the ignored directories.
2020-08-17 19:40:48 +03:00
Nikolay Krasko
3eb89d6dfd
Use own allow list for each repository
2020-08-17 19:40:48 +03:00
Nikolay Krasko
8445c8f4a5
Update copyright conformance excludes
2020-08-17 19:40:47 +03:00
Nikolay Krasko
04a1e572a8
Monitor new usages of kotlin-eap repository
2020-08-17 19:40:47 +03:00
Nikolay Krasko
d2bf5587d6
Monitor new usages of kotlin-dev repository
2020-08-17 19:40:47 +03:00
Nikolay Krasko
50d85b92da
Remove more kotlin-dev usages
2020-08-17 19:40:47 +03:00
Nikolay Krasko
be2badc6ed
Remove kotlin-dev from gradle migrate test
2020-08-17 19:40:47 +03:00
Nikolay Krasko
0c27e87eb9
Remove kotlin-dev from gradle configurator tests
2020-08-17 19:40:46 +03:00
Dmitriy Dolovov
3dc3c19c02
[Commonizer] Fix ImportAndCheckNavigation IT
2020-08-17 21:52:40 +07:00
Georgy Bronnikov
df8b819a55
JVM_IR: restore dumping for IrLowering phase
2020-08-17 15:57:12 +03:00
Ilya Goncharov
c70759673c
[Gradle, JS] Update npm versions
...
^KT-41125 fixed
2020-08-17 15:22:30 +03:00
Steven Schäfer
6100166185
JVM IR: Fix special bridge generation with external Kotlin dependencies
2020-08-17 13:42:32 +02:00
Ilya Kirillov
730e07c52a
Wizard: fix ExpectedFileTest.kt
2020-08-17 12:22:38 +03:00
Toshiaki Kameyama
35459d2ca7
"Add not-null asserted (!!) call": add '!!' to receiver of function reference
...
#KT-37841 Fixed
2020-08-17 12:05:45 +03:00
Ilya Kirillov
5e5e19f482
FIR IDE: temporary disable AddFunctionReturnTypeIntention
2020-08-17 11:38:05 +03:00
Ilya Kirillov
b79deafbc7
FIR IDE: fix testdata
2020-08-17 11:38:04 +03:00
Ilya Kirillov
27c045d035
FIR IDE: move all all symbol markers to markers package
2020-08-17 11:38:02 +03:00
Ilya Kirillov
052e8e5069
FIR IDE: make a symbol hierarchy a sealed one
2020-08-17 11:38:01 +03:00
Ilya Kirillov
018dd673b3
FIR IDE: simplify containing declaration provider
2020-08-17 11:38:00 +03:00
Ilya Kirillov
37ac654444
FIR IDE: rework high level API
...
Make analysis session to always be a receiver parameter
2020-08-17 11:37:58 +03:00
Ilya Kirillov
cadf99ca1e
FIR IDE: introduce containingDeclarationProvider for symbols
2020-08-17 11:37:57 +03:00
Ilya Kirillov
b5a4e4c409
FIR IDE: introduce applicable computation & -based inspection
2020-08-17 11:37:56 +03:00
Ilya Kirillov
c8ab0766c9
FIR IDE: Implement symbol restoring for member symbols
2020-08-17 11:37:55 +03:00
Ilya Kirillov
e4995175a4
FIR IDE: fix idea-frontend-fir testdata
2020-08-17 11:37:53 +03:00
Ilya Kirillov
5f20910c79
FIR IDE: always try to find symbol origin in overridden symbols
2020-08-17 11:37:52 +03:00
Ilya Kirillov
a700d1fccb
FIR IDE: resolve kt symbols only to the phase they actually need
2020-08-17 11:37:51 +03:00
Dmitriy Dolovov
75be9cf31f
[Commonizer] Tests on rewriting callables names to succeed commonization
...
^KT-34602
2020-08-17 09:31:28 +07:00
Dmitriy Dolovov
de0b6e06cf
[Commonizer] Keep parameters names hash in approximation keys for ObjC callables
...
^KT-34602
2020-08-17 09:31:21 +07:00
Dmitriy Dolovov
3b901a28d5
[Commonizer] More compact approximation keys
...
^KT-34602
2020-08-17 09:31:12 +07:00
Dmitriy Dolovov
4418dc85ca
[Commonizer] Allow rewriting callables names to succeed commonization
...
^KT-34602
2020-08-17 09:31:03 +07:00
Dmitriy Dolovov
8904f5652b
[Commonizer] Allow extended lookup for classifiers in test mode
...
Only for commonizer tests!
Allow to look up classifiers from the standard Kotlin packages (kotlin, kotlinx)
both in the default built-ins module and in test data sources. This is necessary
to write tests that refer to C-interop classifiers that are not available without
Kotlin/Native distribution.
^KT-34602
2020-08-17 09:30:57 +07:00
Dmitriy Dolovov
3b398ed57f
[Commonizer] Small clean-up in IllegalCommonizerStateException
2020-08-17 09:30:47 +07:00
Dmitriy Dolovov
494fb39399
[Commonizer] CLI: Report duration even if it's 0ms long
2020-08-17 09:30:42 +07:00
Dmitriy Dolovov
9ef727747b
[Commonizer] Use Array instead of List in AbstractListCommonizer
2020-08-17 09:30:36 +07:00
Igor Chevdar
e468a347b5
[box-tests] Tests on field init optimization
...
Added tests on all primitive types and a test when the field's type is an inline class
2020-08-15 12:16:33 +05:00
Steven Schäfer
0328fcaf5d
JVM IR: Avoid IMPLICIT_NOTNULL checks on special bridge methods
...
...with dynamic type checks, except for the `@PlatformDependent`
methods, for which the JVM backend adds null checks.
2020-08-14 21:59:33 +02:00
Steven Schäfer
9026f89ba5
JVM IR: Avoid CHECKCASTs on type operators (KT-39520)
...
The type information coming from Java or Kotlin generics may be wrong
due to type erasure and a CHECKCAST instruction could throw an
exception.
2020-08-14 21:58:47 +02:00
Alexander Udalov
469b164555
IR: minor optimizations to IR validation
2020-08-14 21:55:37 +02:00
Alexander Udalov
7468518f35
JVM IR: minor, optimize forceSingleValueParameterBoxing
...
In JVM IR, both `valueParameters` and `isFromJavaOrBuiltins` take
noticeable time (1% of all compilation) because the logic for these in
IrBasedDescriptors is not trivial.
2020-08-14 21:55:37 +02:00
Alexander Udalov
35cace2540
JVM IR: collect potentialBridgeTargets in a list, then create bridges for all of them
...
This takes BridgeLowering time percentage from 1.3% to 1.0% of all
compiler time on a sample project, perhaps due to better data locality.
In addition, it simplifies stack traces by effectively merging all
bridge generation call sites into one, helping in future performance
investigations.
2020-08-14 21:55:37 +02:00
Alexander Udalov
9607414cf1
IR: make allOverridden return Set instead of Sequence, move to IrUtils
...
This doesn't hurt performance, but improves stack traces, in particular
in JVM's BridgeLowering.
2020-08-14 21:55:37 +02:00
Alexander Udalov
adcfbdec24
JVM IR: optimize special method / signature computation in BridgeLowering
...
First of all, put method signature caches of BridgeLowering into
JvmBackendContext. Since method hierarchies can span several files, and
a new instance of BridgeLowering is created to lower each file, keeping
them cached for the whole module makes BridgeLowering faster.
Also, do not attempt to compute special bridges if the method is
irrelevant, which can be deduced by its name. With this optimization,
the special method cache is no longer needed.
This brings BridgeLowering time from 3.8% down to 1.5% of all compiler
time on a sample project.
2020-08-14 21:55:37 +02:00
Alexander Udalov
0727e9055b
JVM IR: use a simpler way to check if class is local
2020-08-14 21:55:37 +02:00
Alexander Udalov
6db5ad7310
IR: remove cast to IrStatement in IrDeclarationBase.transform
...
Default implementation of `IrStatement.transform` contained a cast to
`IrStatement`. Since almost all IR elements inherit from IrStatement,
this implementation was used in many subclasses. However, checkcast to
interface is slow and this place was indeed noticeable in the profiler
snapshot. Since not that many places really expected to get IrStatement
out of IrStatement.transform, introduce a new method
`transformStatement` that does this cast, and use it in all those
places. Meanwhile, most implementations will use the IrElement's
implementation of `transform` which merely invokes `accept` without
casts.
2020-08-14 21:55:37 +02:00
Alexander Udalov
fb8e39a621
IR: optimize transformation of declarations/statements lists in-place
...
Also, inherit IrDeclarationBase from IrElementBase to be able to use a
cast to IrElementBase, which is faster than a cast to IrElement or
IrDeclaration.
2020-08-14 21:55:36 +02:00
Alexander Udalov
4f0585950e
IR: inline some transformChildren calls in IrElementTransformer{,Void}
...
IrElementTransformer.visitDeclaration/visitExpression are very prominent
hotspots, and it seems that HotSpot doesn't optimize the inlined Kotlin
bytecode there well enough. Reduce the bytecode in these and similar
methods by inlining calls to also/apply/transformChildrenVoid.
2020-08-14 21:55:36 +02:00
Nikolay Krasko
3a883e1236
Replace bintray bootstrap with space bootstrap repo
2020-08-14 17:31:13 +03:00
Nikolay Krasko
f484ceec80
Use GPG agent for signing in PublishedKotlinModule (KTI-314)
2020-08-14 17:31:13 +03:00
Nikolay Krasko
bbf8b12c65
Sign with GnuPG agent (KTI-314)
2020-08-14 17:31:13 +03:00
Nikolay Krasko
635ffcd53b
Update maven signing for working with gpg 2 (KTI-314)
...
Update to maven-gpg-plugin 1.6 and add workaround for https://issues.apache.org/jira/browse/MGPG-59
2020-08-14 17:31:13 +03:00
Ilya Matveev
a121ec1e39
Update Kotlin/Native: 1.4.20-dev-16314
2020-08-14 09:41:47 +00:00
Roman Artemev
fa2c49a311
[Plugin API] Add extension point to contribute synthetic properties
...
- needs to fix KT_41006
2020-08-14 11:59:37 +03:00
Denis Zharkov
5ede37d6ab
Report warnings on safe call + nullable extension operator
...
^KT-41034 In Progress
2020-08-14 11:12:34 +03:00
Roman Golyshev
852d22470e
Revert "FIR Completion: Add idea-fir dependency to run completion tests"
...
This reverts commit 7d883f18
2020-08-13 23:12:34 +03:00
Toshiaki Kameyama
89cc5777ce
Put parameters on line: don't suggest if parameters has end-of-line comments
...
#KT-35214 Fixed
2020-08-13 19:53:46 +03:00
Toshiaki Kameyama
efa981db36
"Create class from usage": add visibility to primary constructor if needed
...
#KT-29844 Fixed
2020-08-13 19:51:01 +03:00
Toshiaki Kameyama
b1e8238ea2
"Convert reference to lambda" intention: handle extension function reference with extension function call
...
#KT-35558 Fixed
2020-08-13 19:48:07 +03:00
Toshiaki Kameyama
9ff7539ff0
"Merge 'if's" intention: do not remove nested comments
...
#KT-33258 Fixed
#KT-39552 Fixed
2020-08-13 19:43:39 +03:00
Toshiaki Kameyama
f6e70cfed8
Wrap with let: fix it works correctly for invoking function type
...
#KT-39182 Fixed
2020-08-13 19:30:34 +03:00
Ilya Goncharov
babdeacdaf
[Gradle, JS] Add resolution configuration method
...
^KT-41054 fixed
2020-08-13 18:04:44 +03:00
Ilya Goncharov
85f23d8c6e
[Gradle, JS] Fix test with new API
...
^KT-41054 fixed
2020-08-13 18:04:44 +03:00
Ilya Goncharov
5eda8e95bf
[Gradle, JS] Revert kotlinTargets
...
^KT-41054 fixed
2020-08-13 18:04:44 +03:00
Ilya Goncharov
855554ac38
[Gradle, JS] Move yarn resolutions from dependency constraints
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
fecda8548b
[Gradle, JS] Override maven and ivy publishing aware context
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
58284c8b08
[Gradle, JS] Add yarn resolution gradle integration test
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
9df604cb3d
[Gradle, JS] Migrate on set for npm ranges
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
1dd92f011c
[Gradle, JS] Compare range lists as sets
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
50ccb522b9
[Gradle, JS] Add intersect tests
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
bd01ac52af
[Gradle, JS] Add union test with fixed issue in union method
...
^KT-41054 fixed
2020-08-13 18:04:43 +03:00
Ilya Goncharov
7aaa1cf556
[Gradle, JS] Add invert test
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
9b8a64ef7b
[Gradle, JS] Add hasIntersection test
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
814c0b73e3
[Gradle, JS] Add doc into NpmRange
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
dc7d7135f8
[Gradle, JS] Add min start, max end, min end tests
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
c25bcb4028
[Gradle, JS] Add max start test
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
42090e4839
[Gradle, JS] Add failing test
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
d4524e4050
[Gradle, JS] Small refactoring
...
^KT-41054 fixed
2020-08-13 18:04:42 +03:00
Ilya Goncharov
b95eb66032
[Gradle, JS] RejectAll => reject wildcard
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
d4c0d62eeb
[Gradle, JS] Require version use caret
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
3ed42d394b
[Gradle, JS] Support hyphenated range
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
a4de85da13
[Gradle, JS] Right wildcard range
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
f848b7cbeb
[Gradle, JS] Right equals and hashCode for npm range
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
68880e6f47
[Gradle, JS] NpmRangeVisitor without nulls
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
7f3a2ac953
[Gradle, JS] Renames
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
fec8c6c0ae
[Gradle, JS] Min and max are not nullable
...
^KT-41054 fixed
2020-08-13 18:04:41 +03:00
Ilya Goncharov
966c9dae68
[Gradle, JS] Use not inverted visitor but straightforward visitor
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
9bb49ac370
[Gradle, JS] Union of Npm Ranges
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
14fac83e2b
[Gradle, JS] Intersect of NpmRange
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
90bee78dda
[Gradle, JS] None range instead of none version
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
f1b8c62231
[Gradle, JS] Use rejected versions
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
d232e2ceb3
[Gradle, JS] Add ANTLR visitor for inverting of npm versions
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
768b9a0340
[Gradle, JS] Use NpmVersionConstraint
...
^KT-41054 fixed
2020-08-13 18:04:40 +03:00
Ilya Goncharov
bb569f36b1
[Gradle, JS] Implement reason and other methods beside version
...
^KT-41054 fixed
2020-08-13 18:04:39 +03:00
Ilya Goncharov
30f78847b1
[Gradle, JS] Not publish npm dependency constraints in metadata
...
^KT-41054 fixed
2020-08-13 18:04:39 +03:00
Ilya Goncharov
0473648b0e
[Gradle, JS] Use gradle dependency constraints for yarn resolutions
...
^KT-41054 fixed
2020-08-13 18:04:39 +03:00
Roman Golyshev
7d883f1806
FIR Completion: Add idea-fir dependency to run completion tests
...
- Without this dependency, FIR plugin completion tests fail because the
fir completion contributor is not available
2020-08-13 17:29:45 +03:00
Ilmir Usmanov
31e4ddafd1
Minor. Add test with boolean parameter
2020-08-13 15:52:53 +02:00
Ilmir Usmanov
bcbb050326
Use fields for spilled variables for lambda parameters as well
...
In other words, do not generate p$ fields if we can use L$ fields,
which are being cleaned up.
#KT-16222 Fixed
2020-08-13 15:52:51 +02:00
Ilya Goncharov
f5ab3a445f
[Gradle, JS] Fix abstract task on default
...
^KT-40865 fixed
2020-08-13 15:39:02 +03:00
Yunir Salimzyanov
9ecf416a8a
Parse multiple buildTypeIds for one bunch and synchronize muted tests
...
Cause: split Ide plugin tests in 4 parts
2020-08-13 12:57:09 +03:00
Mikhail Zarechenskiy
aafe41cf7a
Do not force coercion to Unit for nullable lambda return type
...
#KT-41005 Fixed
2020-08-13 10:40:51 +03:00
Vyacheslav Gerasimov
d9bac4d5e4
Build: Warn about empty directories in sources
2020-08-12 21:40:04 +03:00
Vyacheslav Gerasimov
27578e6056
Build: Upgrade gradle to 6.6
2020-08-12 20:24:12 +03:00
Roman Golyshev
166b6db764
Make keyword lookup objects correctly comparable
...
- This is done to fix the problem with duplicated keyword items in
CodeWithMe plugin (see https://youtrack.jetbrains.com/issue/CWM-438 )
2020-08-12 14:41:59 +00:00
Georgy Bronnikov
18ae665d41
IR: make IrCall take IrSimpleFunctionSymbol
2020-08-12 16:31:31 +03:00
Toshiaki Kameyama
4901cdb11f
ConvertCallChainIntoSequence: support functions added in Kotlin 1.4
...
#KT-40448 Fixed
2020-08-12 16:28:29 +03:00
Toshiaki Kameyama
5e91ffb156
Move to class body: don't suggest on data class
...
#KT-40558 Fixed
2020-08-12 16:10:33 +03:00
Nick
28700ed64c
[FIR] Supertype and inheritance checkers group
2020-08-12 15:38:29 +03:00
Oleg Ivanov
252eb1ad23
[FIR] Fix typo in FirDataFlowAnalyzer
2020-08-12 15:00:54 +03:00
Anton Yalyshev
e3bbc54e85
Add change-notes for 1.4
2020-08-12 14:36:47 +03:00
Oleg Ivanov
21b8679799
[FIR] Add ReturnsImplies effect analyzer
2020-08-12 11:06:07 +03:00
Oleg Ivanov
3454ae7ca4
[FIR] Add VariableStorage and flow on nodes into CFG reference
2020-08-12 11:06:07 +03:00
Oleg Ivanov
15598b62c9
[FIR] Add replaceControlFlowGraphReference function for FirFunction
2020-08-12 11:06:07 +03:00
Oleg Ivanov
7da94cc299
[FIR] Fix wrong ConstantReference for returnsNotNull in EffectExtractor
2020-08-12 11:06:07 +03:00
Anton Yalyshev
f6f3787b51
Disable FUS for Code Completion in 1.4.20
2020-08-12 10:22:29 +03:00
Andrey Uskov
20371b874a
Configuration caching - register listener only once per project
...
To many listeners cause performance issues in Gradle.
2020-08-12 00:40:18 +03:00
Georgy Bronnikov
d2fda2a07c
Fir2Ir: bug fix
2020-08-12 00:31:33 +03:00
Ilmir Usmanov
8a098545e6
Minor. Add test
2020-08-11 22:10:51 +02:00
Ilmir Usmanov
00bf07fc41
Force boxing kotlin.Result return type of suspend functions
...
#KT-40843 Fixed
2020-08-11 22:10:47 +02:00
Ilmir Usmanov
b06218c456
Minor. Update test data
2020-08-11 20:27:00 +02:00
Georgy Bronnikov
f21d8a4c5b
JVM_IR, minor: use vals instead of objects
2020-08-11 18:44:47 +03:00
Vladimir Dolzhenko
6e016ce041
ktFile has to return script declaration from stub as well
2020-08-11 14:31:18 +00:00
Oleg Ivanov
4367d6631f
[FIR] Add CallsInPlace contract analyzer
2020-08-11 16:17:01 +03:00
Oleg Ivanov
cc9c5b9e3c
[FIR] Add CFG nodes, add multiple subGraphs for CFGOwner
2020-08-11 16:17:01 +03:00
Oleg Ivanov
128075e780
[FIR] Add fir source saving in resolved contract description
2020-08-11 16:17:01 +03:00
Oleg Ivanov
f467dccc68
[FIR] Rename confusing variable in CFGTraverser
2020-08-11 16:17:00 +03:00
Alexander Udalov
bcf1ee3907
Minor, fix test data for kotlinx.serialization bytecode text test
2020-08-11 15:14:06 +02:00
Steven Schäfer
53fe30eb45
JVM IR: Don't produce CHECKCASTs on null constants (KT-36650)
2020-08-11 15:13:40 +02:00
Alexander Udalov
7503f134c2
IR: use IdSignature to compare classes in FqNameEqualityChecker
...
This is both simpler and a lot more performant.
2020-08-11 14:41:57 +02:00
Alexander Udalov
36a1a65d98
IR: make IrBranch/IrCatch/IrSpreadElement/IrModuleFragment/IrPackageFragment classes
2020-08-11 14:41:57 +02:00
Alexander Udalov
08a35f0674
IR: make IrBody and subtypes classes
2020-08-11 14:41:57 +02:00
Alexander Udalov
4351f5235b
IR: make IrExpression and subtypes classes
2020-08-11 14:41:56 +02:00
Alexander Udalov
ba7ff36274
IR: make IrDeclarationReference and subtypes classes
2020-08-11 14:41:56 +02:00
Alexander Udalov
ee904a975a
IR: make IrMemberAccessExpression and subtypes classes
...
Merge IrMemberAccessExpressionBase into IrMemberAccessExpression, and
IrCallWithIndexedArgumentsBase into IrFunctionAccessExpression (extract
the latter into a separate file).
2020-08-11 14:41:56 +02:00
Alexander Udalov
fde7314aaf
IR: do not inherit IrExpressionWithCopy from IrExpression
2020-08-11 14:41:55 +02:00
Alexander Udalov
9aa7da44e2
IR: remove IrTerminalExpressionBase, Ir{Terminal,}DeclarationReferenceBase
...
Implement no-op acceptChildren/transformChildren in the base class
IrExpressionBase instead. This doesn't change behavior because all other
implementations of acceptChildren/transformChildren are not affected.
2020-08-11 14:41:55 +02:00
Alexander Udalov
868018f51f
IR: do not inherit IrFunctionReferenceImpl from IrCallWithIndexedArgumentsBase
2020-08-11 14:41:55 +02:00
Alexander Udalov
e3dfd5fb49
IR: push down implementations of startOffset/endOffset/type/...
...
Do not store these as properties in IrElementBase, IrExpressionBase and
similar classes. This helps to reduce boilerplate in implementations
(just "override val" in the constructor, instead of taking a parameter
and passing it to the superclass), and also slightly optimizes memory in
cases where the value is trivial (UNDEFINED_OFFSET, 0, etc) and thus
does not need to be stored.
2020-08-11 14:41:54 +02:00
Roman Golyshev
03f804b1c5
FIR Completion: Move completion files to idea-fir module
2020-08-11 15:38:07 +03:00
Ilmir Usmanov
d861373c6d
Hack attributes for continuation of suspend function in SAM-adapter
2020-08-11 11:58:20 +02:00
Mikhail Zarechenskiy
2e131b870a
Add tests for obsolete issues
...
#KT-38804 Obsolete
#KT-38801 Obsolete
#KT-38835 Obsolete
#KT-38737 Obsolete
#KT-38664 Obsolete
#KT-38549 Obsolete
#KT-38766 Obsolete
#KT-38714 Obsolete
2020-08-11 12:34:02 +03:00
Georgy Bronnikov
7f4df19dd1
JVM_IR: reorganize throw... functions in Symbols
2020-08-11 10:54:29 +03:00
Denis Zharkov
6a16d6a246
FIR: Simplify delegating constructors call resolution
2020-08-11 10:14:02 +03:00
Denis Zharkov
8b71f5e558
FIR: Do not leave cyclic upper bounds of type parameters
2020-08-11 10:14:02 +03:00
Denis Zharkov
a5a93d00a7
FIR: Rework delegation constructor calls resolution
...
Make it work independently of being called for inner class (as in FE 1.0)
2020-08-11 10:14:02 +03:00
Denis Zharkov
db93b9052b
FIR: Fix incorrect optimization for integer literals
2020-08-11 10:14:02 +03:00
Vyacheslav Gerasimov
ad8709b2dc
Build: Remove exclusion of kotlinx-coroutines-core in scripting-common
...
It breaks available-at feature used in MPP
2020-08-11 00:39:04 +03:00
Vladimir Dolzhenko
8540f47c15
Fixed FindUsages case on look up implementation getter/setters via property names
...
#KT-40788 Fixed
#KT-24616 Fixed
back-port from kotlin-ide commit aa5580bb5a7e96b209cdaa1c82f4e485ee001ae8
2020-08-10 22:04:06 +02:00
Mikhail Zarechenskiy
e49cdf0ca2
Prohibit using suspend functions as SAM in fun interfaces
...
#KT-40978 Fixed
2020-08-10 22:04:16 +03:00
Mikhael Bogdanov
607f99ed3c
Don't generate implicit overrides delegating to Java defaults
...
#KT-40920 Fixed
2020-08-10 20:03:23 +02:00
Sergey Igushkin
07aee8831e
Fix stdlib-by-default with non-compiled source sets (KT-40559)
...
When a `variantFilter { ... }` is used in Android projects, AGP does not
creates some variants but still creates the source sets which would be
related to those variants.
For source sets that are not included into any compilation, the stdlib
module added by default was kotlin-stdlib-common, and it was added to
the `api` scope.
But AGP checks the `androidTest*Api` configurations and
if it detects any dependencies in them, it reports deprecation warnings.
However, we have plans to prohibit unused source sets at all as they
have no reasonable use cases. So the fix is not to add the stdlib by
default to source sets that participate in no compilations.
Issue #KT-40559 Fixed
2020-08-10 20:08:22 +04:00
Roman Golyshev
6e2887e083
FIR Completion: Add insertion handling for functions with lambdas
...
- The support is not complete
2020-08-10 18:25:34 +03:00
Roman Golyshev
b3a674abee
FIR IDE: Add parameter's and type's properties required for completion
2020-08-10 18:25:34 +03:00
Roman Golyshev
67ed33367f
FIR Completion: Add function insert handler
...
- It is a specialized copy from `KotlinFunctionInsertHandler.Normal`
2020-08-10 18:25:34 +03:00
Roman Golyshev
b547feb00d
FIR Completion: Render vararg modifier in lookups
2020-08-10 18:25:33 +03:00
Roman Golyshev
582b00f5b2
FIR Completion: Add UniqueLookupElement to the lookup elements
...
- It is done to differentiate overloads of the same function
2020-08-10 18:25:33 +03:00
Roman Golyshev
b6ee478190
FIR Completion: Add psi element to the lookups
...
- May be a performance problem later
2020-08-10 18:25:33 +03:00
Roman Golyshev
53180e707e
FIR Completion: Fix invalid isAbstract condition
2020-08-10 18:25:33 +03:00
Roman Golyshev
ef461260b0
FIR Completion: Add simple insertion handler to lookup elements
...
- The `QuotedNamesAwareInsertionHandler` is just a copy of
`BaseDeclarationInsertHandler`
2020-08-10 18:25:33 +03:00
Roman Golyshev
10598ee98e
FIR Completion: Add simple lookup decorating with icon and parameters
2020-08-10 18:25:32 +03:00
Roman Golyshev
64187b40c9
FIR Completion: Prevent immediate completion in number literals
...
- This is copied from the original KotlinCompletionContributor
2020-08-10 18:25:32 +03:00
Alexey Trilis
d86c14243e
Add @SinceKotlin to kotlinx.browser and kotlinx.dom packages
...
Add @DeprecatedSinceKotlin to kotlin.browser and kotlin.dom packages
2020-08-10 18:08:19 +03:00
Dmitriy Novozhilov
0e53d11dd4
Disable AllowResultInReturnType feature
...
#KT-40843
2020-08-10 17:57:53 +03:00
Valeriy.Vyrva
30ff886754
Improve docs for createTempDir/createTempFile
...
#KT-35218
2020-08-10 17:29:25 +03:00
Vladimir Ilmov
4fe6880489
Cyrillic 'c' fix in inspectionLikeProcessings.kt
2020-08-10 14:42:46 +02:00
Nick
0a2f113a24
[FIR] Fix slow string conversions in FirEffectiveVisibilityResolver
2020-08-10 13:46:15 +03:00
Alexander Dudinsky
e67518c349
Update gradle plugin version in GradleFacetImportTest
...
Also drop legacy tests for 1_1_2
2020-08-10 13:14:01 +03:00
Pavel Kirpichenkov
f431da2a66
Reapply "Introduce @FrontendInternals annotation""
...
This reverts commit 9ca4717d11 .
^KT-39643 Fixed
2020-08-10 12:22:55 +03:00
Yan Zhulanow
5e8e60a399
Move back the 'KotlinStructureViewElement.isPublic' property used externally
...
Reasoning: Method com.gmail.blueboxware.extsee.kotlin.ExtSeeKotlinStructureViewModel.Companion.PublicElementsFilter.isVisible(com.intellij.ide.util.treeView.smartTree.TreeElement treeNode) : boolean contains an *invokevirtual* instruction referencing an unresolved method org.jetbrains.kotlin.idea.structureView.KotlinStructureViewElement.isPublic()
2020-08-10 18:18:37 +09:00
Alexander Dudinsky
aec87744f2
Run ImportAndCheckNavigation tests only vs the master version of plugin
...
Also error "Could not find org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable"
was fixed by adding ":native:kotlin-klib-commonizer-embeddable:install"
in dependencies for the kotlin-plugin install
2020-08-10 12:13:21 +03:00
Alexander Dudinsky
2042db598a
Mute GradleNativeLibrariesInIDENamingTest.testLibrariesNaming in 192, 193
...
After updating version of gradle-plugin this tests started to fail on
the old version of IDE. After discussion we decided just mute it in
the old bunches
2020-08-10 12:04:51 +03:00
Sergey Igushkin
988480d649
Fix source JARs missing in Kotlin/Native targets with HMPP (KT-39051)
...
With HMPP, a separate implementation of `kotlinComponents` is used which
accidentally ignored the parent's logic for source artifacts.
As a simple fix, copy the parent's logic for source artifacts.
Issue #KT-39051 Fixed
2020-08-10 13:02:17 +04:00
Nataliya Valtman
a766369e72
KT-33908 Make Kotlin Gradle plugin compatible with configuration cache
...
#KT-33908 Fixed
2020-08-10 11:17:30 +03:00
Georgy Bronnikov
ea57b4cccb
IR: add and unmute tests
2020-08-10 10:16:24 +03:00
Georgy Bronnikov
85ba170217
JVM_IR: use IrBasedDescriptors across codegen
2020-08-10 10:16:23 +03:00
Georgy Bronnikov
0b4c43083d
IR: add IrBasedDescriptors
2020-08-10 10:16:23 +03:00
Georgy Bronnikov
dafcdc527d
IR: propagate original declaration info via attributeOwnerId
...
For IrProperty, IrSimpleFunction we need to pass information about
original declaration to JVM_IR codegen. Instead of descriptors, use
the attributeOwnerId field.
2020-08-10 10:16:23 +03:00
Georgy Bronnikov
04d93dfbce
IR: move containerSource from descriptor to IrFunction, IrProperty
2020-08-10 10:16:23 +03:00
Nick
4669e019d1
[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION
2020-08-10 10:09:37 +03:00
kvirolainen
36984009e9
Add samples for flatten, unzip functions
2020-08-10 03:40:13 +03:00
Elijah Verdoorn
41d5615608
Add samples for mapNotNull, find, getOrNull functions
2020-08-10 03:39:49 +03:00
Ilya Kirillov
62df2b3195
FIR IDE: run SUPER_TYPES & BODY_RESOLVE phases under global lock
2020-08-09 12:05:20 +03:00
Ilya Kirillov
7fb408ecd7
FIR IDE: enable new project wizard to FIR IDE
2020-08-09 12:05:13 +03:00
Ilya Kirillov
db7119f04d
FIR IDE: fix ability to create new Kotlin files
2020-08-09 12:05:11 +03:00
Ilya Kirillov
054d196ec5
FIR IDE: temporary ignore failing tests
2020-08-09 12:05:02 +03:00
Ilya Kirillov
683ec2beff
FIR IDE: make KtScopeProvider thread local
2020-08-09 12:04:53 +03:00
Ilya Kirillov
f62204fff1
FIR: move getCallableNames/getClassifierNames from scope to FirContainingNamesAwareScope
2020-08-09 12:04:52 +03:00
Ilya Kirillov
36a161080f
FIR IDE: introduce KtType rendering
2020-08-09 12:04:44 +03:00
Ilya Kirillov
9f33d0147c
FIR IDE: add info about nullability to KtType
2020-08-09 12:04:43 +03:00
Ilya Kirillov
16d22ae7e3
FIR IDE: correctly build FIR for qualified expressions
2020-08-09 12:04:43 +03:00
Ilya Kirillov
66f6fe18d6
FIR IDE: replace javax threadsafe annotations with custom ones
...
javax.annotation.concurrent may not be present for some JDKs
2020-08-09 12:04:35 +03:00
Ilya Kirillov
4595ee2cc0
FIR IDE: create read only copy of symbol builder only for completion
2020-08-09 12:04:34 +03:00
Ilya Kirillov
ccf232eaab
FIR IDE: forbid analysis session to be stored in a variable
2020-08-09 12:04:34 +03:00
Ilya Kirillov
b41a5f9f34
FIR: make TypeRegistry thread safe
2020-08-09 12:04:26 +03:00
Ilya Kirillov
5f424ed1ec
FIR IDE: rewrite low level API
...
- Cache ModuleResolveState for module till the world changes
- Resolve every file under a lock
- All creation of raw fir files and resolve of them happens in FirFileBuilder
- Lazy resolve of fir elements happens in FirElementBuilder
Caching works like the following:
- FirModuleResolveState holds PsiToFirCache & DiagnosticsCollector & FileCacheForModuleProvider
- FileCacheForModuleProvider holds a mapping from ModuleInfo to ModuleFileCache
- ModuleFileCache caches
- KtFile -> FirFile mapping
- ClassId -> FirClassLikeDeclaration, CallableId -> FirCallableSymbol
which used in corresponding FirProvider
- mapping from declaration to it's file
which used in corresponding FirProvider
- locks for fir file resolving
- PsiToFirCache provides mapping from KtElement to FirElement
- DiagnosticsCollector collects diagnostics for file and caches them
2020-08-09 12:04:11 +03:00
Ilya Kirillov
1957be8757
FIR IDE: fix testdata of tests which now pass
2020-08-09 12:04:03 +03:00
Ilya Kirillov
34aa848b15
FIR: do not allow getting PSI text in RawFirBuilder in stub mode
2020-08-09 12:04:03 +03:00
Ilya Kirillov
cfc46b0cc8
FIR IDE: introduce FirIdeAllSourceDependenciesSymbolProvider
...
Co-authored-by: Simon Ogorodnik <simon.ogorodnik@jetbrains.com >
2020-08-09 12:03:56 +03:00
Ilya Kirillov
7d8ef5c7a2
FIR IDE: introduce KtFirConstructorDelegationReference
2020-08-09 12:03:54 +03:00
Ilya Kirillov
0870ded054
FIR IDE: introduce KtFirArrayAccessReference
2020-08-09 12:03:47 +03:00
Ilya Kirillov
22054c8507
FIR IDE: use non-fake override fir elements when finding psi for fir
2020-08-09 12:03:40 +03:00
Ilya Kirillov
d10e3f91fa
FIR IDE: store FirScope strong references only in KtFirAnalysisSession
2020-08-09 12:03:33 +03:00
Ilya Kirillov
7033be588c
FIR IDE: regenerate member scope test
2020-08-09 12:03:27 +03:00
Ilya Kirillov
ea3b2d8310
KT IDE: fix fully-qualified type resolving
2020-08-09 12:03:26 +03:00
Ilya Kirillov
50951fdfc3
KT IDE: use proper package symbol PSI to fix invalidated access exception
2020-08-09 12:03:14 +03:00
Ilya Kirillov
9f9ce6ba61
Fix compilation of KtFirDelegatingScope
2020-08-09 12:03:07 +03:00
Ilya Kirillov
1c195ea2bb
FIR IDE: add kdoc for KtAnalysisSession
2020-08-09 12:03:07 +03:00
Ilya Kirillov
b8caefa0c4
FIR IDE: always recreate analysis session in tests to avoid breaking its contract
2020-08-09 12:03:06 +03:00
Ilya Kirillov
19efd19c6c
FIR IDE: fix AbstractSymbolByFqNameTest after rebase
2020-08-09 12:03:01 +03:00
Ilya Kirillov
94b62e2ac6
FIR IDE: make context-dependent analysis session to use original cache on read-only mode
2020-08-09 12:03:00 +03:00
Ilya Kirillov
c0f5c90231
FIR IDE: separate ValidityOwner to ValidityTokenOwner & ValidityToken
2020-08-09 12:02:49 +03:00
Ilya Kirillov
6a6580dd97
FIR IDE: introduce KtConstructorSymbol.ownerClassId
...
Will be needed for completion
2020-08-09 12:02:48 +03:00
Ilya Kirillov
4653cdf794
FIR IDE: make KtFirDelegatingScope caching a thread safe
2020-08-09 12:02:42 +03:00
Roman Golyshev
ebf20c9706
Add multi-file tests for primitive completion
...
- This is required to test/debug correct completion from imports
2020-08-09 12:02:40 +03:00
Roman Golyshev
1b3a1a662f
Add simple completion of class-like symbols
2020-08-09 12:02:34 +03:00
Roman Golyshev
20c627ea47
Implement collecting class-like names in KtFirStarImportingScope
2020-08-09 12:02:28 +03:00
Roman Golyshev
29ee233bb9
Remove repeating scopes collected by buildCompletionContextForFunction
...
- This is certainly a bug, we would have to fix it later
2020-08-09 12:02:27 +03:00
Roman Golyshev
e3778d62e3
Simplify canBeCalledWith function
2020-08-09 12:02:21 +03:00
Roman Golyshev
b90503decb
Move PackageIndexHelper to KtFirStarImportingScope.kt
2020-08-09 12:02:16 +03:00
Roman Golyshev
d2fbd8e338
Remove KotlinFirCompletionProvider
...
- We should strive to use only high-level API for completion from now on
2020-08-09 12:02:16 +03:00
Ilya Kirillov
dee58e1d86
FIR IDE: handle importing scopes in completion in HL API
...
Co-authored-by: Roman Golyshev <roman.golyshev@jetbrains.com >
2020-08-09 12:02:11 +03:00
Ilya Kirillov
7aa26944d7
FIR IDE: rename utils.kt to psiUtils.kt
...
Co-authored-by: Roman Golyshev <roman.golyshev@jetbrains.com >
2020-08-09 12:02:00 +03:00
Ilya Kirillov
902b42ae1d
FIR IDE: fix typo in completion testdata
...
Co-authored-by: Roman Golyshev <roman.golyshev@jetbrains.com >
2020-08-09 12:01:59 +03:00
Roman Golyshev
c3a3ab9e89
Implement the completion using high-level API only
...
- The indecies are not yet used
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:59 +03:00
Roman Golyshev
a6dd84a7e4
FIR IDE: Modify KtFirAnalysisSession for completion
...
- This is WIP solution for having a specialized `KtFirAnalysisSession`
for the completion
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:54 +03:00
Roman Golyshev
54946a793a
Fix FirCompletionContext for safe access elements
...
- `towerDataContextForStatement` may contain safe access (?.) fir
elements as keys; however, `state.getCachedMapping(current)` would
never return those since they are considered as sugar fir elements
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:49 +03:00
Roman Golyshev
a2cf01162e
Fix bug with member extensions with explicit receiver
...
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:48 +03:00
Roman Golyshev
df03e31b86
FIR IDE: Add KtCallableSymbol abstraction
...
- It should incapsulate callable symbols like functions, properties
and constructors
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:44 +03:00
Roman Golyshev
a4a2d92c08
FIR IDE: Make KtFirReference implement KtSymbolBasedReference
...
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2020-08-09 12:01:35 +03:00
Roman Golyshev
2eb439899e
Use index to get symbols from importing scopes
2020-08-09 12:01:25 +03:00
Dmitriy Novozhilov
cefecdef25
fixup! Iterate on symbols, not on scopes
2020-08-09 12:01:23 +03:00
Roman Golyshev
e7f5594ffe
Use more correct check for the constructor symbol
...
- add test for extension function receiver
2020-08-09 12:01:23 +03:00
Roman Golyshev
a3da1ea1a0
Iterate on symbols, not on scopes
...
- This way it is easier to get the correct results
2020-08-09 12:01:15 +03:00
Roman Golyshev
708c54f4d2
Refactor the collecting of callable symbols from scopes
2020-08-09 12:01:07 +03:00
Roman Golyshev
81f60bf252
Add test for smartcast
2020-08-09 12:01:07 +03:00
Roman Golyshev
ffb907150a
Use information about receivers in completion
...
- Found few problems during resolving a single functon; disabled
assertions and marked them with TODO
- Add simple completion tests to simplify development
2020-08-09 12:01:00 +03:00
Roman Golyshev
0f5fc1fa99
Add FirSymbolProvider::getAllCallableNamesInPackage function
...
- Also, fix implementation of `getCallableNames` in few cases
2020-08-09 12:00:59 +03:00
Denis Zharkov
97d4918ed3
Expose local scopes to use in completion
2020-08-09 12:00:52 +03:00
Roman Golyshev
6129f4bcef
Partial raw FIR building
2020-08-09 12:00:45 +03:00
Roman Golyshev
a1b621d987
Completion with FIR (prototype, work-in-progress)
2020-08-09 12:00:44 +03:00
Ilya Kirillov
2a495c1135
FIR IDE: introduce composite scopes
2020-08-09 12:00:38 +03:00
Ilya Kirillov
9092b33755
FIR IDE: Introduce module resolve state for completion
2020-08-09 12:00:31 +03:00
Ilya Kirillov
1d92fbaa7f
FIR IDE: correctly set symbol origin for fake overridden ones
2020-08-09 12:00:24 +03:00
Ilya Kirillov
88548d988a
FIR IDE: implement getCallableNames/getClassifierNames in more scopes
2020-08-09 12:00:18 +03:00
Ilya Kirillov
138f11ee27
FIR IDE: introduce member scope tests
2020-08-09 12:00:11 +03:00
Ilya Kirillov
f709e6acf3
FIR IDE: introduce scopes for HL API
2020-08-09 12:00:05 +03:00
Dmitriy Novozhilov
6596dc359b
fixup! Completion with FIR (prototype, work-in-progress)
2020-08-09 12:00:04 +03:00
Ilya Kirillov
d62500531b
FIR: add getClassifierNames for FirScope
2020-08-09 11:59:57 +03:00
Roman Golyshev
656086f90a
Add FirScope::getCallableNames function
2020-08-09 11:59:50 +03:00
Ilya Kirillov
1f3add49f4
FIR IDE: move trailing comma related registry keys to ide-frontend-independent.xml
2020-08-09 11:59:49 +03:00
Ilya Kirillov
055b975699
FIR IDE: add tests which failing with exceptions inside FIR
2020-08-09 11:59:49 +03:00
Ilya Kirillov
9cf4fdfb71
FIR IDE: add reference info on reference resolve
2020-08-09 11:59:44 +03:00
Ilya Kirillov
5c6d636d02
Minor: reformat fir ide part of GenerateTests.kt
2020-08-09 11:59:38 +03:00
Ilya Kirillov
45e01a8b3d
FIR IDE: precalculate DuplicatedFirSourceElementsException error message
...
It may be called from non-read action
2020-08-09 11:59:33 +03:00
Ilya Kirillov
964becf138
FIR IDE: allow the same entity to be accessed from different threads
2020-08-09 11:59:23 +03:00
Ilya Kirillov
4c08dfb238
Add invoke reference resolve test without errors in test data
2020-08-09 11:59:17 +03:00
Ilya Kirillov
15ecfd84b4
FIR IDE: cache KtAnalysisSession for modules
2020-08-09 11:59:15 +03:00
Ilya Kirillov
8c0197e081
FIR IDE: introduce KtAnalysisSessionProvider & helping functions for working with analysis session
2020-08-09 11:59:10 +03:00
Ilya Kirillov
acb8546583
FIR IDE: fix ReadOnlyWeakRef error message
2020-08-09 11:59:05 +03:00
Ilya Kirillov
b09358fe17
FIR IDE: rename KtFieldSymbol -> KtFirJavaFieldSymbol
2020-08-09 11:59:04 +03:00
Ilya Kirillov
f98ff2c25e
FIR IDE: always pass resolve state as parameter when getting fir by psi
2020-08-09 11:59:04 +03:00
Mikhail Zarechenskiy
0c13a7f89a
Fix accessibility check for experimental declarations from default scope
...
#KT-40919 Fixed
2020-08-07 17:49:15 +03:00
Ilmir Usmanov
b403b63f48
Ease field initialization check
...
Since there is already VAL_REASSIGNMENT diagnostics, we can safely only
for direct assignments.
#KT-40893 Fixed
2020-08-07 14:22:18 +02:00
Nick
6c0abe7e48
[FIR] Fix CliTestGenerated$Jvm.testFirError
2020-08-07 13:27:29 +03:00
Pavel Kirpichenkov
9ca4717d11
Revert "Introduce @FrontendInternals annotation"
...
Revert due to Mobile IDE Trunk IJ TC configuration
This reverts commits:
ffc3d8bdfc
c0e713980b
^KT-39643 In Progress
2020-08-07 12:10:03 +03:00
Mads Ager
7f2efabe6a
[JVM_IR]: Improve stepping for when.
...
Additionally, use the line number of the class for default interface
dispatch methods.
2020-08-07 09:16:01 +02:00
Dat Trieu
1009a240f2
KT-20357: Add samples for filter functions
2020-08-06 23:41:12 +03:00
Steven Schäfer
ca6e430e89
JVM IR: Handle nested classes in DelegatedPropertyOptimizer
2020-08-06 21:01:59 +02:00
Steven Schäfer
da9bff40f0
JVM IR: Don't remove stores to visible locals in DelegatedPropertyOptimizer
2020-08-06 21:01:59 +02:00
Ilya Kirillov
983c84d6a6
Wizard: fix default template compilation when using JS IR
...
#KT-39904 fixed
2020-08-06 21:46:50 +03:00
Alexander Udalov
e4cd7cdbcf
IR: remove unused code, cleanup
2020-08-06 17:08:04 +02:00
Alexander Udalov
b30b2e0179
IR: minor, render duplicate IR node in checker
2020-08-06 17:08:04 +02:00
Alexander Udalov
8db1c3611b
IR: introduce abstract class IrDeclarationBase
...
The main purpose of this class is to improve performance of IR visitors
and transformers. `IrElementVisitor.visitDeclaration` now takes
IrDeclarationBase as a parameter, and therefore the call to `accept`
there is now a virtual class call, instead of an interface call.
2020-08-06 17:08:04 +02:00
Alexander Udalov
771e7574f4
IR: make subtypes of IrDeclaration classes
2020-08-06 17:08:03 +02:00
Alexander Udalov
3cecf81176
IR: transform base classes of lazy IR to interfaces
2020-08-06 17:08:02 +02:00
Alexander Udalov
b02653a524
IR: remove base classes IrDeclarationBase and IrFunctionBase
...
They introduce a diamond class hierarchy which prevents IR element
hierarchy from being transformed to classes.
2020-08-06 16:46:26 +02:00
Alexander Udalov
9152df4702
PIR: transform base implementation classes to interfaces
...
Unfortunately this requires a lot of boilerplate, but is a requirement
for transforming the main IR element hierarchy interfaces
(IrDeclaration, IrClass, ...) to classes.
2020-08-06 16:46:26 +02:00
Ilya Goncharov
13766d5075
[Gradle, JS] Update test data
...
^KT-40884 fixed
2020-08-06 15:33:21 +03:00
Ilya Goncharov
52110a08d9
[Gradle, JS] Update versions
...
^KT-40884 fixed
2020-08-06 15:33:06 +03:00
Sergey Igushkin
f6356199d3
Fix typealias usage nullability and annotations lost in deserialization
...
Issue #KT-40824 Fixed
2020-08-06 15:46:54 +04:00
Alexander Dudinsky
4063aba677
Remade launch of NativeRunConfigurationTest against master version of gradle plugin
2020-08-06 14:06:05 +03:00
Konstantin Tskhovrebov
69ce6bd952
Add tests for setup native run gutters.
2020-08-06 14:06:04 +03:00
Sergey Igushkin
b5d4e4c44c
Enable compatibility metadata variant by default in HMPP
...
This by default ensures that libraries published with HMPP are
compatible with non-HMPP consumers (which is the default in 1.4.0).
2020-08-06 14:08:51 +04:00
Mikhail Zarechenskiy
2eb17df962
Do not compute SamType too eagerly as it can force member resolution
...
Internally, during creation of `SamType` the compiler checks if a
parameter is really can be used as a SAM, so this check involves
lookup for abstract members, which can force additional computation of
member scopes. This is totally fine for BE but it can be dangerous
for light classes computation when not all scopes are processed.
Note that this issue appeared quite recently after 16f175612e
#KT-40869 Fixed
2020-08-06 09:20:56 +03:00
Vladimir Dolzhenko
6ec0e9546b
Fix 192 compilation for UI for standalone gradle scripts
...
Relates to #KT-39790
2020-08-05 23:39:34 +02:00
Konstantin Tskhovrebov
66c1bd8c89
Revert "Update KMM plugin user texts."
...
This reverts commit 5edbc75d
2020-08-05 21:54:01 +03:00
Pavel Kirpichenkov
c0e713980b
Add helpers for getting commonly used services without an opt-in
...
These services are LanguageVersionSettings, DataFlowValueFactory
#KT-39643 Fixed
2020-08-05 21:44:47 +03:00
Pavel Kirpichenkov
ffc3d8bdfc
Introduce @FrontendInternals annotation
...
#KT-39643
2020-08-05 21:44:47 +03:00
Sergey Igushkin
eff5839369
"Kotlin Multiplatform Projects are an ~experimental~ Alpha feature."
2020-08-05 22:01:12 +04:00
Ilmir Usmanov
6c475e614a
Minor. Update debugger tests
2020-08-05 19:47:55 +02:00
Ilmir Usmanov
68342a1f72
Initialize fake inliner variables on resume path
...
Otherwise, this will cause R8 to complain.
2020-08-05 19:47:55 +02:00
Ilmir Usmanov
bb5a99ec18
Do not put $completion to LVT if is dead
2020-08-05 19:47:54 +02:00
Florian Kistner
9925866293
203: Fix compilation
2020-08-05 19:36:43 +02:00
Florian Kistner
c792092410
Bump fastutil version to match 203
2020-08-05 19:36:42 +02:00
Nikita Bobko
c5398e8317
Move 'radixPrefix' from compiler modules to IDE modules
...
`radixPrefix` is used only in IDE now. So let's put it into IDE modules.
This commit is done in order to be able to use code dependent on
`radixPrefix` in `kotlin-ide` repo, because `kotlin-ide` depends on
1.4.0 artifacts of compiler. And `radixPrefix` isn't presented in
those artifacts
2020-08-05 20:17:17 +03:00
Sergey Igushkin
093d4b3108
Revert "Fix typealias usage nullability and annotations lost in deserialization"
...
This reverts commit 070848a1
2020-08-05 20:17:49 +04:00
Konstantin Tskhovrebov
5edbc75d7b
Update KMM plugin user texts.
...
#Fixed KMM-324
2020-08-05 18:37:27 +03:00
Jinseong Jeon
b57794d96e
IR util: IrExpression.isSafeToUseWithoutCopying
2020-08-05 17:07:27 +03:00
Jinseong Jeon
7ef1c74bbf
FIR2IR: apply adapted reference conversion to coercion-to-unit
2020-08-05 17:07:27 +03:00
Mikhail Glukhikh
5f80bfd5d4
[FIR] Don't report UNINITIALIZED_VARIABLE on lateinit local variable
2020-08-05 16:47:51 +03:00
Natalia Selezneva
54d96a2dd7
UI for standalone gradle scripts
...
^KT-39790 Fixed
2020-08-05 15:22:22 +02:00
Mikhail Glukhikh
fc874e72b1
[FIR2IR] Initialize components a bit earlier to prevent lateinit errors
2020-08-05 12:11:34 +03:00
Mikhail Glukhikh
17b289fa00
[FIR] Code cleanup: get rid of FirClass.buildUseSiteMemberScope()
2020-08-05 12:11:34 +03:00
Mikhail Glukhikh
8bb5488a26
[FIR] look at intersectionOverride during override processing
...
This commit fixes some BB tests broken by previous commit
2020-08-05 12:11:34 +03:00
Mikhail Glukhikh
f1356a809e
Fir2IrLazySimpleFunction: generate overridden symbols via FirTypeScope
2020-08-05 12:11:33 +03:00
Alexander Dudinsky
52c01abb83
Increase Xmx size after investigation OOM problem in KMM-316
2020-08-05 10:45:16 +03:00
Alexander Dudinsky
d012cd3272
Add kotlin-test-junit:install in dependencies for the kotlin-plugin install
2020-08-05 10:45:16 +03:00
Alexander Dudinsky
ea0099aa39
Fix testPlatformToCommonExpByInComposite.
...
In 9d362875da build started fail if mpp
or js targets not configured.
The test testPlatformToCommonExpByInComposite was fixed due it.
2020-08-05 10:45:16 +03:00
Alexander Dudinsky
05d6217f78
Changed gradle-plugin version in Gradle tests.
...
When 6.5.1 Gradle version was added, more tests have began to fail
because of legacy gradle-plugin versions (1.1., 1.2.) which are not
compatible with the new version of Gradle. This commit updates the used
version of the Gradle plugin to the latest stable (1.3.72) and makes it
configurable from tests.
2020-08-05 10:45:15 +03:00
Alexander Dudinsky
6652a7072c
Fix testData due to KT-40551.
...
Starting from version 1.3.60, unnecessary dependencies with runtime
scopes have been added for modules jvmTest and jsTest. After updating
the plugin version in tests from 1.3.50 to 1.3.72 and master,
tests began to fail because of this. In order not to stop other checks
in tests, they were redone for the current behavior with unnecessary
dependencies.
After fixing bug KT-40551, the old behavior in tests will be returned.
2020-08-05 10:45:15 +03:00
Alexander Dudinsky
0298795b18
Add gradle.properties with kotlin.stdlib.default.dependency=false for tests
...
In the master version of plugin dependencies on stdlibs are enabled
by default. It is not expected for some tests.
Flag kotlin.stdlib.default.dependency=false fixed it.
2020-08-05 10:45:15 +03:00
Alexander Dudinsky
bc623e97ec
Add Gradle version 6.5.1 for tests.
2020-08-05 10:45:15 +03:00
Alexander Dudinsky
1da05c54be
Change gradle-plugin versions for tests from 1.3.50 to 1.3.72
2020-08-05 10:45:14 +03:00
Nick
f15f5bccc8
[FIR] Add more diagnostic messages
2020-08-05 10:41:06 +03:00
Victor Petukhov
f45de9d8fb
NI: approximate not top-level captured types during code generation
...
^KT-40693 Fixed
2020-08-05 10:36:36 +03:00
Ilya Matveev
f6d7e7c52a
CocoaPods: Fix setting custom framework name
...
The main scheme of a synthetic project generated for
pod import has the same name as the podspec generated
for the kotlin module (== Gradle project name). But
when starting an Xcode build, we specify the -scheme
argument to a framework name instead of project.name.
By default they are the same, but if a custom framework
name is specified, xcodebuild fails.
Issue #KT-40801 fixed
2020-08-05 06:46:53 +00:00
Mikhail Zarechenskiy
a45f73867a
Add compatibility resolve when SAM conversion was applied partially
...
#KT-40646 Fixed
2020-08-05 00:03:33 +03:00
Sergey Igushkin
070848a1c1
Fix typealias usage nullability and annotations lost in deserialization
...
This fixes a regression introduced by the commit 4b0da0688a which made
deserializer expand typealiases but didn't take nullability and use site
annotations into account.
Issue #KT-40824 Fixed
2020-08-05 00:19:52 +04:00
Nick
ec4f04095c
[FIR] Rearrange FirErrors.kt
2020-08-04 22:40:09 +03:00
Nick
207027b84c
[FIR] Fix light tree's supertype FirDelegatedConstructorCall source
2020-08-04 22:37:43 +03:00
Nick
a59cedcd39
[FIR] Fix non-fake sources for constructor delegates
2020-08-04 22:37:42 +03:00
Nick
f74eb07203
[FIR] Fix incorrect diagnostic behaviour + several enum diagnostics
2020-08-04 22:28:49 +03:00
Nick
b76f757d47
[FIR] Add diagnostic for missing primary constructor
2020-08-04 22:28:49 +03:00
Nick
0f213e58db
[FIR] Add diagnostic for primary constructor not called
2020-08-04 22:28:48 +03:00
Nick
bb0e1b7390
[FIR] Add diagnostic for constructor delegation cycles
2020-08-04 22:28:48 +03:00
Mikhail Glukhikh
e841b3a77b
[FIR] Add diagnostic collection to KotlinToJVMBytecodeCompiler
2020-08-04 22:27:18 +03:00
Mikhail Glukhikh
9c3b8484b9
[FIR TEST] Add CLI test with should-be-error (not yet)
2020-08-04 22:27:18 +03:00
Ilmir Usmanov
824991a9dd
Minor. Add tests.
2020-08-04 15:42:38 +02:00
Ilmir Usmanov
bbd4c21595
Cleanup spilled variables
...
#KT-16222
2020-08-04 15:42:37 +02:00
Ilmir Usmanov
999b41068b
Minor. Refactor variables spilling
...
Split information collection and method node mutation.
2020-08-04 15:42:37 +02:00
Ilmir Usmanov
405c9743ef
Do not spill dispatch receiver of suspend functions if it is not used
...
#KT-20571
2020-08-04 15:42:36 +02:00
Jinseong Jeon
5db7957230
FIR2IR: use type arguments from fully expanded type
2020-08-04 14:44:38 +03:00
Ilya Kirillov
606dc2f723
Fix binary compatibility problems in ImportInsertHelper & ShortenReferences
2020-08-04 12:46:13 +03:00
Victor Petukhov
af48f08f9c
NI: take into account flexible types during capturing arguments from expression
...
^KT-40544 Fixed
2020-08-04 12:38:04 +03:00
vldf
65ebd02a39
[FIR] Fix for CanBeReplacedWithOperatorAssignment Checker
2020-08-04 11:20:42 +03:00
Mikhail Glukhikh
6f3df6faf4
[FIR] Regenerate extended checker tests
2020-08-04 09:35:36 +03:00
Mikhail Glukhikh
181a8bb79e
[FIR TEST] Mute failing BB test with Byte/Short.and usage
2020-08-04 08:59:16 +03:00
Jinseong Jeon
47c47be3d3
FIR serializer: serialize annotations on FirTypeRef, not ConeKotlinType
2020-08-04 08:59:16 +03:00
Ivan Kylchik
0a28e5e031
Add argument unwrapping for case when argument is named
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
2e2099afae
[FIR] Introduce NOT_AN_ANNOTATION_CLASS diagnostic
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
8fd087a964
[FIR] Don't report duplicated UNRESOLVED_REFERENCE on annotation entries
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
a6e811a67a
[FIR] Add status to Java annotation constructor (fix after rebase)
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
8379b3794a
[FIR2IR] Return fallback mode for annotation resolved placeholder
2020-08-04 08:59:15 +03:00
Dmitriy Novozhilov
b63257345b
[FIR] Map Class to KClass in java annotations
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
282a295d43
[FIR] Enable arrayOf transformer in completion (inside annotations)
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
721b9b4d8c
[FIR] Resolve annotations as calls
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
bc1fa8ed7f
[FIR] Add constructor for java annotations
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
644e9843f9
[FIR] Add initialization of calleeReference for FirAnnotationCall
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
614291b2cc
[FIR] Make FirAnnotationCall resolvable
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
ffd30566be
[FIR] Add FirErrorResolvedQualifier for qualifiers with resolve diagnostic
2020-08-04 08:59:14 +03:00
Dmitry Gridin
a5e9401a0a
[configuration] change updater number to 1.4.* and 1.5.*
...
#KT-40639 Fixed
2020-08-04 11:13:30 +07:00
Julian Kotrba
88f508446a
Make repeat example more expressive
...
This commit adds the zero-based index of current iteration from the passed HOF "action" of the repeat function to its associated code sample.
KT-20357
2020-08-04 00:48:06 +03:00
Ilya Gorbunov
a5178bb826
Minor: fix toJavaDuration docs
2020-08-04 00:34:15 +03:00
Ilya Gorbunov
99eb7f391b
Fix doc wording around covariance/invariance
2020-08-04 00:33:05 +03:00
Roman Artemev
4f73e08704
[KLIB] Make fake override resolver garbage free as much as possible
...
- reduce memory pollution during FO resolve
2020-08-03 19:22:07 +03:00
Roman Artemev
876ee265f2
[KLIB] Fix memory leak in fake override resolver
2020-08-03 19:22:07 +03:00
Roman Artemev
e189cb1895
[KLIB] Fix memory leak in linker through haveSeen set
2020-08-03 19:22:06 +03:00
Roman Artemev
19b5fda750
[KLIB] Do not duplicate origin mapping per file
2020-08-03 19:22:06 +03:00
Roman Artemev
c253042948
[KLIB] Reduce amount of descriptors loaded during desc-idSig resolution
2020-08-03 19:22:06 +03:00
Roman Artemev
851c287105
[KLIB] Use SoftReference to hold proto memory
...
- fix metadata memory leak for KT-40345
2020-08-03 19:22:06 +03:00
Roman Artemev
add0ad6733
[KLIB] Change KLIB IO API
...
- Use ReadBuffer instead of native java buffer
- Use Weak buffers for File IO
- fix klib memory leak for KT-40345
2020-08-03 19:22:06 +03:00
Jinseong Jeon
0e54f98b79
FIR: support adapted callable reference with vararg
2020-08-03 16:37:36 +03:00
Mikhail Glukhikh
4332e95b8a
[FIR] Don't transform setter parameter type if it's given explicitly
2020-08-03 16:37:30 +03:00
vldf
8813ebd950
[FIR] Add RedundantSetterParameterType Checker
2020-08-03 16:37:24 +03:00
vldf
a6c9d869fb
[FIR] Move RedundantCallOfConversionMethod to extended checkers
2020-08-03 16:31:49 +03:00
vldf
3349739d1e
[FIR] Fixes for RedundantReturnUnitType checker
2020-08-03 11:42:19 +03:00
vladislavf7@gmail.com
2384afdd93
[FIR] refactoring for running extended checkers
2020-08-03 11:42:19 +03:00
vldf
cfc09048c6
[FIR] Add RedundantCallOfConversionMethod checker
2020-08-03 10:41:19 +03:00
Mikhail Glukhikh
39d4b79324
[FIR TEST] Fix FE 1.0 / FIR test data for nested / local type alias case
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
7724d060ff
[FIR] Don't compare SYNTAX diagnostics in light tree diagnostic test
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
4e4fe9f719
[FIR] Support some kinds of fake sources in light builder
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
951aa8185e
[FIR] Avoid duplicate diagnostics on expression.typeRef
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
dc46d51d9a
[FIR TEST] Update diagnostic spec test data
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
6eab6f2f87
[FIR TEST] Replace OTHER_ERROR with UNRESOLVED_REFERENCE in test data
2020-08-02 18:19:47 +03:00
Nick
c55cdf1935
[FIR] Fix missing ErrorTypeRef for QA and clean DiagnosticCollector
2020-08-02 18:19:46 +03:00
Nick
7086b0cbf3
[FIR] Don't report duplicated errors in component calls typeRefs
2020-08-02 18:19:46 +03:00
Nick
4ceae8dc5e
[FIR] Don't report duplicated errors in function calls typeRefs
2020-08-02 18:19:46 +03:00
Nick
6f85a07290
[FIR] Don't report duplicated errors in property declarations
2020-08-02 18:19:46 +03:00
Nick
889324e972
[FIR] Ignore failing test, improve DiagnosticKind, fix UPPER_BOUND
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
9335e09149
[FIR] Don't report duplicated errors in implicit properties / parameters
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
ceaffb1e8b
[FIR] Don't report duplicated errors in implicit primary constructors
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
749346b73b
[FIR] Don't report duplicated errors on default accessor error type refs
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
e0d25876b0
[FIR] Don't report simple diagnostics on fake sources
2020-08-02 18:19:44 +03:00
Mikhail Glukhikh
551bdd267d
[FIR] Introduce WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostic
2020-08-02 18:19:44 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Jinseong Jeon
c744dfba9c
FIR: distinguish anonymous object as enum entry when scoping
...
so that `this` reference with the enum entry name as label can be
resolved
2020-08-02 18:06:15 +03:00
Jinseong Jeon
52631b7abd
FIR2IR: make local storage track scopes, including anonymous init
2020-08-02 18:05:09 +03:00
Nick
26e3a111d6
[FIR] Add diagnostics for object related problems
2020-07-31 19:34:55 +03:00
Nick
694d3cad4e
[FIR] Exposed visibility checker: optimize checks for local visibility
2020-07-31 19:28:10 +03:00
Nick
60462bea1c
FirEffectiveVisibilityResolver: search parent in containingDeclarations
...
When determining effective visibility of 'something',
we use containing declarations from the context to find 'something'
parent, to avoid calling getClassSymbolByFqName for all cases.
2020-07-31 19:28:04 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Steven Schäfer
b15e32936e
JVM IR: Optimize delegated properties (KT-36814)
2020-07-31 19:00:27 +03:00
vldf
8724efbe8a
[FIR] Add empty range checker
2020-07-31 16:28:37 +03:00
vldf
b10defdbab
[FIR] Add redundant single string expression template checker
2020-07-31 16:28:37 +03:00
vldf
95e0ba3d5c
[FIR] Add ArrayEqualityOpCanBeReplacedWithEquals checker
2020-07-31 16:28:37 +03:00
Ilmir Usmanov
4d21a496fe
Minor. Update tests
2020-07-31 14:33:52 +02:00
Dmitry Petrov
e11c90f26c
JVM_IR: KT-40293 Box return type for DefaultImpls methods if required
2020-07-31 14:48:12 +03:00
Ilya Chernikov
034d5a948c
Add JvmDefault to the new EP method for compatibility with older impls
2020-07-31 12:07:10 +02:00
Ilmir Usmanov
fa8c6deb18
Support restricted suspend lambdas in JVM_IR
...
#KT-40135 Fixed
2020-07-30 20:40:37 +02:00
Ilmir Usmanov
2c205410fa
Check whether the field is indeed being initialized
...
in checkFieldInExactlyOnceLambdaInitialization
#KT-40691 Fixed
2020-07-30 19:04:54 +02:00
Nikolay Krasko
d8b76f5b26
Register additional repository id
2020-07-30 19:33:58 +03:00
Vladimir Ilmov
7eca13569b
(CoroutineDebugger) Enable agent for versions 1.3.8.*
...
Gradle artifact name gets changed from 'kotlinx-coroutines-core' to
'kotlinx-coroutines-core-jvm'. So it should support both.
2020-07-30 17:54:35 +02:00
Toshiaki Kameyama
c91858d470
Convert member to extension: do not suggest for delegated properties
...
#KT-35128 Fixed
2020-07-30 17:32:31 +03:00
Dmitry Petrov
46fccae7d1
PSI2IR: KT-40499 Fix delegated property desugaring
...
No type arguments were provided for property reference inside delegated
property accessors.
2020-07-30 13:18:36 +03:00
Jinseong Jeon
bff36e0199
FIR2IR: convert annotations on FirTypeRef
2020-07-30 11:25:36 +03:00
Georgy Bronnikov
4ca98041cd
IR: update test data
2020-07-30 11:24:08 +03:00
Georgy Bronnikov
a27d63f58f
JVM_IR: flexible nullability as annotation
...
We carry information about flexible nullability of IrType as an
annotation, so there is no need to look at its underlying KotlinType.
2020-07-30 11:24:07 +03:00
Georgy Bronnikov
a2e9521ad5
Make DescriptorlessExternalPackageFragmentSymbol public
2020-07-30 11:24:07 +03:00
Georgy Bronnikov
c2ead0303b
IR: remove more descriptor usage
2020-07-30 11:24:07 +03:00
Alexander Gorshenev
9a717e9ecf
Don't copy default value parameters for fake overrides
2020-07-29 22:15:10 +03:00
Mark Punzalan
2cfd776092
ForLoopsLowering: Assume step == 1 for *Range (e.g., IntRange) and
...
handle accordingly (e.g., do not read `step` property).
2020-07-29 20:44:51 +02:00
Dmitry Petrov
09e47fff7b
Fix KotlinGradleIT.testCustomCompilerFile
...
Referencing org.jetbrains.annotations.{Nullable, NotNull} classes in
static initializer causes ClassNotFoundError in testCustomCompilerFile.
2020-07-29 20:33:17 +03:00
Dmitry Petrov
dae358c792
JVM: KT-40664 disable optimization for 'ULong in range of UInt' case
2020-07-29 20:33:17 +03:00
Dmitry Petrov
f2493d0950
JVM: KT-40665 more exact check for intrinsified range 'contains'
2020-07-29 20:33:17 +03:00
Roman Artemev
0559e192ee
[JS IR] Support external delegation in case of JS in psi2ir
...
- fix FE delegation resolver
- fix critical KT-40650
2020-07-29 19:57:05 +03:00
Nicolay Mitropolsky
c254651ed3
Uast: handling annotations on the property receiver (KT-40539)
2020-07-29 19:42:22 +03:00
Yaroslav Chernyshev
325ad56dcd
Populate Kotlin source set roots with KotlinSourceRootTypes
...
By default Kotlin source root is populated with JavaSourceRootType and
changed during import only if real source folder exists.
Now Kotlin source roots has valid source type right after creation
#KT-37106 Fixed
2020-07-29 19:24:44 +03:00
Ilmir Usmanov
fec845365a
Minor. No longer ignore obsolete PRE_RELEASE_CLASS diagnostic
...
in coroutine tests.
2020-07-29 17:52:01 +02:00
Simon Ogorodnik
ebfcd7e074
J2K: Improve presentation of conversions
2020-07-29 17:56:03 +03:00
Simon Ogorodnik
5c745facf4
J2K: Improve error message in case of incorrect detach
2020-07-29 17:56:02 +03:00
Simon Ogorodnik
dc963e4ff6
Improve J2K progress reporting
2020-07-29 17:56:02 +03:00
Simon Ogorodnik
8bcf1000f6
J2K: Fix java 9 try-with-resources
2020-07-29 17:56:02 +03:00
Simon Ogorodnik
c5005f8695
J2K: Speed-up add imports
2020-07-29 17:56:01 +03:00
Simon Ogorodnik
cd0c644654
J2K: Fix incorrect early detaching of elements in for conversion
2020-07-29 17:56:00 +03:00
Simon Ogorodnik
8c2dd876b5
J2K: Fix incorrect argument remapping when introducing defaults
2020-07-29 17:56:00 +03:00
Simon Ogorodnik
cd7ac55091
J2K: Show converted/total file counts
2020-07-29 17:55:59 +03:00
Simon Ogorodnik
468af0bb85
J2K: Fix type parameters in LHS of callable reference
2020-07-29 17:50:10 +03:00
Leonid Startsev
96d0b1c47a
Update serialization runtime and fix test data
...
Revert "Mute/ignore 'PROVIDED_RUNTIME_TOO_LOW' in tests"
2020-07-29 14:20:33 +03:00
Nikolay Krasko
a6a22d1cde
Revert "Populate Kotlin source set roots with KotlinSourceRootTypes"
...
This reverts commit e2634190
2020-07-29 12:05:42 +03:00
Yaroslav Chernyshev
e263419088
Populate Kotlin source set roots with KotlinSourceRootTypes
...
By default Kotlin source root is populated with JavaSourceRootType and
changed during import only if real source folder exists.
Now Kotlin source roots has valid source type right after creation
#KT-37106 Fixed
2020-07-29 10:26:42 +03:00
Ilmir Usmanov
4fb5f8603a
Keep $continuation in LVT
...
in case of suspend functions and `this` is case of lambdas, since they
are used in async stack trace generation.
Update tests.
#KT-40661 Open
2020-07-29 00:01:12 +02:00
Ilmir Usmanov
db40808186
Minor. Remove unused SourceFrames
2020-07-29 00:01:11 +02:00
Ilmir Usmanov
70e91bd5db
Shrink and split LVT records of variables according to their liveness
...
Otherwise, debugger will show uninitialized values of dead variables
after resume.
#KT-16222
#KT-28016 Fixed
#KT-20571 Fixed
2020-07-29 00:01:10 +02:00
Ilmir Usmanov
e5995f0c12
Update R8
...
Because old version throws assertion error if parameter's LVT record
does no span the whole function.
2020-07-29 00:01:10 +02:00
Ilmir Usmanov
60875f96b4
Do not take LVT into account when calculating liveness of variables
2020-07-29 00:01:09 +02:00
Alexander Udalov
687d13a320
IR: cleanup expression implementations
...
Remove unused constructors with descriptors, minimize usages of
secondary constructors and make some properties non-lateinit, fix some
inspections.
2020-07-28 20:05:58 +02:00
Alexander Udalov
e36d3ba4f6
IR: remove IrNoArgumentsCallableReferenceBase
...
To simplify transformation of IR element hierarchy to classes.
2020-07-28 20:05:57 +02:00
Dmitriy Novozhilov
f270cd8d6e
[FIR] Update testdata due to lack of callee reference in FirResolvedQualifier
2020-07-28 20:47:07 +03:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
anastasiia.spaseeva
5c0528b61e
[Spec tests] Add tests for primary constructors declaration
2020-07-28 20:26:33 +03:00
anastasiia.spaseeva
0488dc985f
[Spec tests] Add tests for intersection and OR
2020-07-28 20:26:32 +03:00
anastasiia.spaseeva
46774fb6d6
[Spec tests] Add call without an explicit receiver tests for top-level non-extension functions
2020-07-28 20:26:32 +03:00
anastasiia.spaseeva
bef59055cd
[Spec tests] Fix test cases structure
2020-07-28 20:26:31 +03:00
anastasiia.spaseeva
4ad3847224
[Spec tests] Add tests for subtyping rules for simple classifier type
2020-07-28 20:26:30 +03:00
anastasiia.spaseeva
1801344c76
[Spec tests] Add tests for inner-and-nested-type-contexts section
2020-07-28 20:26:29 +03:00
anastasiia.spaseeva
d5ddb26180
[Spec tests] Add overload resolution tests for plus assign operator call
2020-07-28 20:26:28 +03:00
anastasiia.spaseeva
1d83c59e80
[Spec tests] Actualize test for callable reference section
2020-07-28 20:26:27 +03:00
anastasiia.spaseeva
4db209648d
[Spec tests] Update spec version
2020-07-28 20:26:26 +03:00
anastasiia.spaseeva
3f862830f2
[Spec tests] Add tests for resolving callable references and some co-tests
2020-07-28 20:26:24 +03:00
anastasiia.spaseeva
cfbfec77a5
[Spec tests] Add tests for Algorithm of MSC selection
2020-07-28 20:26:23 +03:00
anastasiia.spaseeva
73850e97d7
[Spec tests] Add test for Coercion to Unit error diagnostics absence
2020-07-28 20:26:22 +03:00
anastasiia.spaseeva
26ac87d9be
[Spec tests] Update spec testData
2020-07-28 20:26:21 +03:00
Alexander Udalov
f240d51d2c
IR: do not inherit IrFakeOverride* from IrFunction/IrProperty
...
This will help to reduce boilerplate after making the latter classes.
Without this change, IrFunctionCommonImpl would not be able to be a
class because it would introduce a diamond class hierarchy, and thus
that would require copying all its contents to IrFunctionImpl and
IrFakeOverrideFunctionImpl.
2020-07-28 19:05:12 +02:00
Alexander Udalov
4892737cc9
Use IrFactory in kotlin-serialization-compiler
2020-07-28 19:04:44 +02:00
Alexander Udalov
0909894a96
PIR: make most implementations and carriers internal
2020-07-28 19:04:44 +02:00
Alexander Udalov
cce55f1609
IR: add module ir.tree.impl, move main IR implementation there
2020-07-28 19:04:44 +02:00
Alexander Udalov
77247deb23
IR: add module ir.tree.persistent, copy PIR implementation there
...
Use PersistentIrFactory in JS IR compiler entry points.
2020-07-28 19:04:43 +02:00
Alexander Udalov
9aed92d2dd
Partially revert "Persistent IR implementation"
...
This partially reverts commit f437da8ee5 .
Changes related to carriers and others are still there. They will be
moved out to a separate module in a subsequent commit.
2020-07-28 19:04:43 +02:00
Dmitry Petrov
980b91d082
JVM: generate 'Deprecated' on method as runtime-visible annotation
...
We generate @java.lang.Deprecated annotation on methods of $DefaultImpls
classes in compatibility mode. This annotation has RUNTIME retention and
should be visible.
Also, get rid of representing annotations as Class'es (yes we know that
these annotations are in compiler CLASSPATH, but we should not rely on
such classes and associated information).
2020-07-28 18:19:20 +03:00
Dmitry Petrov
4fdccb3b35
JVM_IR: don't generate repeated ElementType values in @Target
2020-07-28 18:19:20 +03:00
Ilya Goncharov
c065210b56
[Gradle, JS] Reuse task requirements
...
^KT-39825 fixed
2020-07-28 18:17:05 +03:00
Ilya Goncharov
9a3ae4f4fa
[Gradle, JS] Common webpack configuration
...
^KT-39825 fixed
2020-07-28 18:16:51 +03:00
vldf
a2b26c00a1
Uncommented ControlFlowAnalysisBenchmark
2020-07-28 17:10:02 +03:00
vldf
fca0b7fedd
[FIR] Add CFA benchmark
2020-07-28 14:30:40 +03:00
vldf
d7b3a86f5e
[FIR] Add "can be val" extended checker
2020-07-28 14:17:38 +03:00
Jinseong Jeon
da6e96f4f1
FIR2IR: don't declare dispatch receiver for local functions
2020-07-28 13:43:10 +03:00
Jinseong Jeon
5a3367e09c
FIR: initial support of suspend conversion for function reference
2020-07-28 13:37:05 +03:00
Alexander Udalov
b9243aad24
Minor, fix test data in bytecodeListing/specialBridges
2020-07-28 12:12:39 +02:00
Alexander Udalov
df324d5a08
IR: pull up common accept/transform implementations to interfaces
...
To avoid duplicating them among the main, persisting, lazy, and
fir2ir-lazy implementations.
Also reformat a bit, and avoid storing descriptor in a field in some
places.
2020-07-28 12:05:24 +02:00
Alexander Udalov
12d2a02d22
JS IR: drop JsIrDeclarationBuilder
...
Move buildValueParameter back to JsIrBuilder, and use common IR builders
directly where buildFunction was called.
2020-07-28 12:05:24 +02:00
Alexander Udalov
0d605a6b7f
IR: create IrBlockBody via IrFactory
2020-07-28 12:05:24 +02:00
Alexander Udalov
9ad4a754ce
IR: create IrExpressionBody via IrFactory
2020-07-28 12:05:24 +02:00
Alexander Udalov
d1dc938a5d
IR: use IrFactory in IR builders
2020-07-28 12:05:24 +02:00
Alexander Udalov
898dd20a9e
IR: use IrFactory in misc utils
2020-07-28 12:05:23 +02:00
Alexander Udalov
f359f36ed9
IR: add IrFactory to IrDeclaration, use in deep copy
2020-07-28 12:05:23 +02:00
Alexander Udalov
305288aa82
IR: use IrFactory in psi2ir
2020-07-28 12:05:23 +02:00
Alexander Udalov
8c41ba8ee4
IR: use IrFactory in fir2ir
2020-07-28 12:05:23 +02:00
Alexander Udalov
9356f87f28
IR: use IrFactory in linker
2020-07-28 12:05:23 +02:00
Alexander Udalov
db4cbe7103
IR: use IrFactory in SymbolTable
2020-07-28 12:05:23 +02:00
Alexander Udalov
c6a127e87e
IR: introduce IrFactory
...
This is needed to refactor IrPersistingElementBase-based implementations
into another module, to use it in JS IR.
2020-07-28 12:05:23 +02:00
Kirill Shmakov
96968cd9c9
Fix build after rebasing
2020-07-28 12:55:38 +03:00
Kirill Shmakov
96160cbb55
Adapt AS wizard to changes in main wizard
2020-07-28 12:26:19 +03:00
Kirill Shmakov
5c8833f608
Wizard: improve mobile app template
2020-07-28 12:26:19 +03:00
Ilya Kirillov
63fa6674a3
Wizard: temporary add ios shortcut target
...
Temporary as it will not be needed when HMPP wizard will be ready
2020-07-28 12:26:19 +03:00
Ilya Kirillov
f330cd3697
Wizard: relocate AndroidManifest.xml for MPP module
2020-07-28 12:26:19 +03:00
Ilya Kirillov
b3d48cda8c
Wizard: add common tests for iOS/Android template
2020-07-28 12:26:19 +03:00
Ilya Kirillov
5ffcaf6508
Wizard: add shared code for iOS/Android template
...
fix android
2020-07-28 12:26:19 +03:00
Ilya Kirillov
66c756ad0f
Wizard: add ability for wizard to generate expected/actual declarations in MPP module
2020-07-28 12:26:18 +03:00
Ilya Kirillov
7d1036ee7e
Wizard: use property for storing module dependency
2020-07-28 12:26:18 +03:00
Ilya Kirillov
dbc43b66bf
Wizard: introduce ModuleConfiguratorProperty
2020-07-28 12:26:18 +03:00
Ilya Kirillov
74d6919c7c
Wizard: wrap property into PluginProperty for plugin properties
2020-07-28 12:26:18 +03:00
Ilya Kirillov
3c3ba361e8
Wizard: specify path for plugin entities in one place
2020-07-28 12:26:18 +03:00
Ilya Kirillov
c05c72387e
Wizard: fix node js templates
2020-07-28 12:26:18 +03:00
aleksandrina-streltsova
63e2d771b3
Get rid of reflection in new project wizard core: manually specify properties in plugins
2020-07-28 12:26:17 +03:00
Ilya Kirillov
cc35529b9a
Wizard: get rid of reflection: specify plugin path by hand
2020-07-28 12:23:57 +03:00
Ilya Kirillov
3ed11c0491
Wizard: get rid of reflection: force plugins to specify settings & tasks directly
2020-07-28 12:23:57 +03:00
vldf
eadd3f00f2
[FIR] Add CanBeReplacedWithOperatorAssignmentChecker
2020-07-28 10:13:28 +03:00
Kevin Bierhoff
fa8c6e7fb6
Uast: KT-40578: resolve Kotlin property writes to setters ( #3597 )
...
* KT-40578: resolve Kotlin property writes to setters
* limit to non-constructor properties
* Uast: `KotlinIDERenderLogTest.testConstructors` fix
Co-authored-by: Nicolay Mitropolsky <nicolay.mitropolsky@jetbrains.com >
2020-07-28 10:03:22 +03:00
Sergey Bogolepov
5851a7dea0
[kotlinx-metadata-klib] Proper support for nullable enum entry fields
2020-07-28 11:59:17 +07:00
Sergey Rostov
45f0328f21
scripting: preload scripting support plugins
2020-07-27 19:44:03 +00:00
Sergey Rostov
b5e04378ed
scripting, ucache: don't init caches at start up
...
init it in async instead. all usages will be updated thanks to
highlighting/reindexing that is called after cache is constructed.
#KT-40242 Fixed
2020-07-27 19:44:03 +00:00
Dmitry Petrov
43fcb2330e
JVM_IR: fix source file name for mutlifile class facades
2020-07-27 19:13:37 +03:00
Dmitry Petrov
89a0b3e944
Check class source in bytecode listing tests
2020-07-27 19:13:37 +03:00
Dmitriy Dolovov
b47946cbba
Report interop functions with non-stable parameter names
...
^KT-34602
2020-07-27 23:11:36 +07:00
Dmitriy Dolovov
3d9093583f
Metadata: 'non-stable parameter names' flag for callables
...
^KT-34602
2020-07-27 23:11:30 +07:00
Ilya Goncharov
8cace2bab4
[Gradle, JS] Add tests on kotlin/js module with js files
2020-07-27 19:00:12 +03:00
Ilya Goncharov
0b88f457e8
[Gradle, JS] Use .meta.js as source of "name" and "main" fields
...
^KT-40342 fixed
2020-07-27 19:00:12 +03:00
Victor Petukhov
cca64b8fab
NI: use the inferred type to check of nullable array for vararg
...
^KT-40555 Fixed
2020-07-27 18:24:31 +03:00
Steven Schäfer
9d63412b3e
JVM IR: Produce correct generic signatures for special bridge methods
2020-07-27 17:02:24 +02:00
Steven Schäfer
c16b548dff
JVM IR: Don't produce annotations on builtin stub, toArray, and bridge methods
2020-07-27 17:02:24 +02:00
Andrei Klunnyi
f661b7604b
KT-40557 Scratch: .kt files are treated as Kotlin scratches, opening fails
...
https://ea.jetbrains.com/browser/ea_problems/224367
2020-07-27 15:36:02 +02:00
Andrei Klunnyi
0e46a980f6
EA- 235760 // additional logging
...
https://ea.jetbrains.com/browser/ea_problems/235760
2020-07-27 15:36:00 +02:00
Andrei Klunnyi
c27453632e
EA-235769 // StringIndexOutOfBoundsException
...
https://ea.jetbrains.com/browser/ea_problems/235769
2020-07-27 15:35:59 +02:00
Andrei Klunnyi
4afa50e081
EA-235759 // NPE fix
...
https://ea.jetbrains.com/browser/ea_problems/235759
2020-07-27 15:35:58 +02:00
Andrei Klunnyi
29281fd0bf
EA-235761 // NPE fix
...
https://ea.jetbrains.com/browser/ea_problems/235761
2020-07-27 15:35:57 +02:00
Andrei Klunnyi
e63951c38c
EA-235765 // NPE at refactoring suggestion
...
Fixed exception:
java.lang.NullPointerException: null cannot be cast to non-null type
org.jetbrains.kotlin.descriptors.CallableDescriptor
More info: https://ea.jetbrains.com/browser/ea_problems/235765
2020-07-27 15:35:55 +02:00
Dmitry Gridin
e8fd69fde1
[formatter] fix infinite recursion
...
Already exists in the new repo: original-hash e7ea6926a8a414ab6082299d99239ad167ab75a2
#KT-40636 Fixed
2020-07-27 19:56:19 +07:00
Ryan Nett
b1173317c5
Change scripting Severity enums to order from DEBUG to FATAL.
...
#KT-39502 fixed
2020-07-27 14:29:30 +02:00
Konstantin Tskhovrebov
59f6c0c273
Add flag for avoid double MPP gradle module resolve.
2020-07-27 15:11:48 +03:00
Ilya Goncharov
5444ffaf4b
[Gradle, JS] Deprecate produceExecutable
...
^KT-40568 fixed
2020-07-27 14:44:47 +03:00
Ilya Goncharov
d9c269ed6b
[Gradle, JS] Disable binaries.executable by default in wizard
...
^KT-40461 fixed
2020-07-27 14:35:45 +03:00
Natalia Selezneva
8d1f9df802
Do not show warning when multiple Gradle Definitions are loaded
...
This will happen when there are multiple gradle project linked to one IDEA project
andthey have different gradle versions
2020-07-27 13:08:01 +03:00
Ilya Matveev
a62f65940d
Gradle, CocoaPods: Use synthetic dir as a working dir for pod gen
...
'Pod gen' creates an empty folder named 'Pods' in a directory where it
is executed. Earlier, 'pod gen' was executed in a project root
directory, so this `Pods` folder was created in a VCS-controlled
place. This patch fixes this issue by running 'pod gen' in a directory
where the synthetic project is located.
2020-07-27 10:02:07 +00:00
Ilya Matveev
7c3eda31fa
Gradle, CocoaPods: Fix non-compilable dummy header
...
Issue #KT-39999 fixed
2020-07-27 10:02:07 +00:00
Ilya Matveev
85908713b1
Gradle, CocoaPods: Support pods with dashes in names
...
See https://github.com/JetBrains/kotlin-native/issues/2884
2020-07-27 10:02:06 +00:00
Zalim Bashorov
635869f15a
Rewrite className helper to fix tests on android
...
Since android tests preprocess test data and
(at least) replace package for files and fix package usages
it's preferred to use fqnames explicitly
instead of assembly them from parts, as it was before.
2020-07-25 15:28:36 +03:00
Mikhail Glukhikh
0ded1d7006
FirBasedSignatureComposer: generate better error messages
2020-07-24 19:47:28 +03:00
Mikhail Glukhikh
40256aa43d
Fir2IrLazyClass: generate enum values() / valueOf() properly
2020-07-24 19:47:28 +03:00
Mikhail Glukhikh
8bae0f2d0c
[FIR2IR] Handle local visibility around signature composer properly
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
828524bde4
[FIR2IR] Fix conversion of default vararg arguments for annotations
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
240baa64a5
Fir2IrConverter: initialize call generator earlier to avoid lateinit err
2020-07-24 19:47:26 +03:00
Mikhail Glukhikh
2b52988f1b
[FIR TEST] Add failing BB test with Deprecated annotation
2020-07-24 19:47:19 +03:00
Denis Zharkov
df1719c64c
Fix incorrect mixed named/positioned arguments in project code
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Denis Zharkov
dc6efa5a61
Fix incorrect handling of mixed named/positional arguments
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Mikhail Bogdanov
d083297366
Support additional flags in MPP tests. Add diagnostic tests for defaults
2020-07-24 12:10:04 +02:00
Mikhail Bogdanov
125c72cb8d
New default checks for mixed hierarchies
...
Old and new schemes
2020-07-24 12:10:04 +02:00
Denis Zharkov
de02b31ad7
FIR: Use phasedFir in resolve
...
^KT-40376 Fixed
2020-07-24 12:32:29 +03:00
Yaroslav Chernyshev
0de29e641d
Fixed bug with pureKotlinSourceFolders for common modules
2020-07-24 12:22:00 +03:00
Yaroslav Chernyshev
142bd2e009
Filtering pureKotlinSourceFolders for existing package directories
2020-07-24 12:21:59 +03:00
Yaroslav Chernyshev
e6670d439f
Small renaming classifier -> disambiguationClassifier
2020-07-24 12:21:58 +03:00
Yaroslav Chernyshev
96d9dad429
Fixed tests for pureKotlinSourceFolders by extending created facets
2020-07-24 12:21:57 +03:00
Yaroslav Chernyshev
f490085142
Support pureKotlinSourceFolders for MPP projects
...
#KT-34271 Fixed
#KT-32963 Fixed
2020-07-24 12:21:57 +03:00
nataliya.valtman
fde8a34c32
KT-40058 NPE from mpp gradle plugin on kotlinx.benchmarks
2020-07-24 10:46:45 +03:00
Ivan Kylchik
bc41681a2e
Fix gradle import error after introducing new gradle task in benchmarks
2020-07-23 21:18:32 +03:00
Vyacheslav Gerasimov
96ac6e612d
Build: Replace androidIdeTest task with kaptIdeTest
...
We dont run android ide tests anymore
2020-07-23 19:18:18 +03:00
Vyacheslav Gerasimov
803d24cd42
Build: Remove pluginTests task and deduplicate kapt test task
2020-07-23 19:18:17 +03:00
Vyacheslav Gerasimov
ee642e69b0
Build: Introduce mainIdeTests task
2020-07-23 19:18:17 +03:00
Dmitry Petrov
e2a4ca10d6
JVM_IR: fix inner class attributes for private class in interface
2020-07-23 19:13:28 +03:00
Dmitry Petrov
0741781462
Compare inner class access flags in bytecode listing tests
2020-07-23 19:13:28 +03:00
Natalia Selezneva
8d894929ae
Minor: unify logging in scripting
2020-07-23 16:31:32 +03:00
Natalia Selezneva
8a6cdcba29
Do not hold a lock during loading script templates from dependencies
...
^KT-40383 Fixed
2020-07-23 16:24:13 +03:00
Natalia Selezneva
493c287bb0
Minor: fix notification text when script configuration is missing after request
2020-07-23 16:20:57 +03:00
Ivan Kylchik
265873becd
Comment out runBenchmark tasks due to gradle import error
2020-07-23 15:20:35 +03:00
Roman Golyshev
be06c51aa7
KT-40363 Handle non-octal int literals in for-loop conversions
...
- See EA-210233
- ^KT-40363 Fixed
2020-07-23 11:24:48 +00:00
Roman Golyshev
cba671a3ef
KT-40359 Catch NumberFormatException during literal conversion
...
- Instead of failing J2K conversion completely, insert TODO expression
to the resulting code (it is better to have a converted code with TODO
than to have nothing at all)
- See EA-210233 for similar exceptions
- ^KT-40359 Fixed
2020-07-23 11:24:48 +00:00
Roman Golyshev
cc0a787735
Add null-checking to KotlinIdeaResolutionException constructors
...
- NPE here leads to loosing the actual exception
- EA-235059 Fixed
2020-07-23 11:24:47 +00:00
Nicolay Mitropolsky
f7031e65ba
Uast: don't throw exception if can't get a receiver parameter for annotation (KT-40494)
2020-07-23 10:33:44 +03:00
Jinseong Jeon
7872b21914
FIR: handle object invoke via type alias
2020-07-23 09:34:42 +03:00
Svyatoslav Kuzmich
4a803e9d2f
[JS IR] Support object declaration export
...
Fixes KT-39117 and KT-39367
2020-07-23 08:21:59 +03:00
Svyatoslav Kuzmich
4027dae594
[JS] Add js/js.translator/testData/package-lock.json
2020-07-23 08:21:57 +03:00
Natalia Selezneva
be371c9294
Remove optimization in KotlinScriptDependenciesClassFinder
...
Scope can contains only classes for one script,
but allScriptDependenciesScope contains classes for all scripts
2020-07-23 00:00:51 +03:00
Natalia Selezneva
be8374a1a8
Minor: fix comments
2020-07-23 00:00:50 +03:00
Natalia Selezneva
e708e3f1c5
Do not suggest to load gradle.kts configurations after project reopening
...
For projects with distributionType=WRAPPED
Workaround for KT-40394
The original problem is that GradleInstallationManager.resolveGradleVersion returns null is case of distributionType=WRAPPED
^KT-40394 Fixed
2020-07-23 00:00:50 +03:00
Natalia Selezneva
300e9581de
Fix UI for Kotlin Scripting page
...
Show 15 items in the list by default
Show hint at the top
Fixed for 201+
^KT-40097 Fixed
2020-07-22 23:49:47 +03:00
Natalia Selezneva
dd20b9062a
Completion for script inside module should provide classes from related module
...
^KT-35825 Fixed
2020-07-22 23:49:47 +03:00
Alexander Udalov
65d3ae6253
JS IR: move declaration creation from IrBuilder to JsIrDeclarationBuilder
...
This is a temporary class until IrDeclarationFactory is there.
2020-07-22 22:40:08 +02:00
Alexander Udalov
d3a34a8898
Psi2Ir: somewhat simplify Psi2IrTranslator API
...
Inline some methods only used once, deduplicate usages, rearrange
parameters, etc.
2020-07-22 22:38:21 +02:00
Alexander Udalov
241f82c70f
IR: avoid storing unnecessary fields in IrPropertyImpl
2020-07-22 22:38:21 +02:00
Alexander Udalov
3f06f8a6ba
IR: avoid storing unnecessary fields in IrFunctionImpl
2020-07-22 22:38:20 +02:00
Alexander Udalov
517c3e1020
IR: introduce IrFakeOverrideFunction, IrFakeOverrideProperty
...
Use them instead of the implementations. This will allow to refactor
creation to a factory and allow to use other implementations in the
future.
2020-07-22 22:38:20 +02:00
Alexander Udalov
ca5eb40fa5
IR: minor, avoid usages of IrBlockBodyImpl/IrExpressionBodyImpl
2020-07-22 22:38:20 +02:00
Mark Punzalan
174576af61
ForLoopsLowering: Handle Sequence<*>.withIndex().
2020-07-22 22:32:29 +02:00
Mark Punzalan
132960a695
ForLoopsLowering: Eliminate use of @ObsoleteDescriptorBasedAPI.
2020-07-22 22:32:29 +02:00
Mark Punzalan
b1ce21bc55
ForLoopsLowering: Reduce unnecessary temporary variables for the
...
"checked step" (check for a positive step arg) and "negated step"
(negate the step arg when the nested step is negative).
2020-07-22 22:32:29 +02:00
Mark Punzalan
291d62f653
ForLoopsLowering: Move handlers to sub-package and separate files.
2020-07-22 22:32:29 +02:00
Ivan Kylchik
44d283eb07
Fix FIR benchmark memory leak
2020-07-22 20:18:26 +03:00
Ivan Kylchik
be4dbf2dcd
Create gradle scripts to run and analyze benchmark results
2020-07-22 20:18:25 +03:00
Ivan Kylchik
29d0e3dbb5
Reuse createSession function for FIR in benchmark
2020-07-22 20:18:24 +03:00
Dmitry Petrov
1272162a7f
JVM_IR: generate "safe" names for functions in init blocks
2020-07-22 19:49:48 +03:00
Yaroslav Chernyshev
bb8f857809
[Gradle, Import] Added externalSystemId into facet for mpp projects
...
#KT-39803 Fixed
2020-07-22 19:44:09 +03:00
Ilya Goncharov
e5b0498eb6
Fix tests for Gradle kts and groovy dsl
...
^KT-40527 fixed
2020-07-22 14:04:57 +03:00
Ilya Goncharov
ae0bedd2ac
[Gradle, JS] Different module kind for browser and nodejs
...
^KT-40527 fixed
2020-07-22 14:04:29 +03:00
Ilya Goncharov
38ec3ffb4a
[Gradle, JS] Statically calculated module configurator id
...
^KT-40527 fixed
2020-07-22 14:04:15 +03:00
Ilya Goncharov
bf1b85343f
[Gradle, JS] Remove copyright from template of node.js
...
^KT-40527 fixed
2020-07-22 14:03:40 +03:00
Ilya Goncharov
2d60d2c0e6
[Gradle, JS] Divide allowSinglePlatform
...
^KT-40527 fixed
2020-07-22 14:02:02 +03:00
Ilya Goncharov
af367b01ec
[Gradle, JS] Add test on node js single platform project
...
^KT-40527 fixed
2020-07-22 14:01:50 +03:00
Ilya Goncharov
cb60b9e59c
[Gradle, JS] singleplatformJs -> singlePlatformJsBrowser
...
^KT-40527 fixed
2020-07-22 14:01:20 +03:00
Ilya Goncharov
01ec8b5262
[Gradle, JS] Fix typo and add node js module configurator
...
^KT-40527 fixed
2020-07-22 13:59:46 +03:00
Ilya Goncharov
0d606e1346
[Gradle, JS] Fix id and text in simple js module configurators
...
^KT-40527 fixed
2020-07-22 13:59:33 +03:00
Ilya Goncharov
4c5cd44e75
[Gradle, JS] Localize Module Type
...
^KT-40527 fixed
2020-07-22 13:59:15 +03:00
Ilya Goncharov
29e37ee15f
[Gradle, JS] Fix test for js single platform
...
^KT-40527 fixed
2020-07-22 13:58:47 +03:00
Ilya Goncharov
a866e51402
[Gradle, JS] NodeJs template files
...
^KT-40527 fixed
2020-07-22 13:58:32 +03:00
Ilya Goncharov
95f6669275
[Gradle, JS] Add NodeJs template plugin
...
^KT-40527 fixed
2020-07-22 13:58:19 +03:00
Ilya Goncharov
6866fdc3e1
[Gradle, JS] Add NodeJs template project
...
^KT-40527 fixed
2020-07-22 13:57:44 +03:00
Ilya Goncharov
4de31da0f3
[Gradle, JS] Fix typo
...
^KT-40527 fixed
2020-07-22 13:57:07 +03:00
Ilya Goncharov
e8dfc4dcd0
[Gradle, JS] JsSinglePlatform -> BrowserJsSinglePlatform
...
^KT-40527 fixed
2020-07-22 13:56:53 +03:00
Ilya Goncharov
b4334a3a3b
[Gradle, JS] Fix formatting in Gradle Kotlin/JS wizard
...
^KT-40149 fixed
2020-07-22 13:23:03 +03:00
Jinseong Jeon
e1abaa9b51
FIR: special visibility handling for monitor{Enter|Exit}
2020-07-22 12:16:32 +03:00
Jinseong Jeon
85f692ab40
FIR2IR: use DescriptorWithContainerSource if container source is available
...
The use of DescriptorWithContainerSource is the key to trigger the
proper generation of stub facade class as parent.
2020-07-22 12:16:32 +03:00
Alexander Gorshenev
c076d81f0c
[IR FAKE OVERRIDES] Properly account for outer class type parameters
2020-07-22 12:02:51 +03:00
Pavel Kirpichenkov
1ef17c6f3a
Drop isErrorTypeAllowed flag from type system context
...
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Pavel Kirpichenkov
710659324c
[NI] Fix common supertype of types with error supertypes
...
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.
^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Ilya Gorbunov
95cc35f22e
Package builtins with jvm reflect into IDEA plugin only
...
Leave builtins with common reflect for stand-alone compiler.
2020-07-22 11:08:14 +03:00
Stanislav Erokhin
0c094b1719
Serialize jvm reflect into builtIns
...
Basically this is revert of 427e34fe5a commit
This was done due to the KT-39728.
Also we do pick every file separately, because builtIn serializer
unable to filter expects
2020-07-22 11:08:14 +03:00
Stanislav Erokhin
67090e1afb
Move KTypeProjection to separate file
2020-07-22 11:08:14 +03:00
Zalim Bashorov
ee26fd4959
[KJS FE] Change severity of NON_EXPORTABLE_TYPE from error to warning
...
The change is required to avoid breaking examples using kotlin-wrappers
until we find an acceptable solution for them.
#KT-39873 Fixed
2020-07-22 10:51:41 +03:00
Denis Zharkov
41bd013796
Fix incorrect usages of @NotNull type parameters in project sources
...
^KT-36770 In progress
2020-07-22 10:16:14 +03:00
Denis Zharkov
037ff2fa52
Fix incorrect handling of @NotNull type parameters
...
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
Denis Zharkov
f1c68a9080
Introduce JavaTypeEnhancement component
...
It's necessary to allow using language version settings in type enancement
2020-07-22 10:16:14 +03:00
Denis Zharkov
240311d9c7
Minor. Reformat JavaNullabilityChecker
2020-07-22 10:16:14 +03:00
Dmitry Petrov
d93885e71c
Add tests for deprecated properties
2020-07-21 22:25:44 +03:00
Dmitry Petrov
e84339a0d3
JVM_IR: fields for deprecated enum entries have ACC_DEPRECATED flag
...
'Deprecated' annotation can't be applied to field itself.
2020-07-21 22:25:44 +03:00
Roman Artemev
edab3e3ba9
[PLUGIN API] Add referenceTypeAlias API to IrPluginContext
...
- attempt to fix KT-40193
2020-07-21 18:38:33 +03:00
Roman Artemev
c4b4912a71
Revert "[PLUGIN API] Make referenceClass resolve type aliases too"
2020-07-21 18:38:32 +03:00
Anton Bannykh
cb15570d75
[JS IR BE] Fix validation errors (duplicate nodes and incorrect parent)
2020-07-21 18:25:17 +03:00
Vyacheslav Gerasimov
d36d62e226
Add info about -Pteamcity to readme and make warning less annoying
2020-07-21 18:05:21 +03:00
Vyacheslav Gerasimov
a4457ba7ac
Build: Setup dependency on dist for :compiler:fir:analysis-tests:test
2020-07-21 17:24:59 +03:00
Vyacheslav Gerasimov
58ee95c8a3
Build: Add root IDE test tasks to split tests in 3 parts
2020-07-21 17:24:59 +03:00
Vyacheslav Gerasimov
036c359993
Build: Make local profile warning more visible
2020-07-21 17:24:58 +03:00
Vyacheslav Gerasimov
d9fbaadb2e
Build: Upgrade Gradle Enterprise plugin to 3.3.4
2020-07-21 17:24:58 +03:00
Roman Artemev
d7a0dbfae8
[PLUGIN API] Make referenceClass resolve type aliases too
...
- fix KT-40193
2020-07-21 15:36:31 +03:00
Leonid Startsev
a0154b9851
Add JarUtil.getJarAttribute to proguard rules
...
This method is used by serialization plugin to read runtime JAR
manifest.
Maven serialization plugin seems to use proguarded compiler
distribution,
so to use this method, it should be kept.
Size increased for about 2kb.
2020-07-21 15:10:08 +03:00
Leonid Startsev
e3f42721e9
Mute/ignore 'PROVIDED_RUNTIME_TOO_LOW' in tests
2020-07-21 15:10:08 +03:00
Leonid Startsev
df5f38fec8
Implement reading kx.serialization runtime metadata from jar manifest
...
That allows to check whether current compiler plugin can work with
a given runtime version. Implementation-Version can help to detect whether
runtime version is too low, and Require-Kotlin-Version detects whether
runtime version is too high.
Corresponding diagnostic for Require-Kotlin included.
Implement minimal runtime version check for kotlinx.serialization
plugin.
#KT-40036 Fixed
Cache result from getVersionsForCurrentModule in BindingTrace.
Hide check in the IDE, because caching in trace does not work there.
2020-07-21 15:10:08 +03:00
Leonid Startsev
7db0bf8195
Add new serialization runtime packages
...
encoding and descriptors. Rename ContextSerializer to Contextual.
Unify getClassFrom*Package functions.
2020-07-21 15:02:06 +03:00
Ivan Kylchik
8b9fb6a6cd
[FIR] Remove FirOperatorCall node from fir tree
2020-07-21 13:54:19 +03:00
Ivan Kylchik
3c01a39846
[FIR] Update test data after introducing new fir nodes
2020-07-21 13:54:17 +03:00
Ivan Kylchik
d77d733244
[FIR] Complement fir rendering with newly created nodes
2020-07-21 13:54:17 +03:00
Ivan Kylchik
9a119a6757
[FIR] Replace all necessary usages of operator call with new ones
...
#KT-38333 Fixed
2020-07-21 13:54:16 +03:00
Ivan Kylchik
def47bdd9d
[FIR] Add new equalityOperatorCall node in control flow graph
2020-07-21 13:54:15 +03:00
Ivan Kylchik
d23e9940ec
[FIR] Change fir builder to use newly created nodes
2020-07-21 13:54:15 +03:00
Ivan Kylchik
708c8b8ef3
[FIR] Create additional nodes to replace operator call in some places
...
1. FirAssignmentOperatorStatement - represent assignment operations
such as =, +=, -=, /=, %=
2. FirEqualityOperatorCall - represent boolean operations such as ==,
!=, ===, !==
#KT-38333 In Progress
2020-07-21 13:54:14 +03:00
Roman Artemev
8c4930da2e
[KLIB] Drop API which is no longer used
2020-07-21 13:15:35 +03:00
Roman Artemev
bb20e4759b
[KLIB] Use queue to track classes required fake override resolve
...
- Avoid module visiting to prevent lazy bodies loading
2020-07-21 13:15:35 +03:00
vladislavf7@gmail.com
2b0639d4ad
[FIR] Cleanup and refactoring for checkers
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
fb946a6a3f
[FIR] Move extended checkers list
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
751ed60e42
[FIR] Fix redundant visibility modifier checker
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
a8ff5d17dc
[FIR] Fix redundant modality modifier checker
...
Fixed function FirDeclaration.hasBody() and some others improvement
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
a988234bbf
[FIR] Fix redundant explicit type checker
2020-07-21 12:13:09 +03:00
Pavel Punegov
eecb43d4c9
Ignore test in Native backend
2020-07-21 11:26:57 +03:00
Ilya Gorbunov
bace1b8055
Increase stdlib-js mocha test timeouts to 10s
...
Some tests often do not fit into the default timeout when running tests
in parallel on CI.
2020-07-21 05:43:38 +03:00
Steven Schäfer
d62a6a2631
JVM IR: Do not create accessors for enum entry constructors
2020-07-20 22:37:49 +02:00
Alexander Udalov
71730696b2
JVM IR: rename JvmDeclarationFactory -> JvmCachedDeclarations
2020-07-20 22:26:11 +02:00
Alexander Udalov
c7f9dc1c40
IR: rename DeclarationFactory to InnerClassesSupport, move out of context
...
Methods of the common interface DeclarationFactory were only used in
lowerings in InnerClassesLowering, which were used in JVM and JS, not
Native. Therefore, it makes sense to have this as a separate interface
and pass its implementation to these lowerings directly, instead of
declaring it in the common context (which is not going to be implemented
in Native).
2020-07-20 22:26:11 +02:00
Alexander Udalov
cf884fb048
IR: remove JVM-specific methods from DeclarationFactory
2020-07-20 22:26:11 +02:00
Alexander Udalov
6907decd99
Report file name on exception from ASM in BinaryJavaClass
...
This is useful to diagnose cases like KT-40339
2020-07-20 22:25:55 +02:00
Matthew Gharrity
221d49a995
Set wantsDiagnostics() in AbstractFilteringTrace
...
report() already delegates to the parentTrace, so
wantsDiagnostics() should delegate to it as well.
2020-07-20 21:12:25 +03:00
Dmitry Petrov
2e31f95554
Update testData
2020-07-20 20:04:32 +03:00
Dmitry Petrov
2b9606becf
JVM_IR: field for suspend main parameter is synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
7be9b18ff4
JVM: field for suspend main parameter is synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
6bc44a366a
JVM_IR: fields for suspend lambda parameters are synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
bae6037f00
JVM: fields for suspend lambda parameters are synthetic
2020-07-20 20:04:31 +03:00
Dmitry Petrov
fa75518bd7
JVM_IR: don't skip nullability annotations on private fields
...
Unfortunately, some annotation processors rely on those annotations.
2020-07-20 20:04:31 +03:00
Dmitry Petrov
d30c67db14
JVM: don't skip nullability annotations on private fields
...
Unfortunately, some annotation processors rely on those annotations.
2020-07-20 20:04:30 +03:00
Victor Petukhov
b0ac046b05
NI: decrease fixation priority for variables which have only incorporated from upper bound constraints
...
^KT-40045 Fixed
^KT-39633 Fixed
2020-07-20 19:20:18 +03:00
Ilya Goncharov
081248f859
[Gradle, JS] Extract properties provider in KotlinJsTarget
2020-07-20 17:44:12 +03:00
Ilya Goncharov
4917643583
[Gradle, JS] Check if not both compiler
2020-07-20 17:40:52 +03:00
Ilya Goncharov
61b5a738da
[Gradle, JS] Rename flag for legacy
...
^KT-40320 fixed
2020-07-20 16:51:37 +03:00
Ilya Goncharov
e776444459
[Gradle, JS] binaries executable for legacy by default
...
^KT-40320 fixed
2020-07-20 16:51:22 +03:00
Ilya Goncharov
f7beea10a5
[Gradle, JS] Common configure should be last otherwise user settings can
...
be overwrote
^KT-40320 fixed
2020-07-20 16:51:08 +03:00
Jim Sproch
814bd48148
Keep members of com.google.common dependencies intact
...
It is a workaround for KTI-298
#KT-40354 In progress
2020-07-20 15:05:16 +03:00
Dmitriy Novozhilov
236dfe60f1
[FIR] Correctly build scopes for resolve of different parts of constructors
...
#KT-40409 Fixed
2020-07-20 14:38:17 +03:00
Dmitriy Novozhilov
94ff457e43
[FIR] Handle erroneous situation with type projection in supertype
2020-07-20 14:38:17 +03:00
Dmitriy Novozhilov
c94d583e2e
[FIR] Add substitution for inner classes to supertype resolve
...
KT-38992 Fixed
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
cf555ef2b6
[FIR] Move FirNestedClassifierScopeWithSubstitution to separate file
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
07e12f98b5
[FIR] Substitute supertypes in nested classifier scope
...
KT-38992
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
cedd1c133e
[FIR] Match type in super<type> access with actual supertypes of class
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
1ce4eca3a6
[FIR] Infer type arguments for captured parameters of inner classes
...
KT-38992
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
1c622a5a3f
[FIR] Add transformConversionTypeRef to FirTypeOperatorCall
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
1b78950ebb
[FIR] Don't transform property initializers in type resolve
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
9e94189852
[FIR] Add transformTypeParameters to FirTypeParameterRefsOwner
2020-07-20 14:38:15 +03:00
Mikhail Zarechenskiy
4083111dab
Fix SAM conversion when lambda is the last expression of another lambda
...
#KT-39691 Fixed
2020-07-20 14:30:40 +03:00
Mikhail Zarechenskiy
a15d3c76b6
Fix references to sam adapted functions, also fix lookup location
...
#KT-31025 Fixed
2020-07-20 14:30:40 +03:00
Mikhail Zarechenskiy
0c79de1a98
Prohibit adapted reference resolve against reflective types
...
There are design questions about reflection for adapted references,
so the current proposal is to prohibit reflection on them and support
it properly later
#KT-40406 Fixed
2020-07-20 14:30:39 +03:00
Vladimir Ilmov
d8de37f665
(CoroutineDebugger) using WeakReference as lastObservedFrame
...
relates to #KT-40073
2020-07-20 11:44:51 +02:00
Vladimir Ilmov
bcf1954860
(CoroutineDebugger) added support for DebugCoroutineInfoImpl in kotlinx-coroutines-core:1.3.8
...
relates to #KT-40073
2020-07-20 11:44:51 +02:00
Vladimir Ilmov
b43b238030
(CoroutineDebugger) embed agent into gradle JavaExec task
...
#KT-40417 fixed
2020-07-20 11:44:32 +02:00
Vladimir Ilmov
217428212f
(CoroutineDebugger) Refactoring of retrieving BaseContinuationImpl chains
2020-07-20 11:43:23 +02:00
Vladimir Ilmov
14766a3e1a
(CoroutineDebugger) lv 'task' added to tests in EventLoopImplBase kotlinx-coroutines-core:1.3.7
2020-07-20 11:38:01 +02:00
Vladimir Ilmov
e49f3b567b
(CoroutineDebugger) minimum supported version kotlinx-coroutines-core.1.3.8
...
Workaround for starting agent on windows removed, version upgraded in tests
#KT-40073 fixed
2020-07-20 11:38:00 +02:00
Denis Zharkov
cd896ae6c8
FIR: Implement FE 1.0 semantics for super unqualified calls
...
See original logic at org.jetbrains.kotlin.types.expressions.unqualifiedSuper.UnqualifiedSuperKt#resolveUnqualifiedSuperFromExpressionContext
^KT-39070 Fixed
^KT-39599 Related
2020-07-20 12:24:51 +03:00
Denis Zharkov
dfc75f3447
FIR: Support fake elements for light tree
2020-07-20 12:24:27 +03:00
Denis Zharkov
fea1fb0fc3
FIR: Rename FirSourceElement::withKind to fakeElement
...
And reinforce its contract
2020-07-20 12:24:27 +03:00
Denis Zharkov
376d3385d0
FIR: Handle super-receiver case in a special way
...
Before this change, it was resolved independently of containg call
But in fact, the type of `super` depends on the name of the callee
(see KT-39599 and KT-39070)
2020-07-20 12:24:27 +03:00
Jinseong Jeon
628b8b56b7
FIR2IR: convert annotations on type aliases
2020-07-20 09:40:52 +03:00
Jinseong Jeon
4e14f9500f
FIR: account for vararg when creating KFunction type for callable reference
2020-07-20 09:39:34 +03:00
Mikhail Zarechenskiy
e5e50eabe9
Update testdata after 41a0cfe002
2020-07-20 07:04:59 +03:00
Yan Zhulanow
b351556b1f
Fix testJarsWithDependenciesWithinClasses() compilation after unsuccessful cherry-pick
2020-07-20 06:10:36 +09:00
Anton Yalyshev
64aaeb52f5
Add change notes for 1.4-M1,2,3,RC builds #KT-40311 Fixed
2020-07-19 11:56:06 +03:00
Jim Sproch
a4a398239b
Fallback to fileEntry provided by irFile
2020-07-18 11:16:09 +03:00
Georgy Bronnikov
c901e82a55
IR: add IrSimpleFunction.isInfix
2020-07-18 11:03:33 +03:00
Ivan Gavrilovic
8e4bc06b3c
Create a valid jar in KaptIncrementalWithIsolatingApt test
2020-07-18 05:06:16 +09:00
Ivan Gavrilovic
77ba9a1bbb
KT-34604: Fix race condition in KAPT
...
KAPT was relying on clearing JarFileFactory to make sure
annotation processing does not hold onto annotation processing
classpath once done. Once KAPT switched to using Gradle workers, multiple
KAPT runs were sharing the same class loader ie. the same version
of JarFileFactory. Clearing the cache resulted in race condition,
as some runs were unable to load processors from jars.
This commit fixes this problem by avoiding the use of ServiceLoader
which was causing the issue. Jars would be added to the cache, but
they would never be removed. That's why JarFileFactory had to be
clearned manually. By loading the processor names manually (simply
exploring the classpath), no file handles leak.
Fixes https://youtrack.jetbrains.com/issue/KT-34604
Test: verified against the test project from the bug
2020-07-18 05:06:15 +09:00
Ivan Gavrilovic
111a2ece72
KAPT: Fix error reporting
...
When incremental analysis is unable to run, handle
failure gracefully. More info will be provided by
compiler diagnostics.
Fixes KT-36302
2020-07-18 05:06:15 +09:00
Ivan Gavrilovic
11251a93ac
KAPT: Fix serialization of class structure data
...
When serializing ClasspathEntryData, ids assigned to types were
incorrect, resulting in corrupt data when deserializing files. This
happened if there were dependencies between classes.
Fixes KT-39876
Test: ClasspathAnalyzerTest
2020-07-18 05:06:15 +09:00
Jim Sproch
ccbb2eaba9
Make linker visible to compiler plugins
2020-07-17 21:18:07 +03:00
Toshiaki Kameyama
80e4e7939d
"Create abstract function" quick fix: don't suggest it if super classes are not writable
...
#KT-40215 Fixed
2020-07-17 19:35:02 +03:00
Vladimir Ilmov
0c832e30bf
(CoroutineDebugger) Memory leak fixed on IDEA quit: 'org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView
...
#KT-40386 fixed
2020-07-17 18:01:30 +02:00
Dmitriy Dolovov
6de848a15c
[Commonizer] Introduce success marker file in Gradle task
...
The success marker file is written to the disk only upon successful
commonization. If something goes wrong, this file is not written to
the disk. So the subsequent call of 'runCommonizer' task will be
considered not up-to-date.
^KT-40120
2020-07-17 22:09:08 +07:00
Dmitriy Dolovov
178b5db8de
[Commonizer] More precise up-to-date checks in Gradle task
...
Don't annotate the whole 'distributionDir' with @InputDirectory.
The contents of the distribution directory may grow over time due to
compilation cache and new commonized libraries.
Don't annotate 'baseDestinationDir' with @InputDirectory. The base
destination directory may contain numerous subdirectories with the
libraries produced for different combinations of commonized targets.
This means that the contents of the base directory will grow over time.
Use more precise directory up-to-dateness checks:
* Annotate the directory with the original common libraries
(i.e. 'stdlib') as @InputDirectory.
* Annotate the directory with the original platform libraries
(all targets altogether) as @InputDirectory.
* For each combination of commonized targets mark the list of the
directories with resulting libraries as @OutputDirectories.
^KT-40120
2020-07-17 22:09:08 +07:00
Sergey Igushkin
d3f9f4f3e8
Fix stdlib-by-default failures when configuration has been resolved
...
Issue #KT-38221
2020-07-17 18:36:08 +04:00
Ilya Kirillov
dccac34282
J2K: do not run runUndoTransparentAction outside EDT
...
#KT-39739 fixed
2020-07-17 16:02:46 +03:00
Ilya Kirillov
d16f246375
Wizard: do not add stdlib for gradle based projects
...
#KT-40407 fixed
2020-07-17 16:02:44 +03:00
Ilya Kirillov
d2113766e1
Wizard: do not add NPM dependencies for Kotlin/JS wrappers
...
Those dependencies are included now into corresponding libraries
#KT-40377 fixed
2020-07-17 16:02:42 +03:00
Ilya Kirillov
9f5dd59d75
Wizard: do not add test task for JS when no test framework is chosen
...
#KT-40378 fixed
2020-07-17 16:02:40 +03:00
Ilya Kirillov
0208fad057
Wizard: do not allow to choose Frontend Application template & JS Library at the same time
...
#KT-40371 fixed
2020-07-17 16:02:39 +03:00
Ilya Kirillov
fdc06b2c1c
Wizard: fix Android SDK path on Windows
...
#KT-40232 fixed
2020-07-17 16:02:38 +03:00
Pavel Kirpichenkov
a153e7fe30
Changes after review
...
#KT-37219
2020-07-17 15:27:37 +03:00
Mikhail Zarechenskiy
10bd3a11b8
Improve message about compatibility warning a bit
...
Relates to #KT-40111
2020-07-17 14:27:20 +03:00
Mikhail Zarechenskiy
fcf7a55ccc
Fix delegated property resolve on number literals and proper types
...
There is no need to update type of delegate expression if it's already
resolved correctly (doesn't include non-proper types). In almost all
cases it was fine except number literals as there we didn't box
expression in backend and got problems at bytecode verification stage
#KT-40057 Fixed
2020-07-17 14:27:20 +03:00
Yunir Salimzyanov
e5bca3ce29
Enable execution of muted on database tests marked as FLAKY (KTI-288)
...
It became possible to do, because all the muted flaky tests are now
synchronized with TeamCity and muted there too
2020-07-17 14:01:23 +03:00
Alexander Dudinsky
27e7116f60
Added the gradle plugin SNAPSHOT version support for some tests.
...
`ImportAndCheckNavigation` and `GradleMultiplatformHighlightingTest` now
use the SNAPSHOT version of the gradle plugin also.
2020-07-17 13:55:25 +03:00
Mikhail Glukhikh
80022cccd9
[FIR] Introduce & use processOverriddenPropertiesWithDepth
2020-07-17 12:46:02 +03:00
Jinseong Jeon
13ef97e51e
FIR2IR: set proper visibility of backing fields with @JvmField
2020-07-17 12:42:11 +03:00
Jinseong Jeon
f3475fd098
FIR2IR: store and convert annotations on enum entry
2020-07-17 09:48:45 +03:00
Vladimir Dolzhenko
a1ffc0b25a
Handle standalone gradle scripts before (build|settnings|init).gradle.kts
...
#KT-39916 Fixed
2020-07-17 05:36:02 +00:00
Mikhail Zarechenskiy
a6e58edfb9
Update test data, unmute test
...
Now behavior is the same as in OI for these cases.
The behavior was changed in 100a6f70ca
2020-07-17 07:47:15 +03:00
Abduqodiri Qurbonzoda
a05681001f
Mark with @DeprecatedSinceKotlin #KT-22423 and #KT-28753
2020-07-17 02:39:20 +03:00
Ilya Gorbunov
87cb6372a0
Specify DeprecatedSinceKotlin for recently deprecated min/max funs
...
#KT-38854
2020-07-16 22:58:25 +03:00
Ilya Gorbunov
a9f4479557
Add stdlib-gen DSL support for DeprecatedSinceKotlin annotation
2020-07-16 22:58:25 +03:00
Vladimir Dolzhenko
5eb0242941
Add missed application component PluginStartupComponent for AS40
...
Relates to #KTI-299
2020-07-16 21:01:26 +02:00
Shagen Ogandzhanian
fa1e3169df
Update dukat dependency to 0.5.7
2020-07-16 18:19:36 +02:00
Mikhail Glukhikh
026a6ffab2
FirUpperBoundViolatedChecker: code cleanup
2020-07-16 19:09:33 +03:00
Nick
1ea5678932
[FIR] UPPER_BOUND_VIOLATED optimizations
2020-07-16 19:04:29 +03:00
Nick
41a0cfe002
[FIR] Add diagnostic UPPER_BOUND_VIOLATED
2020-07-16 19:04:22 +03:00
Toshiaki Kameyama
b9a220c624
AddSuspendModifierFix: suggest in inline lambda
...
#KT-38139 Fixed
2020-07-16 18:49:29 +03:00
Vyacheslav Karpukhin
982f429d6b
Moved the IdeaDefaultIdeTargetPlatformKindProvider declaration from jps.xml back to jvm-common.xml
2020-07-16 16:38:56 +02:00
Igor Chevdar
3c4f0d3c9e
[box-tests] Added test
2020-07-16 19:23:03 +05:00
Igor Chevdar
8bbbee8ffd
[IR] Supported IrFunctionExpression in ClosureAnnotator
...
It may be encountered during local classes extraction from inline lambdas
2020-07-16 19:23:02 +05:00
Alexander Udalov
c9fdef8233
IR: use buildField where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
2d723f1c51
IR: use buildClass where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
5b1193407a
IR: use buildConstructor where possible
2020-07-16 16:09:31 +02:00
Alexander Udalov
6aa09f61d4
IR: use buildFun where possible
2020-07-16 16:09:30 +02:00
Alexander Udalov
39e38c7049
IR: introduce buildVariable, use where possible
2020-07-16 16:09:30 +02:00
Alexander Udalov
c3560e5854
IR: use buildTypeParameter, minor cleanup
2020-07-16 16:09:30 +02:00
Alexander Udalov
4b5464c6cc
IR: introduce buildReceiverParameter, use where possible
2020-07-16 16:09:30 +02:00
Alexander Udalov
b36a6114aa
IR: use buildValueParameter where possible
2020-07-16 16:09:29 +02:00
Vladimir Ilmov
378d0a757a
DebuggerClassNameProvider refactoring
2020-07-16 16:05:01 +02:00
Alexander Dudinsky
f6a16c5203
Move some tests from common mute database to platforms specific
2020-07-16 15:43:01 +03:00
Victor Petukhov
e754585e38
NI: add fallback strategy to get lexical scope to checking coroutine call legality
...
^KT-40247 Fixed
^KT-40337 Fixed
2020-07-16 15:33:27 +03:00
Vladimir Dolzhenko
5951e7500a
Register KOTLIN_BUNDLED via application component in 193
...
#KTI-299 Fixed
2020-07-16 12:32:52 +00:00
Vladimir Dolzhenko
345528d8f5
Use public api to register KOTLIN_BUNDLED macros
...
Relates to #KT-39968
2020-07-16 12:32:51 +00:00
vladislavf7@gmail.com
ab2128f55d
[FIR] extended checkers infrastructure refactoring
...
Removed strange way to enable Extended Checkers and add new way to do it
2020-07-16 15:11:32 +03:00
vladislavf7@gmail.com
38543ce2a3
[FIR] add way to configure session in Diagnostic Tests
2020-07-16 15:11:32 +03:00
Svyatoslav Kuzmich
609f0ca9bc
[JS IR] .d.ts generation for module systems
...
Support .d.ts generation for UMD, AMD, CommonJS module kinds in
addition to existing "plain" module kind.
2020-07-16 14:02:06 +03:00
nataliya.valtman
ee23e39b3c
KT-37720 replace FileSystemLocation with File for TransformAction
2020-07-16 13:39:55 +03:00
Yunir Salimzyanov
63ba883a77
Refactoring of muteWithDatabase
...
- remove unused function RunNotifier.withMuteFailureListener
- inline some functions (isIgnoredInDatabaseWithLog, etc.)
- change declaration of mutedMessage
- change naming of AutoMute related functions
- extract to separate function isPresentedInDatabaseWithoutFailMarker
2020-07-16 13:16:41 +03:00
Roman Golyshev
fb9b3f96de
KT-40301 Add more diagnostics for 'Module is not contained in resolver'
...
- See [EA-214260](https://ea.jetbrains.com/browser/ea_problems/214260 )
2020-07-16 10:14:22 +00:00
Roman Golyshev
8fd16f4a39
Add contract to checkWithAttachment
...
- This way it is more convenient to use with null checks
2020-07-16 10:14:21 +00:00
Ilya Muradyan
0ff45f1cc4
Merge pull request #3544 from JetBrains/rr/ileasile/scopes-resolver-option
...
Add dependency scopes option for scripting (Ivy and Maven) resolvers
2020-07-16 13:03:01 +03:00
Vyacheslav Gerasimov
628efcb189
Build: Add kotlin.build.dependencies.iu.enabled property
...
Alias for intellijUltimateEnabled
2020-07-16 13:00:25 +03:00
Vyacheslav Gerasimov
996e529944
Build: Allow intellijUltimateEnabled without kotlin-ultimate directory
...
This allows to build against idea ultimate locally
2020-07-16 13:00:24 +03:00
Vyacheslav Gerasimov
34c1316ae0
Build: Enable local build cache with org.gradle.caching=true
2020-07-16 13:00:24 +03:00
Vyacheslav Gerasimov
2e7cb2b829
Build: Enable parallel builds with org.gradle.parallel=true
2020-07-16 13:00:24 +03:00
Jinseong Jeon
50f1f8f0eb
FIR: consider more functional types during SAM resolution
2020-07-16 12:56:18 +03:00
Jinseong Jeon
d66c6c7e1e
FIR serializer: transform KSuspendFunction types too
2020-07-16 12:56:18 +03:00
Ivan Kylchik
85e822e283
[FIR] Support smartcast after reference equality check
...
#KT-39000 Fixed
2020-07-16 12:43:55 +03:00
vladislavf7@gmail.com
63f7e95c89
[FIR] Add RedundantExplicitTypeChecker
2020-07-16 12:39:13 +03:00
Yunir Salimzyanov
3c798502c8
Synchronize muted TeamCity tests with database for .bunch configurations
2020-07-16 11:04:59 +03:00
Jinseong Jeon
c7a37eb6b2
FIR deserializer: load annotations on extension receiver parameters
2020-07-16 10:42:51 +03:00
Dmitriy Dolovov
02f08b16d6
[Commonizer] Ignore CallableDescriptor.hasSynthesizedParameterNames attribute
2020-07-16 14:26:37 +07:00
Mikhail Zarechenskiy
100a6f70ca
Relax rules about inferring to Nothing for special calls
...
#KT-37388 Fixed
#KT-38427 Fixed
#KT-39953 Fixed
#KT-38899 Fixed
2020-07-16 09:56:46 +03:00
Anton Bannykh
e45cd02b01
KLIB: add EmptyPackageFragment's to fix ModuleDescritor.getSubPackagesOf
2020-07-15 20:42:23 +03:00
Abduqodiri Qurbonzoda
d2c9fc41f1
Replace @LowPriorityInOverloadResolution with @DeprecatedSinceKotlin #KT-37101
2020-07-15 20:36:57 +03:00
Abduqodiri Qurbonzoda
4ac1b7748a
Advance bootstrap to 1.4.20-dev-2133
2020-07-15 20:36:56 +03:00
Roman Artemev
cd9f59325e
[KLIB] Fix deserialization of anonymous classes
...
In case of initializing property or function with anonymous object the
object is being exposed outside its field/function's scope and
accessible on previous level. In this case in `declarations only` mode
we have unbound symbols. Fix is to force body/initializer loading in
such cases.
Make sure it is deserialized in `declarations'only` mode too.
- Fix KT-40216
- Add test
2020-07-15 18:23:29 +03:00
Roman Artemev
d31de6c8de
[Psi2IR] Improve assertion message
2020-07-15 18:23:28 +03:00
Alexander Dudinsky
d89083cd8c
Fixup the tests vs master-gradle-plugin
...
Defined 4.0 and 1.3.0 as default versions of Gradle and plugin for PluginTargetVersions
Use `{{kotlin_plugin_repositories}}` template in testData of ImportTests
Update "mute" databases for new tests
Add `kotlin.stdlib.default.dependency=false` to some testData
2020-07-15 17:10:36 +03:00
Andrey Uskov
005314ce06
Support running import tests on bootstrap version of gradle plugin
2020-07-15 17:09:36 +03:00
Victor Petukhov
b0c96a61ec
Don't try to infer postponed variables on lambdas without BuilderInference annotation
...
^KT-39618 Fixed
2020-07-15 16:19:43 +03:00
nataliya.valtman
9e737156dd
KT-37720 Replace ArtifactTransform with TransformAction
2020-07-15 15:57:54 +03:00
Andrei Klunnyi
b9585dabd4
KT-32368 Rework Inline hints settings // fix QuickFixTestGenerated$AutoImports.testKt17525
2020-07-15 13:25:00 +02:00
Andrei Klunnyi
1639cadbb7
KT-32368 Rework Inline hints settings // remove non-existent ReturnHintLinePainter
2020-07-15 13:00:16 +02:00
Jinseong Jeon
30b91b128a
FIR: adjust type of integer operator call as property initializer
2020-07-15 13:56:40 +03:00
Mikhail Glukhikh
ddd26de139
FirTypeIntersectionScope: extract 'createIntersectionOverride'
2020-07-15 13:36:31 +03:00
Mikhail Glukhikh
9934f7d56e
[FIR TEST] Add test for KT-40327
2020-07-15 13:36:31 +03:00
Mikhail Glukhikh
92d40c27e2
FirBasedSignatureComposer: build signature even for private classes
...
FIR2IR assumes that we can build signature for any non-local class.
Later we can drop this assumption.
2020-07-15 13:36:31 +03:00
Mikhail Glukhikh
07b0ffef84
[FIR] Introduce & use remapArgumentsWithVararg
2020-07-15 13:36:30 +03:00
Jinseong Jeon
5c4f978073
FIR: transform arrayOf call with empty arguments
2020-07-15 13:36:30 +03:00
Jinseong Jeon
db9d42c153
IrConstTransformer: handle vararg with spread elements properly
2020-07-15 13:36:30 +03:00
Jinseong Jeon
5600eefea5
FIR: add support for varargs in annotation calls
2020-07-15 13:36:30 +03:00
Jinseong Jeon
4e6bd33eca
FIR: create argument mapping for annotation call in general
2020-07-15 13:36:30 +03:00
Jinseong Jeon
1a861b2df9
FIR2IR: don't create synthetic class for enum entry w/o members
2020-07-15 13:36:30 +03:00
Juan Chen
2ea3579281
[FIR] add support for generic cases of delegation by implementation
...
Add type parameters for generic delegated members and type
substitution when implementing instantiated super interfaces.
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
93632d2a18
FIR declaration transformer: unwrap synthetic property accessor properly
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
031f03a903
Introduce FirDeclarationOrigin.INTERSECTION_OVERRIDE
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
9107944b05
FirSyntheticProperty: take returnTypeRef directly from delegate
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
e2678149cb
FirClassSubstitutionScope: fix overridden symbols traversing
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
10a1d5c03b
FirTypeIntersectionScope: add intersection overrides caching
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
c1d223dbde
FirTypeIntersectionScope: enhance support of inherited default parameters
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
c46fac3464
FirTypeIntersectionScope: support inherited default parameters
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
7a2ea49399
FirTypeIntersectionScope: introduce "intersection" fake overrides
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
5a422b5ef6
FirTypeIntersectionScope: optimize/cleanup processOverriddenFunctions
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
1bbed6c4ed
[FIR2IR] Use FIR-specific methods to search for overridden functions
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
59cc9d4bc6
[FIR] Introduce FirTypeScope.processOverriddenFunctionWithDepth
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
8a29021aad
[FIR2IR] Make data class synthetic members public API
2020-07-15 13:36:27 +03:00
Mikhail Glukhikh
521901f09a
[FIR2IR] Cache type parameters for existing IR classes properly
...
Before this commit, we just recreated class header
for external IR class found by signature. However, it's not required,
because super-types, type parameters, etc. are already initialized.
So now we just read type parameters and build cache for them.
2020-07-15 13:36:27 +03:00
Victor Petukhov
d2f5fbdd08
Fix failing on AS test with inserting -Xinline-classes to build script
2020-07-15 13:35:16 +03:00
Kirill Shmakov
c8b3e622f1
Fix typo in field name
2020-07-15 10:52:42 +03:00
vladislavf7@gmail.com
d96772444e
[FIR] Fix redundant visibility checker
2020-07-15 09:42:30 +03:00
Dmitry Savvinov
9b8128aaa8
Coerce commonTest to common in HMPP
...
Otherwise, Android import won't add dependency from androidTest to
commoonTest. See KT-38744 for details
^KT-38744 Fixed
2020-07-15 11:18:34 +07:00
Ilya Muradyan
1ac9b4c38f
Add dependency scopes option for scripting resolvers
2020-07-14 23:42:00 +03:00
Vyacheslav Gerasimov
742b98bed6
Build: Fix stdlib-js-ir commonMainSources task dependency on version
2020-07-14 20:29:11 +03:00
vladislavf7@gmail.com
fb5fb44993
[FIR] Add RedundantModalityModifierChecker
2020-07-14 19:56:41 +03:00
Vyacheslav Gerasimov
e7c88a4349
Build: Add KotlinVersionCurrentValue to runtime classpath normalization
...
To avoid cache misses between local and remote build
2020-07-14 17:51:45 +03:00
Vyacheslav Gerasimov
e215d94b7b
Build: Fix JavaExec task configuration
...
Setting some properties is not allowed in doFirst anymore in Gradle 6.5
2020-07-14 17:51:45 +03:00
Victor Petukhov
bf23b39d76
Add using -Xinline-classes by default in IDE intentions
...
^KT-34209 Fixed
2020-07-14 17:43:44 +03:00
Pavel Kirpichenkov
79d7babb57
Add test checking file annotations resolution
...
#KT-37219 Fixed
2020-07-14 17:07:42 +03:00
Nikolay Krasko
36a46482c5
Unmute IdeReplCompletionTestGenerated.testDefinedExtension in 202
...
Lost this line from 16c5ba0988
during the mute-platform.csv.202 creation.
2020-07-14 17:05:30 +03:00
Natalia Selezneva
5954fe528b
gradle.kts: do not return ErrorScriptDefinition into GradleBuildRootManager
...
In this case script definition is saved into script info,
but only real script definitions should be cached
In case of null script configurations will be reloaded into cache when scriptdefinitions will be ready
^KT-39910 Fixed
2020-07-14 15:30:21 +03:00
Natalia Selezneva
3e3f8aeb93
Mark importing as complete in case of some unexpected behavior
...
For example in case when script contains some errors gradleHome might be null
Then build root should be marked as updated
Also notification should be updated
2020-07-14 15:30:20 +03:00
Ilya Goncharov
2c67ab924f
[Gradle, JS] this globalObject in webpack
...
^KT-40159 fixed
2020-07-14 14:42:26 +03:00
Andrei Klunnyi
93a82060d4
KT-39788 MPP, Gradle runner: Run does not add resource directory to classpath // gradle runner support
...
Before this commit "delegate to Gradle" option was not taken into
consideration. Was it MPP or SPP, KotlinRunConfiguration was always
executed by platform runner (as a default one). The reason behind this
was that there was no dedicated class (extension point) responsible for
Gradle-Kotlin pair. Now its KotlinGradleAppEnvProvider.
2020-07-14 11:24:59 +00:00
Andrei Klunnyi
681c2e9492
KT-39788 MPP, Gradle runner: Run does not add resource directory to classpath // classpath fix
...
The reason of resource directory absence was that it couldn't be loaded
from the project configuration file. Just after the import it remained
in the memory and runner couldn' get it. KotlinOutputPathsDataService as
a pair to KotlinOutputPaths is what was missing. Details are provided
below.
------------------------------------------------------------------------
On a disk configuration represents a binary file containing serialized
graph of external project structure. It contains nodes belonging to both
IDEA and its plugins.
To deserialize a node IDEA tries to load its class using a chain of
class-loaders: its own and those provided by actual set of plugins.
The nuance is how to get plugins' ones. The approach is the following.
There is an association between a node's payload and a service which is
supposed to consume it see KotlinOutputPathsDataService#getTargetDataKey
and DataNode#getKey). Plugin services are guaranteed to be loaded by
plugin class loader.
No association - service - no plugin, node was just skipped.
------------------------------------------------------------------------
2020-07-14 11:24:58 +00:00
Ilya Muradyan
07b566dd02
Add @JvmDefault for getPossibleSyntheticNestedClassNames
2020-07-14 14:17:58 +03:00
Zalim Bashorov
340512e27a
[KJS] Throw exception on recursive types provided to typeOf and provide proper support later within KT-40173
...
#KT-38140 fixed
2020-07-14 14:14:13 +03:00
Zalim Bashorov
c552933459
[Test infra] Take into account transitive compatible targets while checking compatibility.
2020-07-14 14:14:12 +03:00
Zalim Bashorov
ca37c6bfe6
[KJS FE] Allow using typeOf with non-reified type parameters
...
#KT-38771 fixed
2020-07-14 14:14:11 +03:00
Ilya Goncharov
9d362875da
[Gradle, JS] Fail build in case when mpp or js targets not configured
...
^KT-40210 fixed
^KT-40300 fixed
2020-07-14 13:59:00 +03:00
Sergey Igushkin
62aed1b53a
Add kotlin.stdlib.default.dependency=false to avoid stdlib default dep
2020-07-14 14:47:40 +04:00
Sergey Igushkin
ad9d011ed0
Fix stdlib default dependencies with Android
...
* In Android test-related source sets, add an implementation dependency,
not an api one, because adding dependencies to the api configurations
leads to warnings from AGP
* Add the default stdlib dependency only to the Android main source set,
as duplicating it elsewhere leads to issue with publishing the project
with the `maven` plugin (duplicate conf2ScopeMappings)
2020-07-14 14:47:16 +04:00
Sergey Igushkin
d83d3304a5
KT-38221: Stdlib by default; KT-40225 Single dependency on kotlin-test
...
* Add a DSL property `kotlin.coreLibrariesVersion` that is used as the
default version for all org.jetbrains.kotlin dependencies instead of
the plugin version used previously – the pluging version is the
default now.
* Support omitting the `kotlin-stdlib-*` dependencies in all kinds of
projects. For the JVM source sets, choose the stdlib module by
checking the jvmTarget in the compilations – if all compilations
target 8+ then use `kotlin-stdlib-jdk8`.
* Support adding a single dependency on the fake module
`kotlin-test-multiplatform` that is later expanded into the
appropriate dependencies on `kotlin-test-*` modules. For JVM source
sets, detect the test framework by inspecting the test tasks.
* (minor) Fix _executionSource not updated in KotlinJvmTestRun
* (minor) Lazily query `kotlinUsageContext`'s dependency-related
properties to avoid freezing the configurations
Issue #KT-38221 Fixed
Issue #KT-40225 Fixed
2020-07-14 14:47:13 +04:00
Ilya Goncharov
49c8d99f61
[Gradle, JS] Resolution of compilation's configurations inside NPM conf
...
^KT-40201 fixed
2020-07-14 13:13:45 +03:00
Ilya Goncharov
40311dbe05
[Gradle, JS] Fix test on public package json with dependencies
...
^KT-40201 fixed
2020-07-14 13:13:35 +03:00
Ilya Goncharov
c5f89ebc0d
[Gradle, JS] Add dev dependencies into public package json
...
^KT-40201 fixed
2020-07-14 13:13:18 +03:00
Mikhail Zarechenskiy
bb23556ead
Don't perform Unit-conversion for functional types with type variables
...
#KT-40269 Fixed
2020-07-14 13:05:28 +03:00
Mikhail Zarechenskiy
09b44b3189
Fix rewrite at slice exception for callable references inside flatMap
...
#KT-40254 Fixed
2020-07-14 13:05:28 +03:00
Andrei Klunnyi
1e4c554bcd
KT-32368 Rework Inline hints settings // compatibility with earlier IDEA versions
2020-07-14 10:03:51 +00:00
Andrei Klunnyi
604e270a73
KT-32368 Rework Inline hints settings // preview text
2020-07-14 10:03:50 +00:00
Andrei Klunnyi
7a69cf587e
KT-32368 Rework Inline hints settings // HintType cleanup
2020-07-14 10:03:50 +00:00
Andrei Klunnyi
d6692a8062
KT-32368 Rework Inline hints settings // flattern parameter name hints menu
2020-07-14 10:03:49 +00:00
Andrei Klunnyi
be0cde1d70
KT-32368 Rework Inline hints settings // remove suspending call hints
...
Suspending call hints were removed according to KT-30928 and KT-39271.
2020-07-14 10:03:48 +00:00
Andrei Klunnyi
49d4f55c87
KT-32368 Rework Inline hints settings // special case for lambda hints
...
Lambda hints are placed at the end of a line in such a way that user
can't move the caret behind it. Unfortunately, hint provision
infrastructure doesn't take this detail into account.
As a workaround, KotlinLambdasHintsProvider now returns an empty result
(sink) to the outer infrastructure and accesses editor's inlay model
itself.
2020-07-14 10:03:48 +00:00
Andrei Klunnyi
d1722e3975
KT-32368 Rework Inline hints settings // migrate tests for types
...
KotlinReferencesTypeHintsProvider which in now responsible for
type hints is not compatible with the existing
InlayTypeHintsTest. Because of that tests were migrated to the new
infrastructure.
2020-07-14 10:03:47 +00:00
Andrei Klunnyi
36f3431559
KT-32368 Rework Inline hints settings // migrate tests for suspending calls
...
KotlinSuspendingCallHintsProvider which in now responsible for
suspending call hints is not compatible with the existing
SuspendingCallHintsTest. Because of that tests were migrated to the new
infrastructure.
2020-07-14 10:03:47 +00:00
Andrei Klunnyi
b0dece756a
KT-32368 Rework Inline hints settings // migrate tests for lambdas
...
KotlinLambdasHintsProvider which in now responsible for lambda related
hints is not compatible with the existing LambdaReturnValueHintsTest.
Because of that tests were migrated to the new infrastructure.
2020-07-14 10:03:46 +00:00
Andrei Klunnyi
5fe1eaea17
KT-32368 Rework Inline hints settings // remove outdated KotlinCodeHintsPass
...
Some time ago platform couldn't place hints at the end of a line.
This is how KotlinCodeHintsPass appeared. Class was responsible for
lambda related hints. Now that platform evolved functionality was moved
to KotlinLambdasHintsProvider.
2020-07-14 10:03:45 +00:00
Andrei Klunnyi
533507de25
KT-32368 Rework Inline hints settings // split KotlinInlayParameterHintsProvider
...
Platform supports 2 interfaces for inlay hints providers:
- InlayParameterHintsProvider [1]
- InlayHintsProvider [2]
KotlinInlayParameterHintsProvider as an implementation of (1) and a
source of "Inlay Hints" menu has the following limitations:
- Platform treats component as a source of "Parameter hints" submenu
that cannot be split. Once can only add or remove its nested checkboxes.
- Only a single instance of (1) can be defined.
To have a separate menu items for "Inlay Hints" existing
KotlinInlayParameterHintsProvider was split. New providers
implementing (2) were extracted from it:
- KotlinReferencesTypeHintsProvider
- KotlinSuspendingCallHintsProvider
- KotlinLambdasHintsProvider
TODO: HintType move as a separate commit
2020-07-14 10:03:45 +00:00
Sergey Igushkin
5ec93fd74c
Fixup for the fix of KT-39809
...
In the original fix for KT-39809, the Kapt plugin was not given a proper
empty implementation stub: it was added to `Kapt3GradleSubplugin`, while
originally the Kapt subplugin's META-INF/services entry pointed to
`Kapt3KotlinGradleSubplugin`.
This commit makes the correct class implement the legacy interface.
Issue #KT-39809 Fixed
2020-07-14 13:09:26 +04:00
Sergey Igushkin
4c273e1fc5
Fix resolving dependency on self in HMPP (KT-39037)
...
Apply a workaround for grade/gradle#13680
Issue #KT-39037 Fixed
2020-07-14 13:09:24 +04:00
Sergey Igushkin
aebca19fd7
Fix resolving an MPP dependency in custom configurations (KT-32239)
...
In the `KotlinPlatformType` disambiguation rule, don't prefer `common`
when there's a `jvm` or an `androidJvm` variant, as this would conflict
with disambiguation rules created by the other plugins, such as Gradle's
`java` which will choose `org.gradle.usage=java-api` and lead to
ambiguity.
Issue #KT-32239 Fixed
2020-07-14 13:09:22 +04:00
Mikhail Zarechenskiy
8158ba2be3
Add tests for obsolete issues
...
#KT-32183 Obsolete
#KT-31474 Obsolete
#KT-31853 Obsolete
2020-07-14 11:23:57 +03:00
Ilya Matveev
19dc3f071c
Gradle, native: Enable assertions for in process compiler execution
...
Issue #KT-39764 fixed
2020-07-14 08:18:00 +00:00
vladislavf7@gmail.com
275ce16faa
[FIR] add RedundantReturnUnitTypeChecker
2020-07-14 10:05:28 +03:00
Dmitry Savvinov
5c88b1e80a
Allow depending on Native stdlib even if platforms do not match under HMPP
...
^KT-40102
2020-07-14 12:49:59 +07:00
Dmitry Savvinov
21026001db
Add logging into ideaModelDependencies
2020-07-14 12:49:59 +07:00
Ilya Gorbunov
010e530ac4
Make common KClass extend common KClassifier
...
It already does that in all platforms.
Add KClass common API test.
2020-07-13 23:20:52 +03:00
Florian Kistner
1878ae8222
Don't apply copyright notice to Kotlin Ultimate
...
* Previous attempt apparently no longer effective
* Cover a few additional strangling files
2020-07-13 19:42:04 +02:00
Florian Kistner
ce39b75cc8
Don't apply copyright notice to Kotlin Ultimate
...
* Previous attempt apparently no longer effective
2020-07-13 19:37:38 +02:00
Ilya Goncharov
bbb3032e1c
[Gradle, JS] Rename package-candidate.json to pre-package.json
...
^KT-39515 fixed
2020-07-13 19:32:29 +03:00
Ilya Goncharov
6a0315fe7a
[Gradle, JS] force write package json in all cases
...
^KT-39515 fixed
2020-07-13 19:32:29 +03:00
Ilya Goncharov
b4a774e821
[Gradle, JS] Use package.json candidate
...
^KT-39515 fixed
2020-07-13 19:32:29 +03:00
Ilya Goncharov
8586d5e206
[Gradle, JS] Small refactoring of yarn imported
...
^KT-39515 fixed
2020-07-13 19:32:28 +03:00
Konstantin Tskhovrebov
cfd91023be
Add native targets check to "isAllowCommonizer" method.
...
#KT-40164 Fixed.
2020-07-13 19:31:08 +03:00
Ilya Goncharov
797449f7e4
[Gradle, JS] Add TC client on TC output handler for browser run task
...
^KT-40178 fixed
2020-07-13 19:25:04 +03:00
Nikolay Krasko
943d012875
Fix comparison for SdkAndMockLibraryProjectDescriptor
...
There's no known problems connected with this change, but wrong
comparison might cause tests flakiness.
`allowKotlinPackage` and `classpath` fields were not included.
2020-07-13 17:58:04 +03:00
Nikolay Krasko
0db7806dec
Use test classpath for annotations.jar search
...
Got unstable behaviour in 202 test because of setting
idea.home.path during the compiler execution.
2020-07-13 17:58:03 +03:00
Yaroslav Chernyshev
07e3dd9ec7
[Gradle, Cocoapods] Fixed bug in scheme name for pods
2020-07-13 16:37:37 +03:00
Nick
67e58ff152
[FIR] Fix redundant calls to firEffectiveVisibility()
2020-07-13 16:30:47 +03:00
Alexander Udalov
5340cf5567
Add property kotlin.build.useIR to enable JVM IR in Kotlin build
...
Right now this is only supposed to be turned on locally (`./gradlew
-Pkotlin.build.useIR=true ...`), to be able to quickly try how JVM
IR-compiled Kotlin compiler works.
2020-07-13 14:38:22 +02:00
Alexander Udalov
9c36c74357
Build: do not pass JVM compiler arguments to common KotlinCompile
2020-07-13 14:38:22 +02:00
Kristoffer Andersen
8d79a6ae03
[JVM IR] Copy inline class constructor annotations
2020-07-13 11:50:34 +03:00
Mikhail Zarechenskiy
678b76cab1
Fix presence of Deprecated hidden annotation for reference arguments
...
#KT-40234 Fixed
2020-07-13 11:23:28 +03:00
Ilya Matveev
c2e0cd60d7
Gradle tests: Temporary disable NativePlatformLibsIT for Windows
...
This test causes a build timeouts on CI which cannot be reproduced
locally. So we disable them to not block the testing process until
a proper fix is found.
2020-07-13 07:48:35 +00:00
Dmitry Savvinov
3ef760604b
Force expansion to have the same nullability as abbreviation
...
Note that classifier.underlyingType is always non-nullable, but
abbreviation might be nullable, so we should keep them consistent
^KT-40199 Fixed
2020-07-13 11:50:10 +07:00
Dmitry Savvinov
8890ae10d4
Add test on signatures with nullable abbreviated types
...
Currently test fails, see KT-40199
2020-07-13 11:50:10 +07:00
Natalia Selezneva
e0bc54cd82
gradle.kts: update notification messages after proofreading
2020-07-12 22:37:45 +03:00
Mikhail Glukhikh
8005df42fb
[FIR] Make redundant visibility modifier a warning
2020-07-11 10:45:33 +03:00
Mikhail Glukhikh
5276903bea
Fix code style: DeclarationCheckersDiagnosticComponent
2020-07-11 10:45:33 +03:00
Mikhail Glukhikh
aee49c3fde
[FIR TEST] Add forgotten txt-file for redundant visibility checker test
2020-07-11 10:45:32 +03:00
vladislavf7@gmail.com
be684c784f
[FIR] Introduce extended checkers for inspection-like diagnostics
2020-07-11 10:45:32 +03:00
vladislavf7@gmail.com
4643d483a0
[FIR] Introduce RedundantVisibilityModifierChecker
2020-07-11 10:45:10 +03:00
Ilya Muradyan
510ac66ce1
Fix tests generation after upgrading Gradle to 6.5
2020-07-10 22:07:10 +03:00
Ilya Gorbunov
dd47962ad0
Extract current Kotlin version value into a separate class
...
In order to selectively ignore it during classpath normalization,
and do not recompile all the dependencies when just the version value
changes.
2020-07-10 19:12:07 +03:00
Nikolay Krasko
cb513b9a70
202: Fix KotlinUastReferencesTest
2020-07-10 19:09:27 +03:00
Ilya Gorbunov
20683d62a6
Postpone introducing common StringBuilder.capacity() function
...
Its support complicates JS StringBuilder implementation with no actual
performance improvements. Benefits of having capacity() function
in common code are also not completely clear.
Relates to KT-33069
#KT-40168
2020-07-10 18:49:39 +03:00
Steven Schäfer
097e0fb46c
JVM IR: Mangle delegated properties with inline class type (KT-40125)
2020-07-10 17:06:44 +02:00
Sergey Rostov
e48d2b9b83
ScriptTemplatesClassRootsIndex: inc version and minor fixes
...
Content was changed, so we should force reindex.
Minor changes:
- There is no need to save a string, we can just save nothing
by using the Unit value (see UnitKey.save and UnitKey.read)
- Unit can be shared between all indexes, so we can extract UnitKey object
- It would be good to extract abstract class FileListIndex:
- for better readability: separate the logic of the specific index from the common FileListIndex implementation
- someone can use it also
- mapOf (Unit to null) will create singletonMap itself and more readable
- ScriptTemplatesClassRootsIndex.KEY perhaps better to call NAME
2020-07-10 18:01:38 +03:00
Sergey Rostov
1f52c0e0d4
gradle.kts: improve service initializtion
...
- prevent analyzing .gradle.kts files until all services are loaded
- remove services caches where it is not required
- replace cached services with cache only during vfs events batch processing
- prevent services loading in actions updating
2020-07-10 17:47:10 +03:00
Georgy Bronnikov
a97d718de8
IR: remove a KotlinType use from Ir.kt
2020-07-10 17:35:30 +03:00
Georgy Bronnikov
aab95f93f2
JVM_IR: invoke method descriptor for default lambdas
2020-07-10 17:35:29 +03:00
Alexander Udalov
e8c3c70369
IR: make IrDeclarationWithVisibility.visibility mutable
...
It was mutable anyway in many subclasses. This is needed in order to
avoid depending on concrete IR implementations in the JVM IR backend
where it's necessary to be able to change visibility.
2020-07-10 16:17:06 +02:00
Alexander Udalov
96f0a8e8e5
IR: minor, inline OverridableMember
2020-07-10 16:17:06 +02:00
Alexander Udalov
e674226a3b
IR: do not use Ir*Impl elements where it's not necessary
2020-07-10 16:17:06 +02:00
Alexander Udalov
dbad81473e
IR: make IrMetadataSourceOwner.metadata mutable
...
To avoid casting to specific Ir*Impl elements at call sites.
Also inherit from IrMetadataSourceOwner only where it's needed: class,
file, function, property. Previously this field was always null and took
some space for things like value parameters, type parameters, etc.
2020-07-10 16:17:05 +02:00
simon.ogorodnik
689887c94d
[FIR] Fail test if no modules analyzed successfully
2020-07-10 16:25:22 +03:00
Victor Petukhov
cdb122c698
Add skipped ignore directive in test for b08c7eff38
2020-07-10 14:52:51 +03:00
Mikhail Zarechenskiy
0c8b847ae6
Introduce compiler key to disable compatibility resolution mechanism
...
Enable it if one was using new inferene before 1.4
#KT-40128 Fixed
#KT-40112 Fixed
#KT-40113 Fixed
2020-07-10 14:23:45 +03:00
Mikhail Glukhikh
c1fd891916
[FIR IDE] Fix compilation in asKtSymbolOrigin
2020-07-10 13:02:31 +03:00
Ilya Goncharov
644c5a941b
[Gradle, JS] Add task on webpack-compile sync
...
^KT-40087 fixed
[Gradle, JS] Use runCompileSync only for run
^KT-40087 fixed
[Gradle, JS] Rename type on mode
^KT-40087 fixed
[Gradle, JS] Use explicit names in lambda
^KT-40087 fixed
2020-07-10 12:32:07 +03:00
Anton Bannykh
939f0d0344
[IR] minor: make StageController an open class
...
This should make creating a new "do nothing" controller more straightforward.
2020-07-10 11:30:42 +03:00
Anton Bannykh
abc6ecaa1c
[JS IR BE] support SAM conversions in DCE-driven mode
2020-07-10 11:30:42 +03:00
Anton Bannykh
8fcd73e3cb
[JS IR BE] move exceptionState initialization from constructor to coroutine entryState
...
This fixes the DCE-driven mode. Before this fix the suspend lambda constructor was modified
by the `invoke` body lowering. Which is wrong, becuase the corresponding class was created
by the CallableReferenceLoiwering much earlier.
2020-07-10 11:30:41 +03:00
Anton Bannykh
916a5f367c
[IR] simplify Carriers (remove type parameters)
2020-07-10 11:30:41 +03:00
Anton Bannykh
adf5ee394e
[JS IR BE] remove unnecesary code from DCE
2020-07-10 11:30:41 +03:00
Victor Petukhov
514ac7dc8f
NI: introduce simple calls storage (which aren't gone through type inference) in coroutine inference session to further substitute postponed variable
...
^KT-40151 Fixed
2020-07-10 11:11:48 +03:00
Kirill Shmakov
3acb4e54d5
Update AS version
2020-07-10 11:06:33 +03:00
Vladimir Ilmov
3e69250f72
(CoroutineDebugger) Restored frame variables isn't shown for 2020.1.
...
#KT-40172 fixed
2020-07-10 09:57:38 +02:00
Mikhail Glukhikh
fbbf4e06ba
[FIR] Support imported callable from object properly #KT-35730 Fixed
2020-07-10 10:25:39 +03:00
Mikhail Glukhikh
6b964cb61d
[FIR2IR] Drop explicit receiver double-conversion for objects
2020-07-10 08:56:58 +03:00
Ilya Gorbunov
2f3e1dcbc6
Add EXACTLY_ONCE contract to suspendCoroutine* functions
...
Update line numbers in the affected test.
2020-07-10 01:05:16 +03:00
Ilya Gorbunov
1a32fdf6d7
Add EXACTLY_ONCE contract to functions that call their lambda parameter once
...
KT-35972
2020-07-10 01:05:16 +03:00
Ilya Gorbunov
c85432b2f9
Fix typo in kotlinx.dom docs
2020-07-10 01:05:16 +03:00
Ivan Kylchik
c44fd235ce
[FIR] Remove isEnumEntry field from FirJavaField
...
This field isn't used anymore because java enum entry is represented by
FirEnumEntry
2020-07-09 23:49:55 +03:00
Ivan Kylchik
dcae6f1415
[FIR] Support when exhaustiveness for java enum
...
The problem appear because for java enum its entries was represented by
FirJavaField. To fix this FirEnumEntry was used
#KT-39621 Fixed
2020-07-09 23:49:54 +03:00
Ivan Kylchik
307871a050
[FIR] Unmute fir spec tests
...
#KT-38397 Fixed
#KT-38334 Fixed
2020-07-09 23:49:39 +03:00
Alexander Udalov
0baa1c8723
IR: remove deprecated constructor of IrClassImpl
2020-07-09 18:51:04 +02:00
Alexander Udalov
e6993e1b88
IR: remove deprecated constructor of IrConstructorImpl
2020-07-09 18:51:04 +02:00
Alexander Udalov
ef94716af5
IR: remove deprecated constructor of IrFieldImpl
2020-07-09 18:51:04 +02:00
Alexander Udalov
7f9ef5e11d
IR: remove deprecated constructors of IrFunctionImpl
2020-07-09 18:51:04 +02:00
Alexander Udalov
551f1f85a9
IR: remove secondary constructor of IrModuleFragmentImpl
2020-07-09 18:51:03 +02:00
Alexander Udalov
19ec8646b8
IR: remove convenience factory for IrTypeAliasImpl
2020-07-09 18:51:03 +02:00
Alexander Udalov
fd83596c91
IR: remove deprecated constructor of IrTypeParameterImpl
2020-07-09 18:51:03 +02:00
Alexander Udalov
0691595ed2
IR: remove deprecated constructor of IrValueParameterImpl
2020-07-09 18:51:03 +02:00
Alexander Udalov
bba597cdff
IR: remove deprecated constructors of IrVariableImpl
2020-07-09 18:51:02 +02:00
Alexander Udalov
d8a2b92098
IR: remove deprecated constructors of IrPropertyImpl
2020-07-09 18:51:02 +02:00
Vyacheslav Gerasimov
501fea1202
Fix TCServiceMessagesClient compilation against Gradle 6.5
...
Method `isRoot` doesn't exist anymore in TestDescriptorInternal
2020-07-09 19:31:21 +03:00
Vyacheslav Gerasimov
697bb04d46
Build: Setup jvmTarget 1.6 for several common modules
...
Some modules depending on them target jvm 1.6 and can't depend on
jvm 1.8 module in Gradle 6.5.
2020-07-09 19:31:20 +03:00
Vyacheslav Gerasimov
b5ee0e8222
Build: Remove jvmTarget 1.6 for several modules depending on 1.8 modules
...
Module targeting jvm 1.6 can't depend on jvm 8 one. In Gradle 6.5 this
behaviour is enforced by configuration error.
2020-07-09 19:31:20 +03:00
Vyacheslav Gerasimov
1fea01754d
Build: Remove jvmTarget = "1.6" for kotlinx-metadata-klib
...
kotlinx-metadata-klib can't have jvmTarget 1.6 because it embeds module
:compiler:serialization which is compiled with jvmTarget 1.8. It is
enforced by configuration error in Gradle 6.5
2020-07-09 19:31:20 +03:00
Vyacheslav Gerasimov
508036742c
Build: Upgrade Gradle to 6.5.1
2020-07-09 19:31:20 +03:00
Ilya Kirillov
39601f99ab
Wizard: update ktor version
...
#KT-40037 fixed
2020-07-09 18:27:43 +03:00
Ilya Kirillov
44334fca11
Wizard: consider RC version as a EAP one
...
#KT-39871 fixed
2020-07-09 18:27:41 +03:00
Ilya Kirillov
9fde2ac269
Wizard: add kotlinx repo for projects using kotlinx-html
...
#KT-40004 fixed
2020-07-09 18:27:39 +03:00
Florian Kistner
346df07adc
203: Fix compilation for 203
2020-07-09 15:27:45 +02:00
Florian Kistner
4c4af9971e
203: Bump intellijSdk version for 203
2020-07-09 15:27:45 +02:00
Florian Kistner
202a55cb39
Bump intellijSdk version for 203
2020-07-09 15:27:45 +02:00
Dmitry Gridin
1c4d7c5772
Regenerate test data
2020-07-09 18:37:37 +07:00
Yan Zhulanow
81869b282b
Mute failing QuickFixTestGenerated/KotlinSteppingTestGenerated
2020-07-09 19:23:16 +09:00
Ilya Muradyan
2487f9369c
Fix REPL completion for import directives
2020-07-09 13:19:04 +03:00
Dmitriy Dolovov
16aee6c8d6
[Commonizer] Lookup descriptors that doesn't participate in commonization
...
^KT-40119
2020-07-09 16:44:33 +07:00
Dmitriy Dolovov
3af937ea9a
[Commonizer] Remove isDefinitelyNotNullType from CirSimpleType
2020-07-09 16:44:32 +07:00
Nikolay Krasko
4d21455e72
Mute testImportAliasMultiDeclarations because of wrong behaviour in headless
...
Caused by: java.lang.AssertionError: Editor must be showing on the screen
at com.intellij.ui.popup.AbstractPopup.showInBestPositionFor(AbstractPopup.java:546)
at com.intellij.codeInsight.navigation.actions.GotoDeclarationOnlyHandler2.gotoDeclaration$intellij_platform_lang_impl(GotoDeclarationOnlyHandler2.kt:74)
at com.intellij.codeInsight.navigation.actions.GotoDeclarationOrUsageHandler2.invoke(GotoDeclarationOrUsageHandler2.kt:63)
at com.intellij.codeInsight.actions.CodeInsightAction.lambda$actionPerformedImpl$0(CodeInsightAction.java:57)
at com.intellij.codeInsight.actions.CodeInsightAction.lambda$actionPerformedImpl$1(CodeInsightAction.java:63)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:158)
at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformedImpl(CodeInsightAction.java:54)
at org.jetbrains.kotlin.idea.navigation.AbstractGotoActionTest.doTest(AbstractGotoActionTest.kt:27)
at org.jetbrains.kotlin.test.KotlinTestUtils.lambda$testWithCustomIgnoreDirective$6(KotlinTestUtils.java:804)
at org.jetbrains.kotlin.test.MuteWithFileKt$testWithMuteInFile$1.invoke(muteWithFile.kt:41)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTestImpl(KotlinTestUtils.java:774)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest(KotlinTestUtils.java:716)
at org.jetbrains.kotlin.idea.navigation.GotoDeclarationTestGenerated.runTest(GotoDeclarationTestGenerated.java:24)
at org.jetbrains.kotlin.idea.navigation.GotoDeclarationTestGenerated.testImportAliasMultiDeclarations(GotoDeclarationTestGenerated.java:38)
2020-07-09 12:43:11 +03:00
Nikolay Krasko
593fd646b1
Add mute-platform.csv.202
2020-07-09 12:43:10 +03:00
Roman Artemev
ca44242f37
[IR] Fix synthetic declarations generator to make it produce correct type
...
- Fix KT-40126
- Add test
2020-07-09 11:47:07 +03:00
Igor Chevdar
d8f5b50cd8
[native-gradle-plugin] Respected changed cache format
2020-07-09 12:33:59 +05:00
Igor Chevdar
79af726872
[native-gradle-plugin] Fixed problem with rebuilding caches
2020-07-09 12:33:59 +05:00
Anton Yalyshev
bc979a33f7
Enable FUS for Code Completion in 1.4.0
2020-07-09 10:20:18 +03:00
Dmitriy Dolovov
d3e858645f
[Commonizer] Remove CirTypeSignature from CirType
2020-07-09 10:08:13 +07:00
Dmitriy Dolovov
4ab5bfef22
[Commonizer] Preserve order of supertypes in commonized class
2020-07-09 10:08:06 +07:00
Dmitriy Dolovov
5e383e9d71
[Commonizer] Narrow CirClassifierId subtype cast in AnnotationsCommonizer
2020-07-09 10:07:59 +07:00
Dmitriy Dolovov
7a283c64cb
[Commonizer] Minor. Reorder type params for CirNode
2020-07-09 10:07:52 +07:00
Andrey Uskov
c37f339d8c
Send use-ir and jvmDefaults compiler arguments from IDE
...
Relates to KT-39924 and KT-39977
2020-07-08 20:39:44 +03:00
Andrey Uskov
550c53c2ac
Report jvm-default compiler arguments from Gradle
...
#KT-39977 Fixed
2020-07-08 20:39:33 +03:00
Andrey Uskov
e3a5df1aaa
Report use-ir flag from Gradle
...
#KT-39924 Fixed
2020-07-08 20:39:14 +03:00
Leonid Startsev
340deb01dd
Add 'Incorrect Transient' diagnostic
...
when users write @Transient, they get @kotlin.jvm.Transient, because it's always in auto-import.
This annotation does not work with @Serializable classes; @kotlinx.serialization.Transient should be used instead.
Add quickfix for 'incorrect transient' diagnostic:
'Import kotlinx.serialization.Transient'
2020-07-08 20:17:11 +03:00
Leonid Startsev
6ef597a4ee
Split ContextualSerialization annotation in two
2020-07-08 20:15:56 +03:00
Natalia Selezneva
3d91c410e7
*.gradle.kts: include project sources in script dependencies sources scope
...
^KT-39523 Fixed
2020-07-08 18:30:02 +03:00
Natalia Selezneva
93d7015139
Remove old roots from KotlinScriptDependenciesCLassFinder
...
Otherwise it may produce an exception that some invalid roots are returned by ScriptClassRootsCache
2020-07-08 18:30:01 +03:00
Natalia Selezneva
8bb3c0796d
Add original errors into the IllegalStateException from import of build script models
...
This exception is needed to finish gradle import and avoid importing other models into IDE
In most cases this exception is repoted together with Gradle exception from import,
but as soon as it it visible in UI we add some clarification which errors are happened
2020-07-08 18:28:08 +03:00
Jinseong Jeon
3afc37438e
FIR: handle getClassCall with integer literals
2020-07-08 18:23:27 +03:00
Vladimir Ilmov
7f472ba24e
Switch to isApplicableAsync instead of isApplicable in ToStringRenderer
...
#KT-39717 fixed
2020-07-08 16:15:46 +02:00
Ilya Goncharov
3d9353f7f5
[Gradle, JS] Add test on dependencies clash
...
^KT-40093 fixed
2020-07-08 16:10:46 +03:00
Ilya Goncharov
2e2a5a0156
[Gradle, JS] Update version in package.json with file dependency
...
^KT-40093 fixed
2020-07-08 16:10:39 +03:00
Mikhail Zarechenskiy
2bb9838a80
Add test for obsolete issue
...
The problem was fixed in d51bb2c053
#KT-37692 Obsolete
2020-07-08 15:30:20 +03:00
Yunir Salimzyanov
78a4563baf
Update versions of database files to correctly sync muted tests
...
Cause: bunch files were updated to 201
2020-07-08 14:57:07 +03:00
Lilia
53b2fe9fd8
Add changelog for 1.4-M3 & 1.3.72 plugins update
2020-07-08 13:26:51 +02:00
Toshiaki Kameyama
d2deff4864
Add "Replace with 'equals(..., ignoreCase = true)'" inspection
...
#KT-40016 Fixed
2020-07-08 12:38:30 +02:00
Dmitriy Novozhilov
a5bfa3ae63
[FIR-TEST] Update broken testdata
2020-07-08 12:13:33 +03:00
Dmitriy Novozhilov
86791f1fef
[FIR] Fix parsing fun modifier for interfaces in light-tree2fir
2020-07-08 12:13:32 +03:00
Dmitriy Novozhilov
58af8d68a1
[FIR] Check for isFun flag in SAM resolution
2020-07-08 12:13:32 +03:00
Dmitriy Novozhilov
d1cb776e29
[FIR] Assume all java interfaces are fun interfaces
2020-07-08 12:13:32 +03:00
Dmitriy Novozhilov
a3a79e4295
[FIR] Update testdata due to incorrect SAM detection
2020-07-08 12:13:32 +03:00
Dmitriy Novozhilov
29849b1330
[FIR] Resolve rhs of += in dependent context
2020-07-08 12:13:31 +03:00
Vladimir Dolzhenko
943b59b5d8
Do not provide idea.platform.prefix in run configurations for IJ Ultimate 201+
2020-07-08 10:26:18 +02:00
Alexander Dudinsky
38535c4fe1
New type of task - TestAggregation task
...
You can configure smoke test suites and get critical test results faster
This doesn't replace rr/* builds, but complements them for a faster round trip.
Also test tasks and patterns were added for KMM team.
#KMM-265
2020-07-08 11:23:03 +03:00
Sergey Rostov
ebc4910834
ScriptTemplatesClassRootsIndex: inc version and minor fixes
...
Content was changed, so we should force reindex.
2020-07-08 11:03:25 +03:00
Mikhail Glukhikh
4a988f467a
[FIR2IR] Code cleanup: DelegatedMemberGenerator
2020-07-08 10:05:07 +03:00
Juan Chen
d163853c97
[FIR] add support for implementation by delgation
...
This commit handles "subclass: super-interface by delegate-expression".
During Psi2Fir, for each delegate, we add to the subclass a synthetic
field (which has type super-interface), and an assignment of the
delegate-expression to the synthetic field in the primary constructor,
so that the delegate-expression can be resolved and transformed along
the way.
During Fir2Ir, we look up delegatable members from the super-interface
and generate corresponding functions/properties for the subclass.
TODO: support for generic delegatable members and generic
super-interface.
2020-07-08 09:42:24 +03:00
Natalia Selezneva
1d45dc8d81
Optimize ScriptTemplatesFromDependenciesProvider
...
No needs to convert file.url to VirtualFile
because index already has getContainingFiles method
Do not iterate through all children of VirtualFile
to avoid VFS events initialisation for those files
there is no guarantee that file is under source root
so is can be not present is vfs at this moment
2020-07-07 23:26:58 +03:00
Vladimir Dolzhenko
45600830d3
Fixed locking granularity in ScriptDefinitionsManager
...
#KT-34552 Fixed
#KT-39547 Fixed
2020-07-07 19:15:32 +00:00
simon.ogorodnik
77ccb3767c
[FIR] Add system property selector for lightTree2fir / psi2fir
2020-07-07 21:47:24 +03:00
simon.ogorodnik
a460b8f2f4
[FIR] Support source directories for lightTree2fir
2020-07-07 21:47:24 +03:00
simon.ogorodnik
6c7a40627f
[FIR] Forbid constructors in processFunctionsByName
2020-07-07 21:47:24 +03:00
simon.ogorodnik
6bc654ee49
[FIR] Add full compiler pipeline modularized test
...
Fixup: allow kotlin package
2020-07-07 21:47:24 +03:00
simon.ogorodnik
b48dfe9b3d
Allow dirs as content root in modularized tests
2020-07-07 21:47:24 +03:00
simon.ogorodnik
bf1c3777ab
Add IR specific timing measurements to performance manager
2020-07-07 21:47:24 +03:00
simon.ogorodnik
0de70d295a
Fix argument names
2020-07-07 21:47:23 +03:00
simon.ogorodnik
b401443dbd
Compute GC metrics only during compilation
2020-07-07 21:47:23 +03:00
simon.ogorodnik
6095ec66ed
Allow to pass external performance manager to compiler
2020-07-07 21:47:23 +03:00
Alexander Udalov
8c71d8f126
Undeprecate VariableDescriptorWithAccessors.isDelegated
...
Apparently there's quite a few valid usages of this method outside of
the compiler frontend, where manual suppression is annoying.
2020-07-07 18:09:40 +02:00
Jinseong Jeon
50b2ea7053
FIR: avoid cast exception in Candidate.prepareExpectedType
2020-07-07 16:55:53 +03:00
Nick
a5f34a880c
[FIR] Fix computeTypeArguments() & add diagnostic for type args
2020-07-07 15:52:17 +03:00
Stanislav Erokhin
8772fabc4f
Fix since-build version for AS 3.6 and AS 4.0
2020-07-07 15:40:02 +03:00
Nikita Bobko
50d2b963cc
Revert "202: Fix GradleFacetImportTest#testJDKImport test" for 193 bunch
...
This fixes test in 193 and 192 bunch
2020-07-07 12:29:19 +00:00
Nikita Bobko
496b8d5bd4
Create 193 bunch for GradleFacetImportTest.kt
2020-07-07 12:29:18 +00:00
Anton Bannykh
0885d608d8
JS IR: normalize the generate file path in the box tests
2020-07-07 13:00:42 +03:00
Ilya Goncharov
bb35509c38
[Gradle, JS] Warning on missed types and typings on genext npm dep
...
#KT-38331 fixed
2020-07-07 12:10:13 +03:00
Ilya Goncharov
1b3b2e539c
[Gradle, JS] Not run separate dukat if there is no d ts files
...
^KT-38331 fixed
2020-07-07 12:09:58 +03:00
Jinseong Jeon
a18bd1bb75
FIR deserializer: use annotation info from enclosing class for companion object
2020-07-07 11:43:51 +03:00
Jinseong Jeon
81345bcc26
FIR deserializer: load annotations on inner classes
2020-07-07 11:43:51 +03:00
Victor Petukhov
c588bc604d
NI: do substitution stub types during updating trace for lambda (these stub types can appear from the builder inference as postponed variables)
...
^KT-40060 Fixed
2020-07-07 11:17:06 +03:00
Victor Petukhov
eec3a4720c
NI: don't collect members if a receiver type is StubType to avoid creating error candidates instead of not crating them at all
...
^KT-37717 Fixed
2020-07-07 11:17:06 +03:00
Ivan Kylchik
989e4293a3
[FIR] Fix exhaustiveness check in case of sealed subclass
...
The problem appear because check was performed only on direct children
of sealed class. To fix this, heritage tree is built and used in check
#KT-38989 Fixed
2020-07-07 10:58:06 +03:00
Nick
40cd30f7f6
[FIR] Partial performance fix for the effective visibility checker
2020-07-07 10:24:04 +03:00
Leonid Startsev
80561ec125
Update kx.serialization dependency
...
so tests won't fail due to
'library was compiled with pre-release flag' error.
Update test data
2020-07-07 01:14:32 +03:00
Natalia Selezneva
74aa3ac79a
Minor: replace deprecated method usage
2020-07-06 23:23:46 +03:00
Natalia Selezneva
b3a84ba081
Fix warning in ScriptConfigurationHighlightingTest
...
In case of exception from dependencies resolver
we do not threat the configurations as up-to-date,
so the reloading process will be started during test
despite updateScriptDependenciesSynchronously called at startup.
This will lead to the warning from checkHighlighting
because if script reports are different we rehighlight the script.
Note that test won't fail.
2020-07-06 23:23:46 +03:00
Natalia Selezneva
6ec13ab38a
Scripts: do not throw roots change event in case when roots are empty
2020-07-06 23:23:46 +03:00
Natalia Selezneva
16c5ba0988
Tests: do not throw roots change event in the current thread
...
This may cause exception during resolve,
because all caches are invalidated after this
and resolve should be restarted
Exception: module descriptor isn't find in its own dependencies
Unmute IdeReplCompletionTestGenerated.testDefinedExtension
^KT-34825 Fixed
2020-07-06 23:23:46 +03:00
Igor Yakovlev
5871628f2b
Possibly fix flacky test of light classes for decompiled declarations
...
Tests:
JavaAgainstKotlinBinariesCheckerTestGenerated.testInferenceReturnType_1_8JavaAgainstKotlinBinariesCheckerTestGenerated.testReturnInnerClasses
2020-07-06 22:28:45 +03:00
Roman Golyshev
637d3430ff
KT-39869 Remove redundant performDelayedRefactoringRequests call
...
- In `ObsoleteExperimentalCoroutinesInspection` it is redundant because
it is performed immediately after the single `bindToFqName` call,
so there is no reason to postpone the refactoring and then immediately
invoke it
- In `ObsoleteKotlinJsPackagesInspection` there are no reason to call
it at all (no refactorings are postponed)
2020-07-06 18:04:02 +00:00
Roman Golyshev
5cf6b860a6
KT-39869 Add inspection for FQN usages of kotlin.browser package
...
- `kotlin.dom` does not need this because it contains only extensions
- Add test for launching whole project fix; mute it because currently it
does not pass
- The test fails because in tests `RefJavaManager` tries to create
`RefJavaFileImpl` for .kt files. It will try to use UAST, but it
does not work for JS files. In production this is disabled, so no
problems occur
2020-07-06 18:04:01 +00:00
Roman Golyshev
91fa5d38b3
KT-39869 Fix review suggestions
...
- Review: https://jetbrains.team/p/kt/review/1349
2020-07-06 18:04:00 +00:00
Roman Golyshev
75de352ce2
KT-39869 Add ObsoleteKotlinJsPackagesInspection inspection
...
- This inspection allows to migrate from `kotlin.dom|kotlin.browser`
to `kotlinx.dom|kotlinx.browser` packages respectively
- This inspection is available from the import statements, and also
from the `Run migrations` action
- ^KT-39869 Fixed
2020-07-06 18:04:00 +00:00
Roman Golyshev
ec087e8f3d
KT-39869 Move base classes to separate file
2020-07-06 18:03:59 +00:00
Roman Golyshev
871bb30dbe
KT-39869 Refactor ObsoleteExperimentalCoroutinesInspection.kt
...
- We need this to reuse the logic for migration inspections
2020-07-06 18:03:58 +00:00
Toshiaki Kameyama
6b5c31e2fc
Move statement up: do not apply to @file annotation
...
#KT-10790 Fixed
2020-07-06 17:50:39 +02:00
Yaroslav Chernyshev
aeed7fe52d
KT-36801 Added forgotten changes for 192 platform
...
#KT-39989 Fixed
2020-07-06 18:07:11 +03:00
Ivan Kylchik
574aa0affe
[FIR] Fix synthetic property is not var due to Nullable on parameter
...
Synthetic property is var when it have setter. The latter is set up
in property when its parameter type is equal to getter return type. In
case of using @Nullable, parameter type of setter is not equal to
return type of getter, because the latter is flexible type. So to fix
this verification should occur using not null types
#KT-39076 Fixed
2020-07-06 17:52:37 +03:00
Pavel Punegov
48c5f48af0
Ignore test in Native, see #KT-38859
2020-07-06 17:33:12 +03:00
Ilya Goncharov
cb3d7349a3
[Gradle, JS] Deprecation of frontend plugin
...
^KT-40048 fixed
2020-07-06 17:30:31 +03:00
Natalia Selezneva
56afd763dc
Minor: add debug log messages
2020-07-06 15:53:28 +03:00
Natalia Selezneva
6c0d91837c
Load file attributes for last modified files under try-catch
...
This should avoid exceptions from initialization of GradleBuildRootsManager.EP
EA-232521 Fixed
2020-07-06 15:52:43 +03:00
Ilya Goncharov
03bc61c80a
[Gradle, JS] Add test on public package json inside archives (jar and klib)
2020-07-06 15:23:33 +03:00
Ilya Goncharov
f76a1f0e86
[Gradle, JS] jsJar dependsOn PublicPackageJsonTask
...
But package.json included into jar only if public npm dependencies exists
2020-07-06 15:23:33 +03:00
Ilya Goncharov
5c968acb13
[Gradle, JS] Simplify creation of public package json task
2020-07-06 15:23:33 +03:00
Ilya Goncharov
a2d5cda716
[Gradle, JS] Output file of public package json as var for changing it
2020-07-06 15:23:33 +03:00
Ilya Goncharov
a4ad3d88c6
[Gradle, JS] Remove duplicate of reporting js compiler statistic
2020-07-06 15:10:16 +03:00
Vladimir Dolzhenko
974dfbc9ab
Advance bootstrap to 1.4.20-dev-1680
2020-07-06 12:04:11 +02:00
Vladimir Ilmov
a2040f01bf
Body elements resolution in KotlinDebuggerCache added / analyzeWithContentAndGetResult
...
While we trying to find an inlined SourcePosition, the body should be
resolved KotlinPositionManager.getLambdaOrFunIfInside / InlineUtil.isInlinedArgument
to make shure the lambda is an argument for a call.
#KT-39309 fixed
#KT-39435 fixed
2020-07-06 11:33:50 +02:00
Dmitriy Novozhilov
a0f8ada285
[FIR-TEST] Unmute failing diagnostic tests
2020-07-06 12:11:57 +03:00
Igor Yakovlev
4707f4fc3f
Change signature does not make doubled refactoring for java usages
...
Fixed #KT-22170
2020-07-06 11:54:36 +03:00
Dmitry Gridin
7b9fad00a1
Rename KotlinLikeLangLineIndentProvider to KotlinLangLineIndentProvider
...
Relates to #KT-22211
2020-07-06 14:51:29 +07:00
Dmitry Petrov
b75de60afb
Minor: mute failing test
2020-07-06 10:47:10 +03:00
Mikhail Zarechenskiy
d8f701ee61
Add test for obsolete issue
...
#KT-39588 Obsolete
2020-07-05 18:17:44 +03:00
Vladimir Dolzhenko
03d5fe8d6c
Add dispatchAllInvocationEvents to editor actions in perf tests
2020-07-04 23:33:02 +02:00
Vladimir Dolzhenko
a830c69a30
Regenerate TypingIndentationTestBaseGenerated
2020-07-04 22:25:09 +02:00
Vladimir Krivosheev
75b1cf8a23
Explicitly specify id of KotlinNonJvmSourceRootConverterProvider
...
IDEA 2020.3 uses `id` from extension definition to avoid creating instance of converter without need.
2020-07-04 15:38:15 +02:00
Vyacheslav Karpukhin
6ecd2e57fb
Created bunch 203
2020-07-04 02:11:18 +02:00
Vladimir Dolzhenko
357746e344
Do not force FULL analysis for PARTIAL_FOR_COMPLETION for the current open file
...
Relates to #KT-38687
2020-07-03 22:57:22 +02:00
Vladimir Dolzhenko
51375ed278
PluginStartupListener clean up
...
Relates to #KT-39968
2020-07-03 22:30:15 +02:00
Vladimir Dolzhenko
0b2e15d20c
PluginStartupListener clean up
...
Relates to #KT-39968
2020-07-03 22:05:43 +02:00
Mikhail Zarechenskiy
01f2b0e26b
Fix test data about JsExport
...
It allows only for top-level declarations, plus JsName is needed to
avoid error about method redeclaration
2020-07-03 21:23:29 +03:00
Mikhail Zarechenskiy
9a08085146
Fix redundant semicolon inspection before soft keywords
...
Fixes few tests:
- RedundantSemicolon.testBetweenSoftModifierKeywordAndDeclaration
- RedundantSemicolon.testBetweenSoftModifierKeywordAndDeclaration2
- RedundantSemicolon.testBetweenSoftModifierKeywordAndDeclaration3
This bug was introduced in 741ebeb7b8
2020-07-03 21:23:29 +03:00
Mikhail Zarechenskiy
a0ecfce7b7
Update test data: add correct error
2020-07-03 21:23:29 +03:00
Nikolay Krasko
87a520fc30
202: Overcome failure in PathManager.getHomePath() because of the wrong dir
...
Stacktrace:
java.lang.RuntimeException: Could not find installation home path. Please reinstall the software.
at com.intellij.openapi.application.PathManager.getHomePath(PathManager.java:106)
at com.intellij.openapi.application.PathManager.getHomePath(PathManager.java:76)
at com.intellij.openapi.application.PathManager.getPreInstalledPluginsPath(PathManager.java:248)
at com.intellij.ide.plugins.DescriptorListLoadingContext.<init>(DescriptorListLoadingContext.java:57)
at com.intellij.ide.plugins.DescriptorListLoadingContext.createSingleDescriptorContext(DescriptorListLoadingContext.java:61)
at com.intellij.ide.plugins.PluginManagerCore.registerExtensionPointAndExtensions(PluginManagerCore.java:1397)
at com.intellij.core.CoreApplicationEnvironment.registerExtensionPointAndExtensions(CoreApplicationEnvironment.java:266)
at org.jetbrains.kotlin.cli.jvm.compiler.CoreApplicationEnvironmentCompatKt.registerExtensionPointAndExtensionsEx(coreApplicationEnvironmentCompat.kt:17)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerApplicationExtensionPointsAndExtensionsFrom(KotlinCoreEnvironment.kt:534)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createApplicationEnvironment(KotlinCoreEnvironment.kt:505)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.getOrCreateApplicationEnvironmentForProduction(KotlinCoreEnvironment.kt:465)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:92)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:76)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:45)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:227)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit$default(CLITool.kt:225)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:214)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:262)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:63)
2020-07-03 21:21:23 +03:00
Dmitriy Dolovov
d63728afe5
[Commonizer] Use 'index:Int' instead of Name for addressing type parameters
2020-07-03 22:27:58 +07:00
Mikhail Zarechenskiy
0ee7306d9c
Fix coercion to Unit when variable already have other constraints
...
Don't add `Unit` if variable has an upper constraint T <: A.
It's impossible to coerce variable T to Unit as constraint system will
be always contradictory: T := Unit => Unit should be subtype of A
#KT-39900 Fixed
2020-07-03 17:54:14 +03:00
Dmitry Petrov
026f54f3d8
Fix Kapt3 tests
...
Nullability annotations are no longer generated on private fields,
so line numbers in generated java sources changed.
2020-07-03 17:51:30 +03:00
Dmitry Petrov
761e47264a
JVM_IR: fix property reference generation for inline class primary val
2020-07-03 17:51:30 +03:00
Vladimir Dolzhenko
1450cf5f63
Fix KOTLIN_BUNDLED registration
...
#KT-39968 Fixed
2020-07-03 14:46:40 +00:00
Dmitry Gridin
d1455d0d22
KotlinOptimizeImportsRefactoringHelper: should remove unused directives by pointer
...
#KT-39899 Fixed
#EA-209827 Fixed
2020-07-03 14:29:46 +00:00
Dmitry Gridin
62e252ec26
Inline refactoring: should support set/get operator
...
#KT-17378 Fixed
2020-07-03 21:11:58 +07:00
Toshiaki Kameyama
e31ea0c243
ReplaceWith: suggest to replace for 'get/set' operator functions
...
#KT-15944 Fixed
2020-07-03 21:10:24 +07:00
Dmitriy Novozhilov
82b6ecfa64
[FIR-TEST] Add test for KT-39075
2020-07-03 17:09:29 +03:00
Dmitriy Novozhilov
59bedaaa55
[FIR] Rename FirElvisCall to FirElvisExpression
...
FirElvisCall is not a FirCall, so FirElvisExpression is more
convenient name
2020-07-03 17:09:29 +03:00
Dmitriy Novozhilov
1db2ba51d2
[FIR] Don't pass flow from inplace lambdas throw when and elvis expressions
...
#KT-39080 Fixed
2020-07-03 17:09:29 +03:00
Dmitriy Novozhilov
1429cba2d4
[FIR] Fix CCE in postponed lambda resolution
2020-07-03 17:09:28 +03:00
Dmitriy Novozhilov
8311c1f0e2
[FIR] Fix projection of Comparable supertype for ILT
...
#KT-39048 Fixed
2020-07-03 17:09:28 +03:00
Dmitriy Novozhilov
a882a9dff5
[FIR] Create scope for type parameter as scope for intersection of bounds
...
Before change we've created composite scope for all bounds, which
is incorrect, because intersection of all bounds may be less than
all bounds (see test in commit)
#KT-39032 Fixed
2020-07-03 17:09:28 +03:00
Jinseong Jeon
44d0af8597
FIR2IR: handle 'this' as reference to outer object
2020-07-03 12:53:57 +03:00
Ilya Muradyan
1798542db7
Fix and enable embedded tests in scripting-ide-services
2020-07-03 12:21:45 +03:00
Ilya Muradyan
e88bef4275
Fix jar-dependent test in scripting-ide-services
2020-07-03 12:21:45 +03:00
Mikhail Zarechenskiy
d51bb2c053
Add compatibility resolve when variable has "bad" intersection type
...
#KT-39468 Fixed
2020-07-03 12:18:28 +03:00
Ivan Kylchik
92a51b9794
[FIR] Add illegal underscore check in BaseFirBuilder
2020-07-03 12:06:49 +03:00
Ivan Kylchik
cc4b50fdc1
[FIR] Add illegal underscore diagnostic
2020-07-03 12:06:47 +03:00
Ivan Kylchik
54945b7fbc
Extract illegal underscore check function to ParseUtils
2020-07-03 12:06:45 +03:00
Ivan Kylchik
d0f6997e6d
[FIR] Fix some of fir spec tests for real-literals
...
#KT-38336 Fixed
2020-07-03 12:06:44 +03:00
Dmitry Petrov
17c15cfe0a
JVM, JVM_IR: update bytecode listing testData for inline classes
2020-07-02 22:39:06 +03:00
Dmitry Petrov
6e0bb0b468
JVM: no nullability annotations for inline class '-impl' methods
...
Specialized generated methods for inline classes (toString-impl,
hashCode-impl, equals-impl, etc) are inaccessible from Java, and thus
don't require nullability annotations.
2020-07-02 22:39:06 +03:00
Dmitry Petrov
ea042eb6c4
JVM_IR: no nullability annotations for inline class '-impl' methods
...
Specialized generated methods for inline classes (toString-impl,
hashCode-impl, equals-impl, etc) are inaccessible from Java, and thus
don't require nullability annotations.
2020-07-02 22:39:06 +03:00
Dmitry Petrov
a238d6a890
JVM_IR: no annotations on parameters of 'property$annotations' methods
2020-07-02 22:39:06 +03:00
Dmitry Petrov
8da988b18e
JVM_IR: Mangle primary val getter of inline class if required
...
TODO fix reflection
2020-07-02 22:39:06 +03:00
Dmitry Petrov
62d2581faf
JVM_IR: Don't generate annotations on generated inline class members
2020-07-02 22:39:05 +03:00
Dmitry Petrov
dc4b9d3887
JVM_IR: Don't mangle internal constructor-impl for inline classes
2020-07-02 22:39:05 +03:00
Ilya Kirillov
5cfac8fa3f
FIR IDE: introduce symbol pointers for restoring symbols in another read action
...
fix pointer
2020-07-02 22:25:06 +03:00
Ilya Kirillov
f88ebed1a3
FIR IDE: move types to its own package
2020-07-02 22:25:06 +03:00
Ilya Kirillov
5f548fc459
FIR IDE: add creating stdlib symbols by fqName tests
2020-07-02 22:25:06 +03:00
Ilya Kirillov
799a49649c
FIR IDE: introduce symbol modality
2020-07-02 22:25:06 +03:00
Ilya Kirillov
75a96f0153
FIR IDE: add info about varargs to parmater symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
f10f6c6360
FIR IDE: introduce package symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
18d46a86ae
FIR IDE: add identity weak map based cache for KtSymbolByFirBuilder
2020-07-02 22:25:05 +03:00
Ilya Kirillov
a26063b3f8
FIR IDE: rename Invalidatable -> ValidityOwner
2020-07-02 22:25:05 +03:00
Ilya Kirillov
226d514788
FIR IDE: rename reference classes to KtFir*Reference for consistency
2020-07-02 22:25:05 +03:00
Ilya Kirillov
66933ea2fe
FIR IDE: use withValidityAssertion instead of explicit check in FirAnalysisSession
2020-07-02 22:25:04 +03:00
Ilya Kirillov
8368284817
FIR IDE: introduce KtType
2020-07-02 22:25:04 +03:00
Ilya Kirillov
c44756bbfd
FIR IDE: add tests for building kt symbols by PSI
2020-07-02 22:25:04 +03:00
Ilya Kirillov
8a52954bf8
FIR IDE: introduce symbol provider
2020-07-02 22:25:03 +03:00
Ilya Kirillov
20b93507ab
FIR IDE: use symbols for reference resolve
2020-07-02 22:25:03 +03:00
Ilya Kirillov
749afbd141
FIR IDE: use symbols for call resolve
2020-07-02 22:25:03 +03:00
Ilya Kirillov
82866176fb
FIR IDE: introduce symbol API
2020-07-02 22:25:03 +03:00
Alexander Udalov
ba948cda38
Report warning on characters which can cause problems on Windows
...
As soon as we fix KT-17438, this warning will be turned into an error.
2020-07-02 21:19:28 +02:00
Alexander Udalov
181965f6e8
IR: inline namedIrModulePhase and namedIrFilePhase phase builders
...
Construct NamedCompilerPhase directly instead. Only use phase builders
where the code becomes easier to read.
2020-07-02 21:19:28 +02:00
Alexander Udalov
15a969b3ba
IR: refactor performByIrFile a little
...
Take a list of phases instead of the CompositePhase, to make stacktraces
nicer and avoid quadratic time of phase construction.
2020-07-02 21:19:28 +02:00
Alexander Udalov
4475325ffa
IR: refactor PhaseBuilders a little
...
- use named classes to improve stacktraces
- reorder parameters to make the code shorter
- use explicit types to improve IDE resolve in usages
2020-07-02 21:19:27 +02:00
Alexander Udalov
7997d4afd3
IR: do not use AnyNamedPhase where there is Context parameter
2020-07-02 21:19:27 +02:00
Alexander Udalov
ef58f1e72e
IR: simplify phaser code a little
...
- merge NamedCompilerPhase, SameTypeNamedPhaseWrapper,
AbstractNamedPhaseWrapper and inherit it from SameTypeCompilerPhase
- inline some functions to simplify stacktraces
- reformat and fix inspections
2020-07-02 21:19:27 +02:00
Stanislav Erokhin
74ce26cdc2
Fix 1.4-M2 ChangeLog.md
2020-07-02 22:16:59 +03:00
Vyacheslav Gerasimov
18d71c7907
Build: Encode build number in teamcity build url
2020-07-02 22:05:35 +03:00
Vyacheslav Gerasimov
8e1269cc32
Build: Add hacky workaround for retrying PublishToMavenRepository tasks
...
It's supposed to help with `Caused by: org.apache.http.NoHttpResponseException: api.bintray.com:443 failed to respond`
2020-07-02 22:05:35 +03:00
Dmitriy Dolovov
3bb234b17c
[Commonizer] Clean-up CirTypeSignature usages
2020-07-03 00:22:44 +07:00
Dmitriy Dolovov
ffd0c69698
[Commonizer] Use ClassId instead of FqName for addressing classes and TAs
2020-07-03 00:22:38 +07:00
Ilya Kirillov
57aefbcd57
FIR IDE: migrate to 201
2020-07-02 19:34:37 +03:00
Mads Ager
1124887aa0
[JVM_IR] Fix stepping behavior for assignments to local variables.
2020-07-02 17:29:07 +02:00
Vladimir Dolzhenko
543efffa5c
Turn off stability check for PerformanceTypingIndentationTest
2020-07-02 17:13:10 +02:00
Igor Yakovlev
89d5c030dc
Improve incremental analisys for nested blocks
2020-07-02 17:52:40 +03:00
Toshiaki Kameyama
efdeb7b449
Introduce "Add '== true'" quick fix for TYPE_MISMATCH
...
#KT-39930 Fixed
2020-07-02 19:31:43 +07:00
Dmitriy Novozhilov
5bf18c09bb
Advance bootstrap to 1.4.20-dev-1530
2020-07-02 15:19:24 +03:00
Natalia Selezneva
a73dac75d4
Optimize KotlinScriptDependenciesClassFinder
...
Do not call processDirectories for all package prefixes checking inner classes
^KT-39796 Fixed
2020-07-02 15:14:02 +03:00
Mikhail Glukhikh
f46970219f
[FIR2IR] Simplify elvis conversion
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
68b84722c4
[FIR2IR] Simplify generateWhen
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
24c8eb43a2
[FIR2IR] Don't build stub FirWhen for converting elvis expression
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
6229d2e215
[FIR2IR] Extract generateWhen & toIrWhenBranch
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
31765a4abc
[FIR2IR] Move visitElvis & visitWhen close to one another
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
f4d5070a7b
[FIR-TEST] Mute BB test due to KT-39659
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
a7ed9c7dc5
[FIR] Add conversion of FirElvisCall to backend IR
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
102c9c08d0
[FIR] Resolve elvis call as special synthetic call
...
Before that commit we desugared `a ?: b` as
when (val elvis = a) {
null -> b
else -> elvis
}
It was incorrect, because `a` should be resolved in dependent mode,
but when it was `elvis` initializer it was resolved in independent
mode, so we can't infer type for `a` in some complex cases
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
b49b3245af
[FIR] Add special node for elvis call
...
#KT-39074
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
648953085f
[FIR] Replace kotlin/Throwable with java/lang/Throwable in JvmMappedScope
...
#KT-39044 Fixed
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
624b9306f0
[FIR] Resolve LHS of type operator call in independent context
...
#KT-39046 Fixed
2020-07-02 15:10:51 +03:00
Jinseong Jeon
c9e423bf64
FIR deserializer: fix parameter shift for constructor of inner classes and enums
...
#KT-39837 Fixed
2020-07-02 13:34:39 +03:00
Georgy Bronnikov
8e24256f95
JVM_IR: avoid descriptors when tracking inline properties
...
Preparing to use wrapped properties in InlineCodegen.
2020-07-02 12:46:58 +03:00
Georgy Bronnikov
385d522d27
JVM_IR: do not use descriptor in isCompiledToJvmDefault
2020-07-02 12:45:26 +03:00
Vsevolod Tolstopyatov
3270c7e016
Introduce CancellationException
...
#KT-39126 Fixed
2020-07-02 11:01:28 +03:00
Natalia Selezneva
5ec110c33f
*.gradle.kts: catch exceptions during GradleBuildRootManager initialization
...
^KT-39317 Fixed
2020-07-02 08:48:05 +03:00
Natalia Selezneva
c7c7ffb0e0
*.gradle.kts: get java home from build environment instead of execution settings
...
Note that getting GradleExecutionSettings may lead to write action
because it link javaHome with existing sdks
^KT-39317
2020-07-02 08:48:05 +03:00
Steven Schäfer
5cdf053c8e
Coroutines: Fix RedundantLocalsEliminationMethodTransformer
...
- Take control flow into account when collecting usage information
- Don't remove stores to local variables
2020-07-02 00:49:28 +02:00
Alexander Gorshenev
3113281e2d
Adapted fake override checker to inheritance from friend module internal interfaces
2020-07-01 20:29:48 +03:00
Mikhail Glukhikh
07feb2185b
Fix exception in FirExposedVisibilityChecker
2020-07-01 19:30:50 +03:00
Ilmir Usmanov
697c8637ee
For all int-like typed variables, use int as field type and coerce
...
it during spill-unspill.
Coerce int to boolean, otherwise, VerifyError is thrown on android
Completely rewrite SpilledVariableFieldTypesAnalysis... again,
but this time use BasicInterpreter
This way, the analysis both does not use SourceInterpreter and
is in line with the rest on analyses.
2020-07-01 17:26:47 +02:00
Alexander Udalov
e7f33ac051
IR: do not inherit IrFunctionReference from IrFunctionAccessExpression
...
To avoid the diamond hierarchy and to allow refactoring the IR element
hierarchy from interfaces to classes, improving performance of visitors
and transformers.
2020-07-01 13:03:56 +02:00
Alexander Udalov
d4605f5816
IR: add type parameter to IrMemberAccessExpression and some subclasses
...
This is needed to get rid of the diamond hierarchy:
IrMemberAccessExpression
/ \
/ \
IrFunctionAccessExpression IrCallableReference
\ /
\ /
IrFunctionReference
In the subsequent commit, IrFunctionReference no longer inherits from
IrFunctionAccessExpression; the more precise type of `val symbol:
IrFunctionSymbol` is now carried via the generic type argument.
This will help to refactor IR element hierarchy from interfaces to
classes, improving performance of visitors and transformers.
2020-07-01 13:03:56 +02:00
Alexander Udalov
d794c9dc4d
IR: remove non-supertype usages of abstract impl classes
...
Work with the corresponding base interfaces instead. This change will
help in moving the IR element hierarchy from interfaces to classes,
should the need arise.
There's a possible change in behavior in
`CallAndReferenceGenerator.applyCallArguments`, which however doesn't
seem to break anything: IrPropertyReferenceImpl can now also be handled
by this method.
2020-07-01 13:03:56 +02:00
Alexander Udalov
ccac23f5b2
IR: make mapOptimized non-inline, rename to transformIfNeeded
...
This seems to have no effect on performance, however it clearly shows
that this method is a hotspot now with regard to own CPU samples.
Furthermore, it somewhat decreases the bytecode size at call sites and
might actually allow the HotSpot to inline those methods earlier and
hopefully deoptimize less frequently.
2020-07-01 13:03:56 +02:00
Alexander Udalov
6a699c9384
IR: minor, remove accept from some interfaces
2020-07-01 13:03:56 +02:00
Jinseong Jeon
1e3019798a
FIR2IR: discard fake overrides for property accessors according to base visibility
2020-07-01 13:59:42 +03:00
Nikita Bobko
6985c5fd2a
202: Fix KotlinJpsBuildTest tests
...
Test failure was caused by "replace custom source root types to a special
'unknown' type and back on plugin unload/load (IDEA-235292)" in intellij.
We override `getModuleSourceRootPropertiesSerializers` in `KotlinModelSerializerService`
by inheriting from `KotlinCommonJpsModelSerializerExtension`
2020-07-01 11:31:23 +03:00
Nikita Bobko
4e65b2fb9e
Refactoring: mark const strings with const keyword
2020-07-01 11:31:23 +03:00
Nikita Bobko
31e45d4f4c
202: Fix some ParameterInfoTestGenerated
...
Speaking strictly:
* `ParameterInfoTestGenerated$WithLib1.testUseJavaFromLib`
* `ParameterInfoTestGenerated$WithLib2.testUseJavaSAMFromLib`
* `ParameterInfoTestGenerated$WithLib3.testUseJavaSAMFromLib`
2020-07-01 11:31:23 +03:00
Nikita Bobko
cbc57351f5
202: Fix SlicerLeafGroupingTestGenerated tests
2020-07-01 11:31:22 +03:00
Nikolay Krasko
0d71b7ac2c
202: Add fastutil jar to tests dependencies
2020-07-01 11:31:22 +03:00
Nikolay Krasko
ca7169b84f
202: Disable ignored plugins check in compiler environment
...
Stacktrace:
java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
at com.intellij.ide.plugins.PluginManagerCore.getBrokenPluginVersions(PluginManagerCore.java:207)
at com.intellij.ide.plugins.PluginManagerCore.createLoadingResult(PluginManagerCore.java:825)
at com.intellij.ide.plugins.DescriptorListLoadingContext.createSingleDescriptorContext(DescriptorListLoadingContext.java:61)
at com.intellij.ide.plugins.PluginManagerCore.registerExtensionPointAndExtensions(PluginManagerCore.java:1397)
at com.intellij.core.CoreApplicationEnvironment.registerExtensionPointAndExtensions(CoreApplicationEnvironment.java:266)
at org.jetbrains.kotlin.cli.jvm.compiler.CoreApplicationEnvironmentCompatKt.registerExtensionPointAndExtensionsEx(coreApplicationEnvironmentCompat.kt:17)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerApplicationExtensionPointsAndExtensionsFrom(KotlinCoreEnvironment.kt:534)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createApplicationEnvironment(KotlinCoreEnvironment.kt:505)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.getOrCreateApplicationEnvironmentForProduction(KotlinCoreEnvironment.kt:465)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:92)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:76)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:45)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:227)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit$default(CLITool.kt:225)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:214)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:262)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt)
2020-07-01 11:31:22 +03:00
Nikita Bobko
ef562598ea
202: Fix MultiFileJvmBasicCompletionTestGenerated
...
It was broken by 4bef803e1b5994e9ea9731acfb5095a94b1b1383 in intellij
2020-07-01 11:31:21 +03:00
Nikita Bobko
3187bb2aa4
202: Fix KotlinMavenImporterTest#testJDKImport test
...
Test failure was caused by 8e1ab882641db695e3b70085d14a59e1e8e9f579 +
b79ca6e3a855b9d74dba129583d7ed25ecd2f552 in intellij
2020-07-01 11:31:21 +03:00
Nikita Bobko
5c95c48c90
202: Fix GradleFacetImportTest#testJDKImport test
...
Test failure was caused by 8e1ab882641db695e3b70085d14a59e1e8e9f579 +
b79ca6e3a855b9d74dba129583d7ed25ecd2f552 in intellij
2020-07-01 11:31:21 +03:00
Nikita Bobko
536c4bbab1
202: Fix KotlinEvaluateExpressionTestGenerated.SingleBreakpoint
...
Now `getTreeEvaluation` returns `CompletableFuture<PsiElement>` not `PsiElement` as it was in 201
2020-07-01 11:31:20 +03:00
Nikita Bobko
046030e301
202: Fix "Module 'foo': No SDK defined" in tests
...
Fixes several tests in 202:
* NewMultiplatformProjectImportingTest
* KaptImportingTest
* ...
This failure was caused by b79ca6e3a855b9d74dba129583d7ed25ecd2f552 in intellij
2020-07-01 11:31:20 +03:00
Nikita Bobko
8fb82c2cb7
202: Fix missing formatting in nJ2K tests
...
Formatting in nJ2K tests (actually it still works in IDE) was broken by
dee00ac38946b8a8a5165dffd083e67c85935723 in intellij
2020-07-01 11:31:20 +03:00
Nikita Bobko
264094861d
202: Fix null passed to @NotNull in PomModelImpl
...
Fixes `AdditionalResolveDescriptorRendererTestGenerated#testAnonymousObjectInClassParameterInitializer`
and others
2020-07-01 11:31:19 +03:00
Vladimir Dolzhenko
853503d75f
Force perform FULL analysis to avoid redundant analysis for the current open file
...
#KT-38687 Fixed
2020-07-01 08:22:58 +00:00
Sergey Rostov
1a82c94979
revert accidentally committed project.xml
2020-07-01 10:36:40 +03:00
Mikhail Zarechenskiy
d9fc71b8c0
Advance bootstrap to 1.4.20-dev-1515
2020-07-01 10:11:13 +03:00
Denis Zharkov
3ce980fd88
Fix incremental compilation for calls to inner classes from supertypes
...
The problem became actual after 8c2baf0704
2020-07-01 06:55:52 +03:00
Mikhail Zarechenskiy
6b81cc8b77
Update test data as stdlib now isn't pre-release
2020-06-30 22:59:23 +03:00
Mikhail Zarechenskiy
94dcff5bab
Advance bootstrap to 1.4.20-dev-1508
2020-06-30 21:48:30 +03:00
Mikhail Zarechenskiy
f37f89a151
Set KotlinCompilerVersion.IS_PRE_RELEASE = false
...
Since master is 1.4.20 now and branch 1.4.0 is 1.4-RC
#KT-39860 Fixed
2020-06-30 21:01:45 +03:00
Mikhail Bogdanov
b5b5c8aebc
Check target for -Xjvm-default modes
...
#KT-39925 Fixed
2020-06-30 19:47:06 +02:00
Dmitriy Dolovov
3e42b9d527
[Commonizer] Remove unused property from CirFunction
2020-07-01 00:12:03 +07:00
Nikolay Krasko
21fa2bf98c
Switch to 201 platform
2020-06-30 19:53:18 +03:00
Nikolay Krasko
50863b6985
Fix using swing ComboBox and wrong bunching
2020-06-30 19:53:17 +03:00
Nikolay Krasko
2c1b01fcf6
Setup standalone environment in BuiltInsSerializer
...
Main change is in calling setupIdeaStandaloneExecution()
2020-06-30 19:53:17 +03:00
Nikolay Krasko
3b2e1cfa39
Show TeamCity user for agent builds
2020-06-30 19:53:17 +03:00
Dmitry Gridin
86fe10ba44
AddDefaultConstructorFix: fix testData
...
#KT-20718
2020-06-30 23:22:08 +07:00
Toshiaki Kameyama
7be5410877
Add a quick fix for NO_CONSTRUCTOR error on 'expect' annotation entry
...
#KT-20718 Fixed
2020-06-30 23:22:08 +07:00
Mikhail Glukhikh
d846a22e33
[FIR] Introduce & use FirTypeRef.coneType
2020-06-30 18:49:06 +03:00
Toshiaki Kameyama
0392fe75fc
Convert to block body: specify non-nullable type when body expression is platform type and overriden method is non-nullable type
...
#KT-12222 Fixed
2020-06-30 22:47:13 +07:00
Dmitry Petrov
d37b616e1f
JVM_IR: Fix enum classes ABI
...
1. Enum entry fields don't have nullability annotations.
2. Enum class special methods (values, valueOf) are not 'final'
(although they probably should be, javac generates corresponding
methods without ACC_FINAL flag).
3. Enum class special methods don't have nullability annotations.
4. Don't generate synthetic accessor for enum entry class constructor.
KT-37019 KT-37020 KT-37021
2020-06-30 18:24:25 +03:00
Stanislav Erokhin
f753824429
Advance bootstrap version to 1.4.20-dev-1401
2020-06-30 17:56:11 +03:00
Ilmir Usmanov
7536da788c
Minor. Update test
2020-06-30 16:54:36 +02:00
Jinseong Jeon
34174d6e7d
FIR deserializer: load annotations for property and fields, along with use-site targets
2020-06-30 17:28:22 +03:00
Mikhail Bogdanov
3580c7c28c
Write proto flag about compatibility mode
...
There is no any special aim for this flag now.
But it could be useful in future in case of compatibility mode deprecation
2020-06-30 14:59:01 +02:00
Vladimir Dolzhenko
f372a0fe6c
Force full analysis even if incremental analysis is available but existed is erroneous
2020-06-30 12:53:34 +00:00
Konstantin Tskhovrebov
343e645282
Rename and refactor kmm plugin packages, task names, ids and etc.
2020-06-30 15:28:39 +03:00
Vladimir Dolzhenko
48a9226e1c
Fix copy-paste from KTS files
...
#KT-37517 Fixed
2020-06-30 12:24:31 +00:00
Toshiaki Kameyama
0a230905ae
Remove redundant spread operator: don't report if overloaded functions cannot be resolved
...
#KT-38282 Fixed
2020-06-30 19:16:22 +07:00
Ilya Kirillov
f179b39c70
Wizard: fix project template list size
2020-06-30 15:10:55 +03:00
Aleksei Cherepanov
b9b068ff63
Fix FirMultiModuleResolveTestGenerated tests
2020-06-30 14:16:52 +03:00
Sergey Igushkin
8ba131290a
Fixup for 1f5fa5eb7 – adjust error message
2020-06-30 13:14:03 +03:00
Sergey Igushkin
1f5fa5eb7c
Add back empty stub implementations of KotlinGradleSubplugin (KT-39809)
...
* If a KotlinGradleSubplugin implements
KotlinCompilerPluginSupportPlugin, don't apply it as a legacy plugin
* Add the legacy KotlinGradleSubplugin implementations back so that
when there's JAR hell with META-INF/services in the old artifacts
pointing to the classes, loading the plugins with ServiceLoader (legacy
implementation) from the new artifacts would not fail.
* There's a corner case for plugins not in kotlin-gradle-plugin
If a newer and older version of such a subplugin is used with an older
version of the Kotlin Gradle plugin, the latter will find the META-INF
entries and will try to load the subplugins from the new version. With
the original fix for KT-39809, this would result in silently ignored
empty stub implementations.
Given that the Kotlin Gradle plugin can now check if a subplugin
supports the new API, it's OK to keep the old entries and make the
stub implementations throw a build error when called, so that improper
plugin versions are not ignored and are clearly reported.
Note that this is only necessary for the subplugins not bundled in the
kotlin-gradle-plugin module, as those will always be in sync with the
Kotlin version.
Issue #KT-39809 Fixed
2020-06-30 12:51:51 +03:00
Sergey Igushkin
cb936dd82e
Fix internals with symlinked friend paths (KT-35341)
...
The friend paths converted to canonical paths didn't match absolute
paths in the compiler code in case of symlinked directories.
This fixes a regression.
Issue #KT-35341 Fixed
2020-06-30 12:51:50 +03:00
kvirolainen
5b1d019bb0
Added Incomplete destructuring inspection
...
#KT-21223 Fixed
2020-06-30 11:47:27 +02:00
Sergey Igushkin
e6bca819d4
Remove kotlin.native.linkFromSources, expose tasks' sources
...
* Drop the deprecated mode in the Kotlin/Native link
tasks using sources rather than the intermediate
compiled klib.
* Remove the `allSources` and `commonSources`
properties from the KotlinNativeCompilation, use the
tasks' properties instead.
2020-06-30 12:27:14 +03:00
Mads Ager
c3b5b21845
[JVM] Extend stepping tests with <clinit> stepping.
...
In addition, made the stepping information for constructor calls
consistent across JVM_IR and JVM. For JVM_IR that stepping behavior
is consistent for enum constructor calls in <clinit> for JVM it
is not.
2020-06-30 11:18:29 +02:00
Ilya Kirillov
2693664aa7
FIR IDE: unmute tests after introducing fake element kinds
2020-06-30 11:55:59 +03:00
Ilya Kirillov
9baced20c4
FIR IDE: find FIR element by PSI one only if FIR have a real source
...
Also, add a check that there is only one element with the same real source
2020-06-30 11:55:58 +03:00
Ilya Kirillov
5acdad29ec
FIR: change source of existing type refs in DataClassMembersGenerator to avoid sources clash
2020-06-30 11:55:57 +03:00
Ilya Kirillov
650f2dd713
FIR: consider source of FirSingleExpressionBlock as a fake one
2020-06-30 11:55:56 +03:00
Ilya Kirillov
1c564e1bd6
FIR: add ImplicitTypeRef to the control flow fir element sources
2020-06-30 11:55:56 +03:00
Ilya Kirillov
94967bcd00
FIR: introduce element kind for source elements
...
It is needed for FIR IDE to determine if FIR element was built by PSI
or it is generated one
2020-06-30 11:55:53 +03:00
Dmitriy Novozhilov
f6e653b242
[FIR] Fix compilation broken in 309050d9
2020-06-30 11:43:46 +03:00
Dmitriy Novozhilov
309050d956
[FIR] Add ExtensionFunctionType attribute
...
#KT-39034 Fixed
2020-06-30 11:30:19 +03:00
Dmitriy Novozhilov
1d3c0f56a9
[FIR] Save type attributes in substitution
2020-06-30 11:30:19 +03:00
Dmitriy Novozhilov
25fd5cd4ac
[FIR] Save type attributes in ConeKotlinType.withNullability
2020-06-30 11:30:19 +03:00
Dmitriy Novozhilov
840d3975cc
[FIR] Add computing type attributes for deserialized types
2020-06-30 11:30:19 +03:00
Dmitriy Novozhilov
cfa250957a
[FIR] Fix creating type attributes for intersection types
2020-06-30 11:30:18 +03:00
Jinseong Jeon
fab9ee47f9
FIR deserializer: proper annotation loading for value parameter of property setter
2020-06-30 11:01:03 +03:00
Toshiaki Kameyama
9308525d93
Add receiver of kotlin.text.toPattern to standard Kotlin injections
...
#KT-39231 Fixed
2020-06-30 14:26:37 +07:00
Vyacheslav Karpukhin
787d22c93e
Created bunch 203
2020-06-30 03:41:51 +02:00
Egor Zhdan
09a111239e
Stabilize ProjectTaskRunner registration order
2020-06-29 23:11:54 +02:00
Vyacheslav Karpukhin
866e5397d9
New ultimate modules
2020-06-29 23:11:54 +02:00
Ilmir Usmanov
ed80b431f0
Restore refined int-type analysis
2020-06-29 21:42:30 +02:00
Alexander Gorshenev
8920e68584
Muted .IncrementalJsKlibCompilerRunnerTestGenerated.ClassHierarchyAffected.testMethodRemoved
...
until we have full fledged fake override support in klib
2020-06-29 21:58:32 +03:00
Alexander Gorshenev
41a472693a
Updated extraHelp test data for the new flags
2020-06-29 21:58:32 +03:00
Alexander Gorshenev
bf419bc243
Compute correct signature for fake override properties with type parameters
2020-06-29 21:58:32 +03:00
Alexander Gorshenev
d90c383287
Fine tuned fake override validator for internals
2020-06-29 21:58:32 +03:00
Alexander Gorshenev
e08b800eb9
Treat internals as publics for fake override construction
2020-06-29 21:58:31 +03:00
Alexander Gorshenev
e61960f333
Fake override construction fallback mode
2020-06-29 21:58:31 +03:00
Alexander Gorshenev
de79e3bec3
Added -Xdisable-fake-override-validator
2020-06-29 21:58:31 +03:00
Ilmir Usmanov
f127a0f593
Add flag to disable new spilled variable type analysis
2020-06-29 20:50:43 +02:00
Mikhail Zarechenskiy
d7df6e1e0c
Avoid references to DeprecatedSinceKotlin to fix JPS build
2020-06-29 21:49:01 +03:00
Ilmir Usmanov
28e6028af4
Minor. Add test
2020-06-29 20:13:40 +02:00
Ilmir Usmanov
da12532669
Ignore fake inliner variables in merge operation
...
since they are not read and just markers.
#KT-39863 Fixed
2020-06-29 20:13:37 +02:00
Mikhail Zarechenskiy
b0b8d40b71
Update ApiTest.testIrStdlib for JS, an addition to 9be8c5b5
2020-06-29 21:09:19 +03:00
Dmitry Petrov
e4198466b8
JVM_IR: No nullability annotations on static lambda instances
2020-06-29 19:32:03 +03:00
Dmitry Petrov
eefa621c56
JVM_IR KT-37006: InlineOnly property accessors are private in bytecode
2020-06-29 19:08:58 +03:00
Alexander Udalov
b94a4d9fc3
Render more information on inner classes in bytecode listing tests
2020-06-29 17:33:39 +02:00
Vyacheslav Gerasimov
4bb670e667
Build: Use project kotlin-reflect in fir tree generator
...
To avoid unstable dependency substitution depending on local version
2020-06-29 18:17:09 +03:00
Vyacheslav Gerasimov
1ef68dfffd
Build: Fix kotlin-test-js-ir:commonMainSources to copy only sources
...
Copying previous build result with sources leads to unstable task inputs
2020-06-29 18:17:08 +03:00
Vyacheslav Gerasimov
5198020c29
Build: Fix kotlin-stdlib related errors during jps build import
2020-06-29 18:17:08 +03:00
Vyacheslav Gerasimov
63b7350046
Build: Use sources from kotlin mpp source set in sourcesJar helper
2020-06-29 18:17:08 +03:00
Vyacheslav Gerasimov
77a8cf4e66
Build: Use attributes to resolve test dependencies in jps build mode
2020-06-29 18:17:08 +03:00
Igor Yakovlev
a32f901ab9
Make property initializer modification is OutOfBlock change
...
Fixed #KT-38762
2020-06-29 18:05:05 +03:00
Mikhail Zarechenskiy
507a718632
Update tests for completion after adding DeprecatedSinceKotlin
2020-06-29 17:41:05 +03:00
Mikhail Zarechenskiy
87014f816c
Update ApiTest.testStdlib for JS, an addition to 9be8c5b5
2020-06-29 17:04:42 +03:00
Mikhail Glukhikh
d798071e06
IrConstTransformer: drop unnecessary argument existence check
2020-06-29 16:31:24 +03:00
Jinseong Jeon
c3fc524c0d
FIR: handle named arguments in annotations properly
2020-06-29 16:23:03 +03:00
Mikhail Glukhikh
4f36697737
[FIR2IR] Mute 2 BB tests failing due to signature clashing
2020-06-29 16:08:26 +03:00
Mikhail Glukhikh
6cb3687d5d
[FIR2IR] Replace 'throw AssertionError()' with error() / assert() {...}
2020-06-29 16:08:15 +03:00
Mikhail Glukhikh
69ec8f2d89
[FIR2IR] Allow to get cached symbols in fake override generator
2020-06-29 16:08:14 +03:00
Mikhail Glukhikh
c4d41f48a3
[IR] Allow Fir2Ir symbols in function factory
2020-06-29 16:08:12 +03:00
Mikhail Glukhikh
a6234eb261
[FIR2IR] Don't compose signatures for private declarations
2020-06-29 16:08:11 +03:00
Mikhail Glukhikh
19d115778b
[IR] Allow fast reference path in SymbolTable for wrapped descriptors
2020-06-29 16:08:10 +03:00
Mikhail Glukhikh
90f9b9c1c9
[FIR2IR] Unmute 6 fixed BB tests
2020-06-29 16:08:09 +03:00
Mikhail Glukhikh
2d5e6bb90b
[FIR2IR] Introduce lazy properties
2020-06-29 16:08:08 +03:00
Mikhail Glukhikh
efd614194b
[FIR2IR] Make Fir2IrBindableSymbol public API
2020-06-29 16:08:06 +03:00
Mikhail Glukhikh
ca5e560f1f
[FIR2IR] Introduce lazy constructors
2020-06-29 16:08:05 +03:00
Mikhail Glukhikh
fcabd02fe8
[FIR] Take class expect flag into account in its substitution scope
2020-06-29 16:08:00 +03:00
Mikhail Glukhikh
c1609ed490
[FIR] Make expect class members also expect
2020-06-29 16:07:50 +03:00
Mikhail Glukhikh
2fefa682b7
[FIR2IR] Do not compose signature for local class members
2020-06-29 16:07:49 +03:00
Mikhail Glukhikh
9a0e763761
[FIR2IR] Require classId from parent class for fake overrides
2020-06-29 16:07:48 +03:00
Mikhail Glukhikh
34a2196295
FirClassSubstitutionScope: extract SubstitutedData & reorder functions
2020-06-29 16:07:43 +03:00
Mikhail Glukhikh
bf009a4949
[FIR2IR] Handle delegating constructor call type arguments properly
2020-06-29 16:07:30 +03:00
Mikhail Glukhikh
2cffbadbd5
[FIR2IR] Use overridden symbol when handling delegating constructor call
2020-06-29 16:07:29 +03:00
Mikhail Glukhikh
456508a332
IR SymbolTable: don't allow unbound symbols in declare by signature only
2020-06-29 16:07:27 +03:00
Mikhail Glukhikh
7243d04f58
[FIR2IR] Simplification of property building in lazy class
2020-06-29 16:07:26 +03:00
Mikhail Glukhikh
a8db7b3ba6
[FIR2IR] Simplification of function building in lazy class
2020-06-29 16:07:25 +03:00
Mikhail Glukhikh
f7be373711
Add extra parent checks in Fir2IrLazyClass
2020-06-29 16:07:24 +03:00
Ivan Kylchik
13f7b6a22e
Create separate constructor for ir interpreter with only ir builtins
...
By introducing this constructor, ir interpreter will no longer find ir
exceptions in module and so interpreter is creating faster for fir2ir
goals
2020-06-29 15:27:26 +03:00
Ivan Kylchik
de2b20482a
Allow IrConstTransformer to visit and evaluate vararg elements
2020-06-29 15:27:25 +03:00
Ivan Kylchik
6fa03297f9
Allow IrConstTransformer to visit annotations of all declarations
2020-06-29 15:27:25 +03:00
Ivan Kylchik
c87b12ec2f
Speed up fir2ir constant evaluation
...
This fix extract IrConstTransformer object to a common variable and all
files then use it
2020-06-29 15:27:24 +03:00
Mikhail Zarechenskiy
032fdd63d9
Ignore codegen test for Android
...
There is no such method as java.util.List.stream
2020-06-29 15:26:20 +03:00
Leonid Startsev
6ea0c37e52
Update test data with new package name after 901d8f3e7a
2020-06-29 15:09:30 +03:00
Mikhail Zarechenskiy
6efa7a51c6
Fix priority for "add import" action wrt DeprecatedSinceKotlin
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
beca7fca30
Fix completion order & presentation wrt to DeprecatedSinceKotlin
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
bcaa635a4e
Fix parameter info presentation with regard to DeprecatedSinceKotlin
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
9be8c5b527
Update test data about built-ins
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
b7df9ec05a
Implement equals/hashCode as this class previously was a data one
...
Fixes duplicated diagnostics in tests
2020-06-29 14:25:08 +03:00
Mikhail Zarechenskiy
a2da00eb49
Prohibit using DeprecatedSinceKotlin outside kotlin subpackage
2020-06-29 14:25:08 +03:00
Mikhail Zarechenskiy
790433984b
Prohibit using DeprecatedSinceKotlin annotation without arguments
2020-06-29 14:25:08 +03:00
Mikhail Zarechenskiy
67100d5ebe
Reject values of DeprecatedSince.. that are not parseable as a version
2020-06-29 14:25:07 +03:00
Mikhail Zarechenskiy
5d88058928
Place DeprecatedSinceKotlin annotation under 1.4 version
2020-06-29 14:25:06 +03:00
Mikhail Zarechenskiy
2f55a3fa0d
Add various test for DeprecatedSinceKotlin annotation
2020-06-29 14:23:26 +03:00
Mikhail Zarechenskiy
0f2c96c64d
Don't perform additional lookups for DeprecatedSinceKotlin annotation
...
There is no need to check it as `DeprecatedSinceKotlin` can be used
only along with `Deprecated` annotation
2020-06-29 14:23:22 +03:00
Mikhail Zarechenskiy
158013ef3a
Remove message and replaceWith parameters from DeprecatedSinceKotlin
2020-06-29 14:22:33 +03:00
Mikhail Zarechenskiy
60c51476f2
Introduce declaration checker for DeprecatedSinceKotlin annotation
...
- DeprecatedSinceKotlin annotation should only be applicable when
there's `@Deprecated` annotation on the same declaration
- Deprecation level shouldn't be specified in the relevant
`@Deprecated` annotation
- Check that warningSince <= errorSince <= hiddenSince
2020-06-29 14:22:32 +03:00
Alexander Udalov
0aaf29c045
Introduce DeprecatedSinceKotlin annotation
...
This annotation will be used in the standard library to prevent the new
compiler from reporting deprecation diagnostics in case an older API
version is used (where the declaration was not deprecated yet).
#KT-23575 Fixed
2020-06-29 14:22:29 +03:00
Dmitriy Dolovov
b2022144e6
[Commonizer] Fast-pass for library fragments absent for some targets
...
^KT-39897
2020-06-29 16:40:59 +07:00
Dmitriy Novozhilov
ee22488ab2
[FIR] Cleanup FIR modules. Part 8 (types package)
2020-06-29 12:19:06 +03:00
Dmitriy Novozhilov
2c3fe8b8ec
[FIR] Cleanup FIR modules. Part 7 (scopes package)
2020-06-29 12:19:06 +03:00
Dmitriy Novozhilov
c6124f6d56
[FIR] Cleanup FIR modules. Part 6 (transformers package)
2020-06-29 12:19:05 +03:00
Dmitriy Novozhilov
e817f919c2
[FIR] Cleanup FIR modules. Part 5 (body.resolve package)
2020-06-29 12:19:05 +03:00
Dmitriy Novozhilov
285b6d28af
[FIR] Cleanup FIR modules. Part 4 (providers and resolve packages)
2020-06-29 12:19:05 +03:00
Dmitriy Novozhilov
1d90302848
[FIR] Cleanup FIR modules. Part 3 (inference package)
2020-06-29 12:19:05 +03:00
Dmitriy Novozhilov
1766c22f6f
[FIR] Cleanup FIR modules. Part 2 (dfa package)
2020-06-29 12:19:04 +03:00
Dmitriy Novozhilov
604c68b3a0
[FIR] Cleanup FIR modules. Part 1 (calls package)
2020-06-29 12:19:04 +03:00
Dmitriy Novozhilov
1ac0e8449b
[FIR] Move FirJavaTypeRef to fir.jvm module
2020-06-29 12:19:04 +03:00
Dmitriy Novozhilov
fd1de9b298
[FIR] Fix typo in FirCloneableSymbolProvider
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
57b9baac53
[FIR] Get rid of FirSession.inferenceContext
...
Leave only FirSession.typeContext
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
43bb60addb
[FIR] Remove workaround for KT-39659
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
7834284bec
[FIR] Support deserialization of value parameter annotations
...
There are still some problems, see KT-39837
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
2b2f9b3386
[FIR] Remove delegate specific methods from abstract inference session
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
9c6ed2ea02
[FIR] Complete delegate calls in default inference session
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
dbbb999952
[FIR] Support builder (coroutine) inference
...
#KT-37431 Fixed
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
6a9504f26a
[FIR-TEST] Add coroutines diagnostic tests from old FE to FIR test suite
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
d0affc6c6a
[FIR] Rename ResolverParts.kt to ResolutionStages.kt
2020-06-29 12:19:01 +03:00
Dmitriy Novozhilov
de1b5cd056
[FIR] Add extracting @Exact and @NoInfer attributes from annotations
...
(cherry picked from commit e4c8c14e3e )
2020-06-29 12:19:01 +03:00
Dmitriy Novozhilov
7ab3dd04a0
[FIR] Add attributes for @Exact and @NoInfer
...
(cherry picked from commit e43932f147 )
2020-06-29 12:19:01 +03:00
Dmitriy Novozhilov
ac51e5dbd1
[FIR] Add workaround for KT-19306
2020-06-29 12:19:00 +03:00
Dmitriy Novozhilov
3f5db6b86e
[FIR] Add ConeAttributes to ConeKotlinType
...
(cherry picked from commit f76befa84e )
2020-06-29 12:19:00 +03:00
Dmitriy Novozhilov
e76f3f93f6
[FIR] Move ArrayMap to cones module
...
(cherry picked from commit 407d1365bd )
2020-06-29 12:19:00 +03:00
Abduqodiri Qurbonzoda
d3fb9cc5f3
Deprecate with error mixed Int/FP contains operator for ranges KT-22423
2020-06-29 12:18:19 +03:00
Vladimir Dolzhenko
ab20b3e083
Add InterruptedException handler to CancellableSimpleLock
...
#EA-220650 Fixed
2020-06-29 08:47:53 +00:00
Vladimir Dolzhenko
a9444c386d
Use actual import list on PlainTextPaste
...
#EA-225256 Fixed
2020-06-29 08:47:52 +00:00
Dmitry Gridin
30f98e6730
Inline refactoring: shouldn't lose return type information
...
#KT-26705 Fixed
2020-06-29 07:55:21 +00:00
Dmitry Gridin
c3b726f10a
Inline refactoring: should add explicit type argument for parameters
...
#KT-17402 Fixed
2020-06-29 07:55:20 +00:00
Dmitry Gridin
45234c9784
Inline refactoring: fix case with introduction of variable to return
...
#KT-39818 Fixed
2020-06-29 07:55:20 +00:00
Andrey Uskov
f4e9acb233
Escape arguments when Gradle plugin launches out of process compilation
...
#KT-39755 Fixed
2020-06-28 11:38:04 +03:00
Yunir Salimzyanov
90dae320c3
Specify full name of parametrized flaky test to synchronize it on TeamCity
...
KTI-239
2020-06-27 13:29:18 +03:00
Yunir Salimzyanov
b795e50e61
Add logic to synchronize muted tests on teamcity with database flaky tests
...
KTI-239
2020-06-27 13:29:18 +03:00
Yunir Salimzyanov
a382bef144
Extract classes and related functions of muteWithDatabase to separate module
2020-06-27 13:29:18 +03:00
Yunir Salimzyanov
4474077963
Create separate module for muting tests logic
2020-06-27 13:29:17 +03:00
Georgy Bronnikov
5e115c48b3
Unmute FIR test
2020-06-27 00:25:34 +03:00
Shagen Ogandzhanian
8a393ec041
Update dukat dependency to 0.5.4
2020-06-26 21:05:21 +02:00
Leonid Startsev
901d8f3e7a
Rename several core entities as a part of kx.serialization abi change
2020-06-26 20:31:23 +03:00
Leonid Startsev
5208bbcd21
Support new ContextSerializer signature
2020-06-26 20:31:22 +03:00
Toshiaki Kameyama
7ea1700b78
Convert lambda to reference: support generic function call
...
#KT-14578 Fixed
#KT-14395 Fixed
2020-06-26 20:30:39 +03:00
Dmitry Petrov
2137a4b1e5
JVM, JVM_IR: no nullability annotations on private and synthetic methods
...
NB it looks like it doesn't cover all cases, e.g., some synthetic
methods generated for suspend functions.
2020-06-26 18:51:35 +03:00
Georgy Bronnikov
5684e694b5
JVM_IR: handle diamond inheritance for Java fields
2020-06-26 18:46:41 +03:00
Anton Bannykh
da79f93c61
JS IR: per-module .js generation support
2020-06-26 17:55:33 +03:00
Anton Bannykh
deb5dc1057
Don't merge files into a single module
2020-06-26 17:55:33 +03:00
Anton Bannykh
5239ab477c
Lowerings apply to a list of modules
2020-06-26 17:55:33 +03:00
Anton Bannykh
9a1d9814de
Simpify phase building
2020-06-26 17:55:33 +03:00
Anton Bannykh
2e68526b44
Merge ES6 pipeline
2020-06-26 17:55:32 +03:00
Anton Bannykh
a1c9ee1013
Mute failing ES6 phases
2020-06-26 17:55:32 +03:00
Alexey Trilis
955087868a
KT-39843 Update project wizard templates after replacing kotlin.browser with kotlinx.browser
...
#KT-39843 Fixed
2020-06-26 17:54:02 +03:00
Denis Zharkov
66e53305bf
FIR: Leave only one composite-like scope implementation
2020-06-26 16:52:10 +03:00
Denis Zharkov
09bb755088
FIR: Pass scope to FirSpecificTypeResolverTransformer as data
2020-06-26 16:52:10 +03:00
Denis Zharkov
cea38771f1
FIR: Unbound TypeResolver from IterableScope
2020-06-26 16:52:10 +03:00
Denis Zharkov
b607cecc2b
FIR: Clear JavaTypeParameterStack
...
- Remove unused method
- Rename method to make it findable through "Find usages"
2020-06-26 16:52:10 +03:00
Denis Zharkov
f3e4e9b162
FIR: Make qualifier have only one static scope
...
It's more correct as that's how it works in FE 1.0
2020-06-26 16:52:10 +03:00
Denis Zharkov
a017109d7d
FIR: Use static scope for importing from non-object classes
2020-06-26 16:52:10 +03:00
Denis Zharkov
396c6377f8
FIR: Do not check statics in MemberScopeTowerLevel
...
Type scopes should not contain them anymore
2020-06-26 16:52:10 +03:00
Denis Zharkov
9668a60151
FIR: Explicitlty separate static and member scopes
...
For Java, they have rather different semantics considering "overrides"
and obtaining functions/properties from supertypes
See the Java statics implementation
2020-06-26 16:52:10 +03:00
Denis Zharkov
e058c578a8
FIR: Minor. Make method private
2020-06-26 16:52:10 +03:00
Denis Zharkov
24d7d208a0
FIR: Extract Java class rendering in tests
2020-06-26 16:52:10 +03:00
Denis Zharkov
9b5b882dcb
Add "*.jar binary" to .gitattributes
2020-06-26 16:52:10 +03:00
Ilya Goncharov
be2d6b99f6
[Gradle, JS] Add test on changing of default value for generating externals
2020-06-26 16:26:13 +03:00
Ilya Goncharov
4bfcb4b041
[Gradle, JS] Use common projectName fun
2020-06-26 16:26:13 +03:00
Ilya Goncharov
89c1af4feb
[Gradle, JS] Add tests on changing generating externals for npm deps
2020-06-26 16:26:13 +03:00
Ilya Goncharov
891071e074
[Gradle, JS] Add assertSingleFileExists
2020-06-26 16:26:13 +03:00
Ilya Goncharov
405412f6c1
[Gradle, JS] Use generateExternalsIntegrated instead of full build
2020-06-26 16:26:13 +03:00
Ilya Goncharov
f584fb1576
[Gradle, JS] Add test on integrated dukat task
2020-06-26 16:26:13 +03:00
Ilya Goncharov
1a9f236a60
[Gradle, JS] Add tests on Separate Dukat integration
2020-06-26 16:26:12 +03:00
Ilya Goncharov
007970ded8
[Gradle, JS] Add independent peer npm dependency to test
...
^KT-39842 fixed
2020-06-26 16:20:45 +03:00
Ilya Goncharov
bd05b447c0
[Gradle, JS] Ignore peer dependencies in yarn resolution
...
^KT-39842 fixed
2020-06-26 16:20:35 +03:00
Dmitry Petrov
9468670980
Minor: update testData with nullability annotations
2020-06-26 15:17:23 +03:00
Dmitry Petrov
64e47265e1
JVM, JVM_IR: no nullability annotations on lateinit backing fields
2020-06-26 15:08:23 +03:00
Toshiaki Kameyama
e822e871f5
KT-39532 Support intention to convert reference to lambda and vice versa for adapted references ( #3495 )
...
* Convert lambda to reference: support a function which has default parameters/unit return type/suspendability
#KT-39532 Fixed
2020-06-26 14:21:17 +03:00
Mikhail Zarechenskiy
a87b25d10e
Don't silently ignore argument mismatch for provide delegate
...
#KT-39816 Fixed
2020-06-26 14:03:49 +03:00
Mikhail Zarechenskiy
ea5fef76d1
Fix ambiguity on reference inside blocks of special functions
...
#KT-37058 Fixed
2020-06-26 14:03:49 +03:00
Mikhail Zarechenskiy
c2c139ef4f
Fix adaptation for references with default values after varargs
...
After vararg argument it's possible to pass values only by name, so
here we modulate this behavior
#KT-37721 Fixed
2020-06-26 14:03:48 +03:00
Mikhail Zarechenskiy
c5a2ab2512
Callable reference adaptation should have dependency on API version 1.4
...
#KT-38069 Fixed
2020-06-26 14:03:47 +03:00
Mikhail Zarechenskiy
bc40669598
Prohibit functional interface constructor references
...
#KT-36706 Fixed
2020-06-26 14:03:47 +03:00
Ilya Gorbunov
e3050cd997
Minor tweaks in js api dump run configuration
...
- parallel build
- clean test results before running tests again
2020-06-26 13:53:49 +03:00
Ilya Gorbunov
94ab50a21a
Fixup stdlib-js api dump
...
Some strange effect related to loading types from kotlin.reflect.
2020-06-26 13:52:05 +03:00
Ilya Kirillov
366a75e222
Wizard: update versions of used libraries for 1.4-M3
...
#KT-39503 fixed
#KT-39503 fixed
2020-06-26 12:19:35 +03:00
Ilya Kirillov
35d5936829
Wizard: add info about used Kotlin version to project test importing failure
2020-06-26 12:19:34 +03:00
Dmitriy Novozhilov
7ea17f0d31
Revert "[FIR] Move ArrayMap to cones module"
...
This reverts commit 407d1365
2020-06-26 11:47:20 +03:00
Dmitriy Novozhilov
0b29a3e5c1
Revert "[FIR] Add ConeAttributes to ConeKotlinType"
...
This reverts commit f76befa8
2020-06-26 11:47:08 +03:00
Dmitriy Novozhilov
76550d3c5d
Revert "[FIR] Add attributes for @Exact and @NoInfer"
...
This reverts commit e43932f1
2020-06-26 11:46:59 +03:00
Dmitriy Novozhilov
c0634217e1
Revert "[FIR] Add extracting @Exact and @NoInfer attributes from annotations"
...
This reverts commit e4c8c14e
2020-06-26 11:46:50 +03:00
Pavel Kirpichenkov
59e63f549b
Add completion highlighting tests for heavy Kotlin files
...
#KT-37219 In Progress
2020-06-26 11:13:07 +03:00
Pavel Kirpichenkov
5c70f973a5
Force resolution of file annotations before element analysis
...
^KT-37219 In Progress
2020-06-26 11:13:07 +03:00
Dmitriy Novozhilov
e4c8c14e3e
[FIR] Add extracting @Exact and @NoInfer attributes from annotations
2020-06-26 10:54:51 +03:00
Dmitriy Novozhilov
e43932f147
[FIR] Add attributes for @Exact and @NoInfer
2020-06-26 10:54:51 +03:00
Dmitriy Novozhilov
f76befa84e
[FIR] Add ConeAttributes to ConeKotlinType
2020-06-26 10:54:51 +03:00
Dmitriy Novozhilov
407d1365bd
[FIR] Move ArrayMap to cones module
2020-06-26 10:54:50 +03:00
Matts966
36102504a1
Update ReadMe.md
2020-06-26 09:41:57 +02:00
Matts966
20ed42dd38
Update deprecated doc about mac build environment requirements
2020-06-26 09:41:57 +02:00
Toshiaki Kameyama
2fd3af73eb
Convert reference to lambda: fix it works correctly when referenced function has default argument
...
#KT-17222 Fixed
#KT-24138 Fixed
#KT-39532
2020-06-26 10:20:29 +03:00
Mikhail Zarechenskiy
bc34f7f7f5
Add test for obsolete issue
...
#KT-26345 Obsolete
2020-06-26 07:45:25 +03:00
Abduqodiri Qurbonzoda
a04f70fb36
Fix min/maxByOrNull function samples
2020-06-26 07:16:01 +03:00
Mikhail Zarechenskiy
684ca5029f
Add tests for obsolete issues
...
#KT-37734 Obsolete
#KT-39824 Obsolete
2020-06-26 06:24:59 +03:00
shiraji
9844607d0f
Make string literals clickable
...
#KT-35732 Fixed
#KT-32403 Fixed
2020-06-25 22:40:39 +02:00
Igor Yakovlev
f06e116bf7
Improved equals for light decompiled declarations
2020-06-25 23:19:54 +03:00
Igor Yakovlev
27c139926c
LightClass improved isInheritor check for cases when resolve is failed
...
Fixed #KT-37210
2020-06-25 23:17:09 +03:00
Guillaume Darmont
e72a06bdf4
Add specific highlight for Enum class
...
#KT-39844 Fixed
2020-06-25 21:53:19 +02:00
Dmitry Petrov
3f266aafb4
JVM: no nullability annotations on private and synthetic fields
2020-06-25 22:31:12 +03:00
Victor Petukhov
cbd8b58d5c
Commit trace for callable reference's LHS with reserved syntax like foo?::bar?::bar to avoid the lack of diagnostics reporting
...
^KT-35075 Fixed
2020-06-25 20:44:58 +03:00
Ilmir Usmanov
1ee8e615fc
Reuse value is ISTORE if expected type is the same, otherwise, create
...
new value
2020-06-25 18:51:15 +02:00
Ilmir Usmanov
c21820c615
Revert "Revert "Fix merging two reference values""
...
This reverts commit 1cccceabb9 .
2020-06-25 18:51:13 +02:00
Ilmir Usmanov
a6f14c206b
Revert "Revert "Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline""""
...
This reverts commit 447308dcfc .
2020-06-25 18:51:11 +02:00
Kristoffer Andersen
b95d3e711e
[JVM IR] KT-36985: $default respects @Deprecated
...
$default dispatch methods gains @Deprecated if the original function
with default arguments has it.
2020-06-25 18:43:45 +03:00
Ilya Gorbunov
034623f82a
Fix top level import quick fix test for JS
...
There's no longer any JS-only top level function that is not imported
by default, so I used a common non-imported top level function.
2020-06-25 18:36:04 +03:00
Ilya Gorbunov
448e0ceae1
Drop quickfix tests that relied on removed native annotation
2020-06-25 18:36:04 +03:00
Ilya Gorbunov
8dfcebf542
Expose KTypeProjection.STAR constant in a field
...
#KT-30083
2020-06-25 18:25:24 +03:00
Ilya Gorbunov
53cbcfac5a
Validate arguments of KTypeProjection constructor
...
#KT-34596 Fixed
2020-06-25 18:25:24 +03:00
Ilya Gorbunov
d41e8ed4ad
Annotate KTypeProjection factory methods with JvmStatic
...
#KT-30084 Fixed
2020-06-25 18:25:24 +03:00
Ilya Chernikov
e8659d4b37
Fix initializer error arizing on scripting annotation creation
...
also fixes tests in main-kts
2020-06-25 17:21:38 +02:00
Vladimir Dolzhenko
3585f80c67
Fix 201 compilation
...
Relates to #KT-17926
2020-06-25 17:15:13 +02:00
Toshiaki Kameyama
12cd3785b0
Move statement: move parameters/arguments with a comment correctly
...
#KT-34705 Fixed
#KT-34707 Fixed
#KT-34587 Fixed
2020-06-25 15:45:25 +02:00
Raluca Sauciuc
9c8904f165
Restore KotlinExplicitMovementProvider in as40
2020-06-25 15:06:27 +02:00
Norbert Nogacki
990903e4e2
Show documentation for a class if the constructor has no docs
...
#KT-17926 Fixed
2020-06-25 14:42:03 +02:00
Mikhail Glukhikh
699829ccb3
Make FIR multi-module tests from IDE regular FIR compiler resolve tests
2020-06-25 12:35:25 +03:00
Ivan Kylchik
79691feb8f
Fix fir load compiled kotlin tests after introducing const deserializer
2020-06-25 12:30:24 +03:00
Ivan Kylchik
027d177c15
Remove IGNORE_FIR from tests that are using unsigned constants
2020-06-25 12:30:23 +03:00
Ivan Kylchik
c80cf0f34c
Remove IGNORE_FIR from ranges tests
2020-06-25 12:30:21 +03:00
Ivan Kylchik
70f0f357fa
Remove IGNORE_FIR from stepped ranges tests
2020-06-25 12:30:19 +03:00
Ivan Kylchik
6c6b7c8b84
Implement constant deserializer for fir
...
This deserializer is uniform loader, that is responsible for loading
all constants. For example, Math.E, UInt.MAX_VALUE or Float.MIN_VALUE.
2020-06-25 12:30:19 +03:00
Kirill Shmakov
b62e22cb01
Fix Android app in template project
2020-06-25 11:54:23 +03:00
Ivan Kylchik
895c32e21c
Create separate source set for interpreter map generator
...
A separate source set is needed so that the generator no longer depends
on the generated code
2020-06-25 10:45:19 +03:00
Ilya Gorbunov
643d339496
Advance bootstrap to 1.4.20-dev-1080
2020-06-25 02:37:39 +03:00
Vladimir Ilmov
d6483ace94
(UltraLightClasses) fix for processing stubs for Deprecation.HIDDEN annotation fast-path
2020-06-25 00:39:34 +02:00
Mikhail Zarechenskiy
a5ae1b38b0
Don't skip constraints from equations with the kind equal
...
The problem was that we didn't incorporate T == Foo into K <: Inv<out T>.
It happened because of optimisation that isn't applicable here as we
already have projection in the initial type
#KT-39777 Fixed
2020-06-24 23:36:59 +03:00
Toshiaki Kameyama
ab34f8c738
Add indent before accessor for extension property (KT-33131)
...
#KT-33131 Fixed
2020-06-24 21:42:02 +02:00
Alexander Udalov
c6a481190a
JVM: optimize type mapping for primitive types
2020-06-24 19:26:59 +02:00
Alexander Udalov
64f7c3f498
IR: do not use descriptors in IrTypeSystemContext.getPrimitiveType
...
Also optimize getPrimitiveType and getPrimitiveArrayType. Convert
PrimitiveType to Kotlin to leverage the switch over string optimization,
which is not possible in Java 6 (which is used to compile
'descriptors').
2020-06-24 19:26:59 +02:00
Alexander Udalov
7013becda5
IR: remove IrBuiltInOperator, use IrFunctionImpl instead
...
It seems that this is no longer needed. This change in particular helps
to avoid megamorphic interface call on IrValueParameter.accept, which
happens a lot because there are usually many value parameters.
2020-06-24 19:26:55 +02:00
Alexander Udalov
988226a90e
IR: optimize FqNameEqualityChecker.checkViaDeclarations
2020-06-24 19:16:12 +02:00
Alexander Udalov
014d855449
IR: minor, make all overrides in IrElementTransformerVoid final
2020-06-24 19:16:11 +02:00
Alexander Udalov
3c90e25cb4
IR: optimize IrType.isNullable, do not use DFS
...
DFS is not justified for type usages. In contrast to type hierarchies,
traversing the type usage naively with recursion has linear, not
exponential, complexity.
2020-06-24 19:16:11 +02:00
pavlospt
597bc061e2
Add Kotlin Data Class, Sealed Class and Annotation file templates
...
#KT-20775 Fixed
2020-06-24 16:25:51 +02:00
Toshiaki Kameyama
2162c39ab3
Quick doc: show default parameter value
...
#KT-19069 Fixed
2020-06-24 16:20:21 +02:00
Ilya Gorbunov
33150a0809
KT-38817 capitalize uses title case for the first char where available
...
This unifies its behavior with new capitalize overload with Locale.
Co-authored-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com >
2020-06-24 16:45:09 +03:00
Ilya Gorbunov
9e2f95233c
Promote capitalize/decapitalize with Locale to stable
...
Relates to KT-28933
2020-06-24 16:45:08 +03:00
Ivan Kylchik
e34246faec
Fix fir2ir text tests after introducing const evaluator
2020-06-24 16:13:02 +03:00
Ivan Kylchik
8044b47984
Create internalName extension method that returns fqName as jvm internal
2020-06-24 16:13:02 +03:00
Ivan Kylchik
ddd03373cc
Allow to interpret toString method from Any class for ONLY_BUILTINS mode
...
This change aims to support string concatenation operation with const
properties
2020-06-24 16:13:02 +03:00
Ivan Kylchik
6f4f7dd090
Remove coroutines from ir interpreter
2020-06-24 16:13:01 +03:00
Ivan Kylchik
f028d6c898
Move interpreter files to separate module
2020-06-24 16:13:01 +03:00
Ivan Kylchik
64aa0ec5c8
Add new module for ir interpreter
2020-06-24 16:13:01 +03:00
Ivan Kylchik
49124709b8
Remove all usages of descriptors from interpreter
2020-06-24 16:13:01 +03:00
Ivan Kylchik
e4f88e83fe
Get rid of compile time check in generator for ir builtins map
...
These checks are unnecessary because we use all methods from given
classes
2020-06-24 16:13:01 +03:00
Ivan Kylchik
2534b15553
Remove descriptors.jvm dependency from common backend module
...
Common backend should not depend on JVM parts
2020-06-24 16:13:00 +03:00
Ivan Kylchik
8f6a1b418d
Add method to evaluate constant expressions in ir module for fir2ir
2020-06-24 16:13:00 +03:00
Ivan Kylchik
fa221af1b1
Move IrConstTransformer.kt to evaluate package
2020-06-24 16:13:00 +03:00
Ivan Kylchik
932ce71093
Rename method checkForError to replaceIfError
...
This name better reflects the point of this method.
a.replaceIfError(b) will return b instead of a in case a is an error
expression
2020-06-24 16:13:00 +03:00
Ivan Kylchik
b71c74c6ef
Remove descriptor usages in Primitive.kt
2020-06-24 16:13:00 +03:00
Ivan Kylchik
0c6d485c9c
Rename ReturnLabel.NEXT to ReturnLabel.REGULAR
...
This name better describe that this label mean: execution was finished
regular and there is no need to make special processing
2020-06-24 16:13:00 +03:00
Ivan Kylchik
9377d274a8
Drop ExecutionResult class implementations and make it regular class
...
There was 2 implementations that I managed to combine
2020-06-24 16:12:59 +03:00
Ivan Kylchik
c386cbeb54
Move checkNullability function in State.kt file
2020-06-24 16:12:59 +03:00
Ivan Kylchik
e57de9a08f
Mark most of classes and functions from interpreter package as internal
...
Main goal is to avoid ambiguity because some names, that are used by
interpreter, can be found in other modules
2020-06-24 16:12:59 +03:00
Ivan Kylchik
27c52f54ca
Remove IGNORE_FIR from tests that are passing after constant folding
2020-06-24 16:12:59 +03:00
Ivan Kylchik
f20e878d35
Add constant folding after FIR2IR processing
2020-06-24 16:12:59 +03:00
Ivan Kylchik
f2045b857b
Add fix for interpretation const val
...
After FIR2IR processing getter doesn't has body, but has initializer.
On the other hand common IR has body for const val getter
2020-06-24 16:12:59 +03:00
Ivan Kylchik
af6ed5ca43
Change toIrConst extension function logic
...
For now this function check not value, but type. By ir type it create
right ir const
2020-06-24 16:12:59 +03:00
Ivan Kylchik
3155f56d8a
Change the way of receiving fields
...
Before that, interpreted values for fields were taken by backing
field's symbol. For now, they will be taken by property's symbol.
It was done because not all properties contain backing field. For
example, Throwable class in FIR2IR.
2020-06-24 16:12:58 +03:00
Ivan Kylchik
8644c48b28
Prevent interpretation of call expression with continue/break statement
...
Example: foo("" + continue)
2020-06-24 16:12:58 +03:00
Ivan Kylchik
d90aba60cc
Implement correct type checks and casts taking into account erased types
2020-06-24 16:12:58 +03:00
Ivan Kylchik
7a19906705
Change all usages of descriptors in interpreter to usages of ir symbols
2020-06-24 16:12:58 +03:00
Ivan Kylchik
db5046af85
Add support in interpreter for jvm static fields in primitive classes
2020-06-24 16:12:58 +03:00
Ivan Kylchik
a3c77eca08
Make interpreter maps of enum and object declarations non static
...
Instead of this just create interpreter once per module handling
2020-06-24 16:12:58 +03:00
Ivan Kylchik
ff830cc744
Make state property mutable in Variable class
...
This change allow to remove copy method from State interface
2020-06-24 16:12:57 +03:00
Ivan Kylchik
848ca70de1
Change keys in static maps of enums and objects from String to IrSymbol
2020-06-24 16:12:57 +03:00
Ivan Kylchik
224d56ec15
Allow compile time calculations inside object declaration
2020-06-24 16:12:57 +03:00
Ivan Kylchik
1c498660dc
Create ir compile time checker
...
This checker is suppose to return true if ir node can be computed
in compile time
2020-06-24 16:12:57 +03:00
Ivan Kylchik
19495e40f7
Remove unnecessary getAllTypeArguments method from Stack class
2020-06-24 16:12:57 +03:00
Ivan Kylchik
99d823da8a
Remove unnecessary getThisAsReceiver function from Utils.kt file
2020-06-24 16:12:57 +03:00
Ivan Kylchik
c6240face0
Add test for generation builtins map for interpreter
2020-06-24 16:12:57 +03:00
Ivan Kylchik
1103de4bd5
Prepare ir interpreter for receiving ir bodies in separate map
...
This change will be useful when starts work with jvm klib
2020-06-24 16:12:56 +03:00
Ivan Kylchik
9542eb36ec
Support interpretation of String's plus method and its extension version
2020-06-24 16:12:56 +03:00
Ivan Kylchik
94e36411fa
Support interpretation for inner class
2020-06-24 16:12:56 +03:00
Ivan Kylchik
0c1f2edbf2
Get rid of abstract and fake override checks in ir call interpretation
...
For now interpreter will find necessary method for interpretation in
one step instead of checking is this method abstract or fake override
2020-06-24 16:12:56 +03:00
Ivan Kylchik
80d83f8703
Change check for Wrapper method
...
For now method is wrapper if its receiver is Wrapper and
method itself isn't inline only
2020-06-24 16:12:56 +03:00
Ivan Kylchik
38822c3bf8
Implement correct interpretation of toList function
2020-06-24 16:12:56 +03:00
Ivan Kylchik
ba8147cd47
Allow lambda to be used in built in calculation
...
Primary use case to allow lambda null check
2020-06-24 16:12:55 +03:00
Ivan Kylchik
5f61f6f3a5
Simplify interpretation for java methods with names other in kotlin
2020-06-24 16:12:55 +03:00
Ivan Kylchik
2e0d4c9af1
Add correct interpretation for unsigned arrays in vararg method handler
2020-06-24 16:12:55 +03:00
Ivan Kylchik
30f2affb93
Add support for local function that are declared and called immediately
2020-06-24 16:12:55 +03:00
Ivan Kylchik
296f343cab
Change conditions for saving type arguments into stack
...
For now all type arguments are saved. This is necessary for several
reason:
1. ir type operator call need to get right type argument class
2. if class is local then information about type argument cannot be lost
2020-06-24 16:12:55 +03:00
Ivan Kylchik
a095309e10
Allow local declaration interpretation
...
By local declaration is meant local functions and local objects
2020-06-24 16:12:55 +03:00
Ivan Kylchik
2c93c46b84
Implement do while loop
2020-06-24 16:12:55 +03:00
Ivan Kylchik
1e82975a7c
Replace explicit returnLabel call to check call inside try interpreter
2020-06-24 16:12:54 +03:00
Ivan Kylchik
a14e8e4c28
Implement cache for enum entries and objects
2020-06-24 16:12:54 +03:00
Ivan Kylchik
0b0550f562
Remove useless Intrinsic interface
...
Moved all its methods inside sealed class
2020-06-24 16:12:54 +03:00
Ivan Kylchik
eb3ac74c3f
Move out intrinsic evaluation from interpreter class
2020-06-24 16:12:54 +03:00
Ivan Kylchik
6eae77572a
Move stack trace inside Stack class
2020-06-24 16:12:54 +03:00
Ivan Kylchik
e00dc76645
Simplify constructor interpretation
...
Unified case with secondary and primary constructors
2020-06-24 16:12:53 +03:00
Ivan Kylchik
cf63a5f52b
Replace some casts to Primitive with corresponding extension calls
2020-06-24 16:12:53 +03:00
Ivan Kylchik
5791ecd4f7
Remove redundant suspend modifiers
2020-06-24 16:12:53 +03:00
Ivan Kylchik
cb0eb008f8
Implement correct access to stack
...
Rewrote work with data and implement Stack class that work over Frame
2020-06-24 16:12:53 +03:00
Ivan Kylchik
06e6c7cdf5
Implement interpretation for object with overridden methods
2020-06-24 16:12:53 +03:00
Ivan Kylchik
fe7abb7132
Remove unnecessary code about handling KotlinNullPointerException
...
This part of code was necessary because jvm threw
KotlinNullPointerException, but js expected NullPointerException.
2020-06-24 16:12:53 +03:00
Ivan Kylchik
2f41eef797
Replace throw of interpreter errors by throw of InterpreterException
2020-06-24 16:12:53 +03:00
Ivan Kylchik
aed78f3c9b
Bound commands limit and throw interpreter exception upon exceeding
2020-06-24 16:12:52 +03:00
Ivan Kylchik
be42ae470d
Simplify extraction logic of receiver in ir call interpreter
2020-06-24 16:12:52 +03:00
Ivan Kylchik
2189fe5796
Add suspend modifier to getNextLabel method in Label interface
2020-06-24 16:12:52 +03:00
Ivan Kylchik
fd51a9a085
Change signature in getArgsForMethodInvocation method
2020-06-24 16:12:52 +03:00
Ivan Kylchik
30e352ea27
Move Variable data class to separate file
2020-06-24 16:12:52 +03:00
Ivan Kylchik
ef4e4881b7
Implement spread operator interpretation
2020-06-24 16:12:52 +03:00
Ivan Kylchik
c9e5b6a234
Unify value arguments interpretation
2020-06-24 16:12:52 +03:00
Ivan Kylchik
520f2455b3
Create and implement ExecutionResult interface to use as return status
...
This is replacement for Code enum class that was returned from
methods of interpreter earlier
2020-06-24 16:12:51 +03:00
Ivan Kylchik
77978637a8
Move all classes from State.kt into separate files
2020-06-24 16:12:51 +03:00
Ivan Kylchik
530252eea8
Move State.kt in separate package
2020-06-24 16:12:51 +03:00
Ivan Kylchik
7e7a5fe736
Add reference to sub class in Complex class
...
This is replacement for instance field
2020-06-24 16:12:51 +03:00
Ivan Kylchik
ad7055b8a0
Move additional stack filling in ExceptionState class
2020-06-24 16:12:51 +03:00
Ivan Kylchik
900e78b39b
Add hashCode, equals and toString methods from String in builtin map
2020-06-24 16:12:51 +03:00
Ivan Kylchik
82acf7deb6
Change getting function receiver for method with multiple overridden
2020-06-24 16:12:50 +03:00
Ivan Kylchik
0400a62014
Improve receivers search in data pool
2020-06-24 16:12:50 +03:00
Ivan Kylchik
b6cf17af1b
Save context of inline and local functions
2020-06-24 16:12:50 +03:00
Ivan Kylchik
28d6752315
Change usages of IrFunctionImpl to more common IrSimpleFunction
2020-06-24 16:12:50 +03:00
Ivan Kylchik
c45993b2b1
Implement interpretation for return statements with labels
2020-06-24 16:12:50 +03:00
Ivan Kylchik
5c845da18a
Implement interpretation for unsigned numbers
2020-06-24 16:12:50 +03:00
Ivan Kylchik
b175f46315
Implement interpretation of Char and Long classes from js stdlib
2020-06-24 16:12:50 +03:00
Ivan Kylchik
2310a04e4e
Add toString, hashCode and equals primitives methods in ir builtin map
2020-06-24 16:12:49 +03:00
Ivan Kylchik
00366197f8
Implement interpretation of Enum class hashCode method
2020-06-24 16:12:49 +03:00
Ivan Kylchik
6a9f4cf8b7
Change interpretCall to be able to interpret data class copy method
2020-06-24 16:12:49 +03:00
Ivan Kylchik
bab4407c0a
Implement interpretation for destructing declaration
2020-06-24 16:12:49 +03:00
Ivan Kylchik
ff6e06aa14
Implement regular expression interpretation
2020-06-24 16:12:49 +03:00
Ivan Kylchik
4d80d17b23
Implement interpretation for expect enum class
2020-06-24 16:12:49 +03:00
Ivan Kylchik
731fb9bc70
Make ir interpreter to work with minimal dependence on ir lowerings
2020-06-24 16:12:48 +03:00
Ivan Kylchik
4c1727b82e
Move intrinsic handling inside IrInterpreter class
2020-06-24 16:12:48 +03:00
Ivan Kylchik
27e2faa778
Implement enum interpretation
2020-06-24 16:12:48 +03:00
Ivan Kylchik
d6a45dfe75
Implement instance of check in compile time
2020-06-24 16:12:48 +03:00
Ivan Kylchik
0a70277240
Make stack trace from exceptions more precise
...
Additional information is retrieved from original stack trace when
exception happened during wrapper invocation.
2020-06-24 16:12:48 +03:00
Ivan Kylchik
18d29f7d98
Make possible to create arrays with their constructors
2020-06-24 16:12:47 +03:00
Ivan Kylchik
aca889a95b
Add inc, dec methods in ir builtins map and remove toString and equals
2020-06-24 16:12:47 +03:00
Ivan Kylchik
169a2f361c
Add support for cause field in exceptions
2020-06-24 16:12:47 +03:00
Ivan Kylchik
6af47ad7b3
Implement basic stack trace reporting if unhandled exception appear
2020-06-24 16:12:47 +03:00
Ivan Kylchik
66dbd1af34
Mark all IrInterpreter methods as suspend
...
This change is used to get rid of unhandled StackOverflowError and
to be able to manually throw it.
2020-06-24 16:12:47 +03:00
Ivan Kylchik
2985e8bcd3
Clean up code of ir builtins map generator
2020-06-24 16:12:47 +03:00
Ivan Kylchik
cbc9c19faf
Add methods for message and clause from Throwable in ir builtins map
2020-06-24 16:12:46 +03:00
Ivan Kylchik
d9279bff73
Introduce ExceptionState class responsible for all kind of exceptions
2020-06-24 16:12:46 +03:00
Ivan Kylchik
be3eb98fbd
Introduce new Common state that represent common object
...
This is a replacement for Complex, that are now an abstract class.
2020-06-24 16:12:46 +03:00
Ivan Kylchik
4345294ac1
Add all methods from Any class in ir builtins map
2020-06-24 16:12:46 +03:00
Ivan Kylchik
d03937cdb6
Pop return value after implicit coercion to unit
2020-06-24 16:12:46 +03:00
Ivan Kylchik
792ae8d272
Get rid of dynamic cast interpretation
2020-06-24 16:12:46 +03:00
Ivan Kylchik
3ccf542b38
Rework object and companion object interpretation
...
For now object value or fun can be interpreter only if they are
marked explicitly. Annotation for all object is restricted and if
whole class is marked with CompileTimeAnnotation this doesn't
mean that companion object is computable.
2020-06-24 16:12:46 +03:00
Ivan Kylchik
0ef34dcf53
Implement class cast interpretation
2020-06-24 16:12:45 +03:00
Ivan Kylchik
a25896bf6a
Implement string concatenation interpretation
2020-06-24 16:12:45 +03:00
Ivan Kylchik
0839e7afdc
Describe default behaviour for Any class methods
...
We are talking about such methods as equals, hashCode and toString.
2020-06-24 16:12:45 +03:00
Ivan Kylchik
a6cc7cdc23
Rewrite exception handler to catch null pointer exception in js ir
...
For now null check works as !! operator called in jvm.
So it throw KotlinNullPointerException, but js ir require
NullPointerException
2020-06-24 16:12:45 +03:00
Ivan Kylchik
5209f4a9c0
Add not null (!!) operator in ir builtins map
2020-06-24 16:12:45 +03:00
Ivan Kylchik
bb119280be
Interpret basic interpretation for try catch block
2020-06-24 16:12:45 +03:00
Ivan Kylchik
b5778e6de5
Implement interpretation for lambdas and anonymous functions
2020-06-24 16:12:45 +03:00
Ivan Kylchik
4fdfdb9b4c
Implement StringBuilder interpretation
2020-06-24 16:12:44 +03:00
Ivan Kylchik
06ee4ac21f
Implement List and MutableList interpretation
2020-06-24 16:12:44 +03:00
Ivan Kylchik
9555497d5d
Implement arrayOf symbols interpretation
2020-06-24 16:12:44 +03:00
Ivan Kylchik
4dc1e587b4
Implement vararg interpretation
2020-06-24 16:12:44 +03:00
Ivan Kylchik
45555d681d
Add methods from arrays classes in ir builtins map
2020-06-24 16:12:44 +03:00
Ivan Kylchik
3ab7c263d0
Implement continue statement interpretation
2020-06-24 16:12:44 +03:00
Ivan Kylchik
c4cc858b84
Extract ir function interpretation in separate method
...
This modification will be used to get exception stack trace
2020-06-24 16:12:44 +03:00
Ivan Kylchik
f99829ce5e
Implement trim function interpretation in compile time
2020-06-24 16:12:43 +03:00
Ivan Kylchik
178b2a07ae
Move all interpreter methods inside IrInterpreter class
2020-06-24 16:12:43 +03:00
Ivan Kylchik
f8cb637712
Change IrInterpreter to modify tree structure into the flat one
...
This modification is necessary to implement right control flow
2020-06-24 16:12:43 +03:00
Ivan Kylchik
0a76da99cf
Implement equalTo function for descriptors
2020-06-24 16:12:43 +03:00
Ivan Kylchik
dd93deddd7
Add while loop support in interpreter
2020-06-24 16:12:43 +03:00
Ivan Kylchik
c2a70b4e57
Add rangeTo entry in builtins map
2020-06-24 16:12:43 +03:00
Ivan Kylchik
34a59f5b85
Add abstract classes and interfaces support in interpreter
2020-06-24 16:12:42 +03:00
Ivan Kylchik
b1dc403182
Add branches support in interpreter
2020-06-24 16:12:42 +03:00
Ivan Kylchik
dcd8a4a4c7
Add variables support in interpreter
2020-06-24 16:12:42 +03:00
Ivan Kylchik
aca7a49214
Add some sort of correct calculation with const modifier
2020-06-24 16:12:42 +03:00
Ivan Kylchik
a20269bcdd
Extract some methods to utils
2020-06-24 16:12:42 +03:00
Ivan Kylchik
11e808715b
Rethink main goal of stack frame
2020-06-24 16:12:42 +03:00
Ivan Kylchik
c3600ba114
Implement interpreter that can evaluate simple fun
...
For now working cases are: create simple object using primary
constructor, invoke its method, invoke superclass method,
load/save fields. Return values from compile time function can be
only primitives for now.
2020-06-24 16:12:42 +03:00
Ivan Kylchik
a582d88cf4
Create simple stack model for interpreter
2020-06-24 16:12:41 +03:00
Ivan Kylchik
f6373a647e
Create simple interpreter that evaluate constant values
2020-06-24 16:12:41 +03:00
Ivan Kylchik
a27a07ce81
Create generator for map with builtin operations
2020-06-24 16:12:41 +03:00
Dmitry Petrov
e9570d6efd
Minor: update testData
2020-06-24 16:04:38 +03:00
Toshiaki Kameyama
6b2c87020b
Replace explicit parameter with 'it': do not suggest when lambda is directly under "when" or "if"
...
Relates to #KT-35320
2020-06-24 14:55:30 +02:00
Georgy Bronnikov
daab07ea38
JVM_IR: use MetadataSource for local delegated properties
2020-06-24 14:41:01 +03:00
Alexey Trilis
593684ecb6
Fix testdata after changing API of kotlin.browser and kotlin.dom
2020-06-24 13:38:29 +03:00
Toshiaki Kameyama
e6edab1c82
Quick doc: do not show nullability annotations
...
#KT-37132 Fixed
2020-06-24 10:45:57 +02:00
Toshiaki Kameyama
e8aa14a283
Method sepatators: show separator between companion object and function
...
#KT-24352 Fixed
2020-06-24 10:05:27 +02:00
Ilya Chernikov
5942446274
[minor] clean up main-kts-dependencies
2020-06-23 21:56:04 +02:00
Ilya Chernikov
4c34e9dd03
Move main-kts cache test to out-of-process compilation
...
to avoid clashes with coroutine debugger when running
tests from IntelliJ
2020-06-23 21:56:04 +02:00
Ilya Chernikov
879e22f274
Fix coroutines core shading in main-kts
2020-06-23 21:56:04 +02:00
Gia Thuan Lam
83b52bb109
Enable Input Redirection for KotlinRunConfiguration
...
#KT-28854 Fixed
(cherry picked from commit 6e55010767b1c1a7c8d23d337bdbd5824dfa2906)
2020-06-23 21:04:09 +02:00
Ilya Goncharov
69e8abfe3c
Fix test data for new project wizard in Project Templates
2020-06-23 21:07:35 +03:00
Dmitry Petrov
4e92c79bc4
JVM_IR: don't generate nullability annotations on synthetic declarations
...
Fixes KT-36993 and some other related issues.
2020-06-23 20:51:48 +03:00
Dmitry Petrov
d477d9eb43
JVM_IR KT-37005: no delegates for @InlineOnly funs in multifile facades
2020-06-23 20:22:41 +03:00
Dmitry Petrov
5bfec7f6bc
JVM: don't generate nullability annotations on property delegate fields
...
Such fields are private, so these annotations are redundant.
They were incorrect, anyway (property type was used instead of delegate
type).
2020-06-23 20:18:42 +03:00
Mikhail Bogdanov
af3bda51ec
Fix compilation on mixed hierarchies in compatibility mode
2020-06-23 18:59:04 +02:00
Mikhail Bogdanov
41511898a1
Deprecate DefaultImpl methods in compatibility mode
2020-06-23 18:59:04 +02:00
Mikhail Glukhikh
39740ce440
[FIR2IR] Drop decl. parent set in lazy class (it should be set before)
2020-06-23 19:06:08 +03:00
Mikhail Glukhikh
d08f91bf35
[FIR2IR] Introduce & use lazy function for external class functions
2020-06-23 19:06:08 +03:00
Mikhail Glukhikh
6d07af63cf
[FIR2IR] Count IrErrorTypes as not equal for purpose of overriding
...
This prevents possible type checking exceptions
2020-06-23 19:06:08 +03:00
Mikhail Glukhikh
d02d423d45
[FIR2IR] Introduce additional built-in symbols prepared in advance
...
This commit allow to avoid possible conflicts between descriptor-based
and signature-based symbols,
because BE sometimes (e.g. in DeclarationStubGenerator)
creates descriptor-based symbol without checking signature-based
2020-06-23 19:06:07 +03:00
Mikhail Glukhikh
a791a38538
FIR mangler: support definitely not-null types (for Java)
2020-06-23 19:06:07 +03:00
Mikhail Glukhikh
987cf5ef5f
Drop unused Fir2IrVisitor.fakeOverrideMode
2020-06-23 19:06:07 +03:00
Mikhail Glukhikh
0622be14a5
[FIR2IR] Introduce creation of Fir2Ir lazy classes
2020-06-23 19:06:07 +03:00
Ilya Goncharov
5e9291bd8a
Fix test data for new project wizard
2020-06-23 18:56:16 +03:00
Ilya Goncharov
e6539eade5
Fix new project wizard css support for karma
2020-06-23 18:26:51 +03:00
Dmitry Gridin
b657d60bd6
Suggest Create Class before Create File
...
#KT-37528 Fixed
2020-06-23 13:29:09 +00:00
Natalia Selezneva
bcd3921bae
Fix freeze during loading script configurations through legacy scripting API
...
Do not wrap the whole configuration loading process into readAction
^KT-39771 Fixed
2020-06-23 16:04:24 +03:00
Alexander Udalov
05e8546bdb
Skip unresolved JvmStatic/JvmField annotations in builtins
...
This is needed to implement KT-30084 and KT-30083 after bootstrap.
2020-06-23 13:55:08 +02:00
Dmitry Gridin
abfc74c8b2
Add regression test
...
#KT-30131 Fixed
2020-06-23 18:05:17 +07:00
Dmitriy Dolovov
d8fa617bfd
Minor. Fix typo in text printed to users
2020-06-23 17:27:14 +07:00
Dmitry Gridin
99f958c8c4
Inline refactoring: should remove redundant Unit
...
#KT-19443 Fixed
2020-06-23 10:25:54 +00:00
Dmitry Gridin
af24ce5e03
RedundantUnitExpressionInspection: support lambdas
...
#KT-39772 Fixed
2020-06-23 10:25:53 +00:00
Dmitry Gridin
4ac7dc0744
RedundantUnitExpressionInspection: make isRedundantUnit public
2020-06-23 10:25:53 +00:00
Dmitry Gridin
360a5bf348
Inline refactoring: improve resolve
...
#KT-39705 Fixed
#KT-19459 Fixed
2020-06-23 10:25:52 +00:00
Dmitry Gridin
5ad94daaa5
ImportOptimizer: cleanup code
...
#KT-31331
2020-06-23 09:48:07 +00:00
Dmitry Gridin
2610dedcbd
KotlinUnusedImportInspection: support unresolved references
...
#KT-31331 Fixed
2020-06-23 09:48:07 +00:00
Dmitry Gridin
10c62b8d77
ImportOptimizer: add cases for unresolved references
...
Part of #KT-31331
2020-06-23 09:48:06 +00:00
Dmitry Gridin
4de582564c
ImportOptimizer: basic support for removing unresolved imports
...
#KT-32409 Fixed
Part of #KT-31331
2020-06-23 09:48:05 +00:00
Dmitry Gridin
8faced9192
KotlinImportOptimizer: replace LinkedHashMap with HashMap and BodyResolveMode.FULL with BodyResolveMode.PARTIAL
2020-06-23 09:48:05 +00:00
Dmitry Gridin
383fa2d111
ImportOptimizer: cleanup code
2020-06-23 09:48:04 +00:00
Mikhail Zarechenskiy
e7cee9c6e1
Fix coercion to Unit with equal Nothing constraint
...
#KT-39669 Fixed
2020-06-23 11:47:39 +03:00
Mikhail Zarechenskiy
a06c8786df
Fix overload ambiguity after smartcast to nullable Nothing
...
#KT-39544 Fixed
2020-06-23 11:34:19 +03:00
Dmitry Gridin
9313073971
LineIndentProvider: temporarily disable before elvis operator
...
#KT-39716 Fixed
2020-06-23 15:17:47 +07:00
Ilya Goncharov
793ada08a9
cssSettings -> cssSupport
2020-06-23 11:08:30 +03:00
Ilya Goncharov
538cf8af56
Fix test with css case
2020-06-23 11:08:30 +03:00
Ilya Goncharov
4ad95dbe0c
Fix browser settings for webpack tasks
2020-06-23 11:08:30 +03:00
Jinseong Jeon
856ac76c8f
FIR2IR: handle type alias inside GetClassCall
2020-06-23 09:46:47 +03:00
Ilya Gorbunov
29d3d07636
Remove stdlib-js-ir and kotlin-test-js-ir from coreLibs projects
...
They do not produce their own deployable artifacts,
their output is merged into stdlib-js and kotlin-test-js.
Remove coreLibsDist task, because now projects can't be dist'ed
selectively.
2020-06-23 01:52:38 +03:00
Ilya Gorbunov
b2e70f9c21
Fix stdlib-js-ir-for-tests build
...
Exclude kotlinx.browser and kotlinx.dom packages
2020-06-23 01:52:36 +03:00
Georgy Bronnikov
4ecb228d50
IR: handle enhanced nullability in TypeTranslator
2020-06-22 22:06:01 +03:00
Igor Yakovlev
b21cabe671
Separate decompiled declarations light representations from LightClasses
...
Fixed #KT-39457
2020-06-22 21:17:12 +03:00
Vladimir Ilmov
40ec794c66
(UltraLightClasses) fast-path for Deprecated.HIDDEN annotation
2020-06-22 15:58:25 +02:00
Ilya Goncharov
852e860743
Update test data
...
#KT-39770 fixed
2020-06-22 16:45:00 +03:00
Ilya Goncharov
c2e97a7287
Kind and css support to single platform JS
...
#KT-39770 fixed
2020-06-22 16:45:00 +03:00
Ilya Goncharov
5676d31a1c
Add CSS support to new project wizard
...
#KT-39770 fixed
2020-06-22 16:45:00 +03:00
Ilya Goncharov
b8aff0660c
Refactor aligning for css support
...
#KT-39770 fixed
2020-06-22 16:44:59 +03:00
Ilya Goncharov
c9c20bb34c
Add enabling css into wizard
...
#KT-39770 fixed
2020-06-22 16:44:59 +03:00
Dmitry Petrov
e9231b5624
JVM: Generate object and companion object INSTANCE fields as @NotNull
2020-06-22 16:28:00 +03:00
Andrei Klunnyi
558dfc6d9a
KT-36801 IDE: Unsupported language version values
2020-06-22 13:01:42 +00:00
Alexander Gorshenev
2b2fce5949
Fix for KT-37761. Don't use mmap. It causes more troubles than it produce benefits
2020-06-22 14:53:25 +03:00
Dmitriy Novozhilov
be2ac3bb4f
[FIR] Fix completing bodies of property setters with delegates
2020-06-22 12:29:26 +03:00
Dmitriy Novozhilov
8ce28cb509
[FIR] Add transformBody to FirFunction
2020-06-22 12:29:26 +03:00
Ilya Gorbunov
23dc75fb87
Remove kotlin.coroutines.experimental package descriptions
2020-06-22 12:29:26 +03:00
Ilya Gorbunov
9d111b9451
Update API dumps
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
6c8ff25e5d
Drop deprecated jsClass top level and extension functions
...
Introduce internal toplevel jsClass in js-ir source set instead.
It is needed for JS-IR backend.
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
696701d377
Drop deprecated MutableMap property delegation operator
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
7632910ffd
Drop deprecated CollectionAssertions.kt
...
Remove incorrect import from callByWithEmptyVarArg test
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
5550dc93a1
Remove hidden Random.Companion
...
It was never released as stable since 1.3. Was provided for binary
compatibility with 1.3 prereleases.
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
b55729957e
Drop previously deprecated API
...
- common and JS org.junit.Test from kotlin.test
- kotlin.Synchronized/Volatile from K/JS
- JS 'native' annotation
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
e9c4f531eb
Increase deprecation level for previously deprecated API
...
- unsupported common exceptions
- common 'synchronized'
- jquery API
- experimental kotlin.time API
- js Math object
- DefaultAsserter constructor-like fun
2020-06-22 12:29:24 +03:00
Jinseong Jeon
67044f22ed
FIR serializer: regard property accessors with modifiers as non-default
2020-06-22 12:25:47 +03:00
Svyatoslav Kuzmich
bbfc1a10ad
[JS] Fix stack trace capturing from secondary constructors KT-37563
2020-06-22 12:03:59 +03:00
Svyatoslav Kuzmich
6792779281
[JS IR] Fix stack trace capturing in secondary constructors (KT-37563)
...
Call captureStack in primary constructors and generated factories
2020-06-22 11:50:14 +03:00
Svyatoslav Kuzmich
dfdc1e9c4f
[IR] Add IrRawFunctionReference
2020-06-22 11:50:14 +03:00
Roman Artemev
2c3d8feb26
[KLIB IC] Fix dirty declaration detector
...
- make kjs-stdlib be compiled correctly in IC mode
2020-06-22 11:30:40 +03:00
Roman Artemev
cc818025df
[KLIB IC] Add test about incremental kotlin-js-stdlib-klib recompliation
2020-06-22 11:30:40 +03:00
Dmitry Petrov
a493b21c7c
JVM_IR: Deprecation cycle for companion object instance visibility
2020-06-19 20:41:54 +03:00
Vladimir Ilmov
230f2f5ce0
(CoroutineDebugger) fix for debugger agent for 1.3.6 version and up
2020-06-19 18:58:46 +02:00
Yaroslav Chernyshev
c638043aee
[Gradle, CocoaPods] Improved CocoaPods Integration features with tests
2020-06-19 18:36:46 +03:00
Ilya Gorbunov
130987fa1e
Provide flatMapIndexed operation
...
- similar to flatMap, but transform function takes index and element
#KT-36894
2020-06-19 17:55:15 +03:00
Abduqodiri Qurbonzoda
db93462bcf
Initial template for flatMapIndexed operation
...
#KT-36894
2020-06-19 17:54:47 +03:00
Sergey Igushkin
d9fea52344
Fix compilation of DukatCompilationResolverPlugin after rebase
2020-06-19 17:48:22 +03:00
Sergey Igushkin
f7b660b573
(minor) Fixes for review KT-MR-1290
2020-06-19 17:31:51 +03:00
Sergey Igushkin
10cae9bc5d
Fixes for task configuration avoidance in Gradle Kotlin/JS support
2020-06-19 17:31:45 +03:00
Sergey Igushkin
0b7d8c51cb
Move kotlinOptions out of the tasks
2020-06-19 17:30:12 +03:00
Sergey Igushkin
19ac036ec5
Rework ScriptingGradleSubplugin for the new subplugins API
2020-06-19 17:30:11 +03:00
Sergey Igushkin
cb5aa64a95
Rework AndroidSubplugin for the new subplugins API
2020-06-19 17:30:10 +03:00
Sergey Igushkin
48153c53ca
Rework SamWithReceiverSubplugin for the new subplugins API
2020-06-19 17:30:10 +03:00
Sergey Igushkin
120f77416b
(minor) Suppress a warning about property initialized with ctor param
2020-06-19 17:30:09 +03:00
Sergey Igushkin
66a59df7de
Rework ExampleSubplugin for the new subplugins API
2020-06-19 17:30:09 +03:00
Sergey Igushkin
a2e4b52747
Rework SerializationSubplugin for the new subplugins API
2020-06-19 17:30:08 +03:00
Sergey Igushkin
98fc4ab2e1
Rework NoArgSubplugin for the new subplugins API
2020-06-19 17:30:07 +03:00
Sergey Igushkin
f2bc391bdd
Rework AllOpenSubplugin for the new subplugins API
2020-06-19 17:30:07 +03:00
Sergey Igushkin
e8a303650c
Rework Gradle subplugins application in Kotlin/Native
2020-06-19 17:30:06 +03:00
Sergey Igushkin
06a3376368
Refactor the Kotlin Android plugin to make it compliant with TCA
...
Also simplify some of the APIs and move some others which are only used
by kapt to the kapt's codebase.
2020-06-19 17:30:06 +03:00
Sergey Igushkin
4dbc6803ba
Refactor the kapt Gradle plugin to use the new plugins API and TCA
2020-06-19 17:30:05 +03:00
Sergey Igushkin
96ed30a449
Introduce new API for Kotlin compiler support Gradle plugins
...
The old API was too specific for the Kotlin internal use cases and
leaked some abstractions due to the missing target-compilation project
model. One of such leaking abstractions was the Gradle tasks being
exposed to the subplugin, which required the tasks to instantiate
in order for the subplugin to apply. This violated task configuration
avoidance, so the old API could never work in compliance with TCA.
Introduce the new KotlinCompilerPluginSupportPlugin API that uses the
compilations instead of the tasks and is TCA-compliant.
2020-06-19 17:30:05 +03:00
Sergey Igushkin
0b2d96c1ef
Refactor Kotlin classes registration for java-library plugin
2020-06-19 17:30:04 +03:00
Sergey Igushkin
58dd0fa3d2
Use TCA-compliant Gradle APIs in the JS part of the Kotlin Gradle plugin
2020-06-19 17:29:59 +03:00
Sergey Igushkin
58e9b3ae0e
Use TCA-compliant Gradle APIs in the Kotlin Gradle plugin
2020-06-19 17:28:40 +03:00
Sergey Igushkin
84287d77ca
Add Java tasks to relevant compilation APIs
2020-06-19 17:28:39 +03:00
Sergey Igushkin
1749cb9129
(minor) Initialize compilations with the precise target type
2020-06-19 17:28:39 +03:00
Sergey Igushkin
f4e4baa253
Add TaskProvider property for Kotlin compile tasks in compilations
2020-06-19 17:28:37 +03:00
Pavel Kirpichenkov
1ebb116056
Revert "Invalidate library caches on OOCBM with enabled resolution anchors"
...
This reverts commit 91b371789e .
^KT-39734 Open
2020-06-19 17:18:45 +03:00
Denis Zharkov
f1955c84aa
FIR: Remove ignoreFrontendIR from GenerateInRangeExpressionTestData
...
It's unnecessary anymore since all tests are fixed
2020-06-19 17:15:56 +03:00
Sergey Rostov
6e9efefd2a
gradle scripts: fix isFirstLoadActual and notification typos
2020-06-19 17:04:01 +03:00
Sergey Rostov
9f4569e5a1
gradle scripts: custom notification wording gradle with default scripting support (gradle older then 6.0)
2020-06-19 16:37:59 +03:00
Sergey Rostov
37fbc75008
gradle scripts: "link project" action implementation
2020-06-19 16:37:21 +03:00
Sergey Rostov
d6fc830c24
gradle scripts: temporary disable irrelevant actions when script configuration was not received during import
2020-06-19 16:37:21 +03:00
Dmitriy Novozhilov
a7675c16d5
[FIR] Fix problems with renaming invocationKind and field in FirAnonymousFunction
2020-06-19 16:28:07 +03:00
Mikhail Zarechenskiy
9c8e979308
Fix compatibility resolve for references with multiple outer candidates
...
#KT-39533 Fixed
2020-06-19 16:21:24 +03:00
Mikhail Bogdanov
58183b774d
Fix test data
2020-06-19 15:07:36 +02:00
Alexey Trilis
99d844dcfb
Deprecate kotlin.browser and kotlin.dom packages and provide
...
replacements in packages kotlinx.dom and kotlinx.browser
KT-39330 Fixed
2020-06-19 16:01:40 +03:00
Ilya Chernikov
16100843b2
Add classpaths from all plugin classloaders to the console scripts
2020-06-19 14:56:00 +02:00
Ilya Chernikov
b5ecab31f5
Load script configuration under read action - avoid possible exception
2020-06-19 14:56:00 +02:00
Dmitriy Novozhilov
bd8eaad885
[FIR-TEST] Update cfg dumps in some tests
...
One of previous commit changed order for those graphs, but i didn't
find which one
2020-06-19 15:53:11 +03:00
Dmitriy Novozhilov
d01817ce14
Rename InvocationKind to EventOccurrencesRange
2020-06-19 15:53:11 +03:00
Dmitriy Novozhilov
1dfccf1416
[FIR] Rename edge kinds of control flow graph
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
f0cc3a32d9
[FIR-TEST] Update testdata due to KT-39711
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
64c9a83862
[FIR-TEST] Update testdata due to KT-39709
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
a317c8a803
[FIR-TEST] Update testdata due to unresolved KT-36056
2020-06-19 15:53:09 +03:00
Dmitriy Novozhilov
26458875d5
[FIR] Add checker for uninitialized properties
2020-06-19 15:53:09 +03:00
Dmitriy Novozhilov
25621d699b
Add methods for combine InvocationKind's
...
There is two methods added -- `or` and `and`
`or` is used by CFA for combining two kinds that came from different
edges of control flow graph
`and` is analog of `+` operator for invocation kinds
2020-06-19 15:53:08 +03:00
Dmitriy Novozhilov
4078b4b6f9
[FIR] Prepare ControlFlowAnalysisDiagnosticComponent
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
c9bc5884dd
[FIR] Add more utils for traversing control flow graph
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
faa0f07d09
[FIR] Add utility flags to EdgeKind
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
5ecbf8b7cd
[FIR] Add CFGNodeWithCfgOwner to detect subgraphs in CFA
2020-06-19 15:53:06 +03:00
Dmitriy Novozhilov
05ee436db0
[FIR] Introduce FirControlFlowGraphOwner node
2020-06-19 15:53:06 +03:00
Dmitriy Novozhilov
8a81a09fd0
[FIR] Assume that when without branches is not exhaustive. KT-39621
2020-06-19 15:53:05 +03:00
Dmitriy Novozhilov
4e2e05e689
[FIR-TEST] Check control flow graph in old frontend diagnostic tests
2020-06-19 15:53:05 +03:00
Dmitriy Novozhilov
12ed8c3bb4
[FIR-TEST] Update CFG dumps according to new nodes order
2020-06-19 15:53:04 +03:00
Dmitriy Novozhilov
4e6542a646
[FIR] Add Stub kind for CFG
...
Edges of stub graphs shouldn't be completed
2020-06-19 15:53:04 +03:00
Dmitriy Novozhilov
1a0df97961
[FIR] Pop and complete graph only after adding last edge to it
2020-06-19 15:53:03 +03:00
Dmitriy Novozhilov
3765c5119f
[FIR] Cache nodes in sorted order in CFG
2020-06-19 15:53:02 +03:00
Dmitriy Novozhilov
b5cceb8995
[FIR-TEST] Add validation of control flow graph nodes order
2020-06-19 15:53:02 +03:00
Dmitriy Novozhilov
2f8e95dace
[FIR-TEST] Add validation for completed graph in diagnostic tests
2020-06-19 15:53:01 +03:00
Dmitriy Novozhilov
9f55d4f3cd
[FIR-TEST] Mute test failing due to KT-39614
2020-06-19 15:53:01 +03:00
Dmitriy Novozhilov
87859b0faa
[FIR] Introduce new algorithm for building CFG for declarations
2020-06-19 15:53:00 +03:00
Dmitriy Novozhilov
950bbfe3a5
[FIR] Add kind for back edges in CFG
2020-06-19 15:53:00 +03:00
Dmitriy Novozhilov
34be9e3569
[FIR] Add controlFlowGraph references to value parameters
2020-06-19 15:52:59 +03:00
Dmitriy Novozhilov
65fae3bb0c
[FIR] Fix problem with local classes in anonymous objects
2020-06-19 15:52:58 +03:00
Dmitriy Novozhilov
5b64c0cfe2
[FIR] Add different states for CFG and some assertions for graph modification
2020-06-19 15:52:57 +03:00
Dmitriy Novozhilov
1261f62afb
[FIR] Extract CFGNode and it's inheritors to separate file
2020-06-19 15:52:56 +03:00
Dmitriy Novozhilov
3a4f53682f
[FIR] Don't convert non-local functions without name as FirAnonymousFunction
2020-06-19 15:52:56 +03:00
Natalia Selezneva
44f6a5adcd
Filter only valid roots in KotlinScriptDependenciesClassFinder
...
ClassFinder should return only valid roots,
but in allScriptsDependenciesClassFiles may contain old roots
because they are persistently saved in the storage.
This may cause exception after IDE restart
2020-06-19 15:43:07 +03:00
Natalia Selezneva
d119298232
Add registry key to hide new Load Script Configurations action
2020-06-19 15:43:07 +03:00
Natalia Selezneva
b43014a097
Do not start gradle import if it is already in progress
2020-06-19 15:43:07 +03:00
Natalia Selezneva
66e23c9767
Floating notification shouldn't be shown during import
...
It depends on up to date check that is correct only after all caches are updated after import
2020-06-19 15:43:06 +03:00
Dmitriy Dolovov
59183a8142
[Commonizer] Replace j.u.HashMap by g.t.THashMap to reduce memory usage
2020-06-19 19:36:06 +07:00
Dmitriy Dolovov
70ea53315d
[Commonizer] Intern duplicated CirContainingClassDetails instances
2020-06-19 19:18:13 +07:00
Dmitriy Dolovov
63d549dfa1
[Commonizer] Intern duplicated CirFunctionModifiers instances
2020-06-19 19:18:07 +07:00
Dmitriy Dolovov
68e1acd2cb
[Commonizer] More detailed progress logging
2020-06-19 19:18:01 +07:00
Dmitriy Dolovov
6410aed1b4
Minor. Replace computeIfAbsent() by getOrPut()
2020-06-19 19:17:55 +07:00
Dmitriy Dolovov
6393667dda
[Commonizer] Rework preparation of CIR cache in TypeCommonizerTest
2020-06-19 19:17:49 +07:00
Dmitriy Dolovov
5cad8a793c
[Commonizer] Rework CommonizedGroup API to make it more usable
2020-06-19 19:17:43 +07:00
Dmitriy Dolovov
63575582c4
[Commonizer] Reduce memory consumption during approximation phase
...
^KT-39320
2020-06-19 19:17:33 +07:00
Ilya Chernikov
d5ffc7416d
Clean-up and improve sam-with-receiver test with scripts
2020-06-19 14:08:19 +02:00
Ilya Chernikov
0ade8140f7
Add serialization plugin test with main-kts
2020-06-19 14:08:19 +02:00
Ilya Chernikov
dbb47cf48e
Implement non-transitive dependencies resolving in main-kts
2020-06-19 14:08:19 +02:00
Ilya Chernikov
cd1bf563cd
Add error reporting on the options parsing errors in scripting
...
also report standard parsing warnings
also fix language version test, since it is not possible anymore
to use version 1.0
2020-06-19 13:20:58 +02:00
Mathias Quintero
f0bc52222d
Fix annotation construction with array literals
...
Turns out the issue happens to be that ArrayValue uses a list of values which needs to be translated to an array of the percise type before it is used by callBy
This also addresses handling of arguments after a vararg in an annotation
2020-06-19 13:20:57 +02:00
Efeturi Money
8cb4f59114
Explicitly handle array annotation args in scripting pre-processing
...
#KT-35411 fixed
2020-06-19 13:20:57 +02:00
Ilya Muradyan
743abea690
Don't create default importing scopes for REPL snippets
...
Default scopes should be created only once, for the first snippet.
All following snippets should not create new default importing scopes.
#KT-35651 fixed
2020-06-19 13:03:25 +02:00
Ilya Muradyan
c3cbfe34c4
Allow not to create default importing scopes
2020-06-19 13:03:24 +02:00
Ilya Muradyan
53b31a20ca
Refactor REPL IDE services testing configuration and add new tests
2020-06-19 13:03:24 +02:00
Ilya Muradyan
94de114894
Support selective filtering of implicits for extensions resolution in REPL
2020-06-19 13:03:23 +02:00
Ilya Muradyan
017f640f26
Allow skipping extensions resolution for implicit receivers
2020-06-19 13:03:23 +02:00
Mikhail Bogdanov
e93bcc55ae
Revert "Deprecate DefaultImpl methods in compatibility mode"
...
This reverts commit 6c9c2a28
2020-06-19 12:58:46 +02:00
Mikhail Bogdanov
8bc4407be0
Fix compilation
2020-06-19 12:54:19 +02:00
Mikhail Bogdanov
6c9c2a287d
Deprecate DefaultImpl methods in compatibility mode
2020-06-19 12:23:05 +02:00
Mikhail Bogdanov
9c0b96af71
Report error on missed specialization in compatibility mode
...
#KT-39603 Fixed
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
a150e7b6e5
Don't forget about extension parameter in methodSignatureMapping.kt
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
929bb0e8d1
Move common logic from CodegenTestCase to KotlinBaseTest
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
9d48ecfac3
Make proper check for defaults on delegation to DefaultImpls
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
b8f0ad2111
Generate nullability annotations on this receiver in DefaultImpls. Don't generate nullability annotations in private methods
...
#KT-36969 Fixed
2020-06-19 11:57:35 +02:00
Mikhail Bogdanov
5bdf3d5757
Don't generate compatibility stubs for @JvmDefaultWithoutCompatibility
2020-06-19 11:57:35 +02:00
Mikhail Bogdanov
477cca3c99
Add JvmDefaultWithoutCompatibility annotation
2020-06-19 11:57:35 +02:00
Dmitriy Novozhilov
a98ad79d86
[FIR-TEST] Add option to run modularized tests with checkers
2020-06-19 12:40:02 +03:00
Dmitriy Novozhilov
7a8908a75b
[FIR-TEST] Change main module of [JPS] Fast FIR tests task
...
It's needed to correctly run FIR spec tests
2020-06-19 12:40:01 +03:00
Roman Artemev
a0cccdf75c
[JS IR] Make backend work with new shared boxes
2020-06-19 12:23:15 +03:00
Roman Artemev
596c3d1af8
[JS IR] Implement shared box intrinsics translator
2020-06-19 12:23:15 +03:00
Roman Artemev
4c878c27a9
[JS IR] Introduce intrinsics to create shared boxes
2020-06-19 12:23:15 +03:00
Dmitry Savvinov
5b48845dfa
Check for native-shared source-sets properly during facet import
...
Otherwise they are detected as common source-sets, thus getting
K2MetadataCompilerArguments (instead of FakeK2NativeCompilerArguments),
and the 'applyCompilerArgumentsToFacets' will fail due to check on
javaClass equality
^KT-39657 Fixed
2020-06-19 12:15:50 +03:00
Ilya Goncharov
ce553f1211
[Gradle, JS] Add webpackConfig for karma
...
#KT-39654 fixed
2020-06-19 11:38:51 +03:00
Ilya Goncharov
48a4e08d60
[Gradle, JS] Disable css support by default
...
#KT-39654 fixed
2020-06-19 11:38:31 +03:00
Denis Zharkov
efee0dae94
FIR: Simplify JvmBinaryAnnotationDeserializer
...
Currently, it's anyway created one per class
2020-06-19 10:21:09 +03:00
Denis Zharkov
0bc2642634
FIR: Add clarification to the workaround for KT-39659
2020-06-19 10:21:09 +03:00
Denis Zharkov
429b2a9705
FIR: Optimize deserialized annotations loading
2020-06-19 10:21:09 +03:00
Denis Zharkov
260e2d0dc3
FIR: Add dependency for :core:descriptors.runtime to modularized tests
...
Otherwise NoClassDefFoundError happens on JPS
2020-06-19 10:21:09 +03:00
Jinseong Jeon
6a28558d43
FIR deserializer: rename a callable kind that represents all "others"
2020-06-19 10:21:09 +03:00
Jinseong Jeon
12181e55c0
FIR deserializer: signature-aware annotation loading for constructors
2020-06-19 10:21:09 +03:00
Jinseong Jeon
955c7a1e5b
FIR2IR: handle deserialized class reference inside GetClassCall
2020-06-19 10:21:09 +03:00
Jinseong Jeon
781bfa20e8
FIR deserializer: fix conversion of class literal inside annotation array value.
2020-06-19 10:21:09 +03:00
Jinseong Jeon
b076bec07f
FIR deserializer: signature-aware annotation loading for functions
2020-06-19 10:21:09 +03:00
Ilya Kirillov
11a680d7d8
Wizard: group project templates into the categories on the first step
...
#KT-39700 fixed
2020-06-19 09:29:41 +03:00
Ilya Kirillov
bfedeed2c1
Wizard: use new icons in UI
2020-06-19 09:29:40 +03:00
Ilya Kirillov
7df0dd5032
Wizard: fix ui constants
2020-06-19 09:29:39 +03:00
Abduqodiri Qurbonzoda
6e5b94f695
Update js public api dump
2020-06-19 08:39:48 +03:00
Abduqodiri Qurbonzoda
c923b2e139
Deprecate contains, indexOf, lastIndexOf functions of Float/DoubleArray #KT-28753
2020-06-19 08:39:47 +03:00
Abduqodiri Qurbonzoda
97c688057d
Compare floating point values asList elements in total order #KT-28753
2020-06-19 08:39:47 +03:00
Toshiaki Kameyama
ba5e643cb2
Redundant qualifier name: fix false positive with same name variable
...
#KT-39200 Fixed
2020-06-19 12:08:36 +07:00
Abduqodiri Qurbonzoda
bf26d87ee9
Update js public api dump
2020-06-19 04:53:54 +03:00
Abduqodiri Qurbonzoda
16b62b8e65
Introduce minWithOrNull and maxWithOrNull extension functions #KT-38854
2020-06-19 04:53:53 +03:00
Abduqodiri Qurbonzoda
194791a168
Introduce minByOrNull and maxByOrNull extension functions #KT-38854
2020-06-19 04:53:51 +03:00
Abduqodiri Qurbonzoda
846a7823ad
Introduce minOrNull and maxOrNull extension functions #KT-39064
2020-06-19 04:53:49 +03:00
simon.ogorodnik
a8cd8ad8f8
[FIR] Fix testData after changing anonymous object name
2020-06-19 01:52:02 +03:00
Vladimir Ilmov
b100fd526f
(CoroutineDebugger)(Test) local variable removed from generated code
2020-06-19 00:32:19 +02:00
Vyacheslav Gerasimov
5724c47bcf
Build: Fix uri parsing on windows in publication repo configuration
2020-06-19 00:35:55 +03:00
Ilmir Usmanov
542f1b8709
Minor. Update tests
2020-06-18 17:53:47 +02:00
Ilya Goncharov
932cf21776
[Gradle, JS] Allow to change destDir only for separate task and name it destinationDir
...
#KT-38331 fixed
2020-06-18 18:51:30 +03:00
Ilya Goncharov
7386408e94
[Gradle, JS] AbstractDukatTask -> DukatTask
...
#KT-38331 fixed
2020-06-18 18:51:08 +03:00
Ilya Goncharov
49dd839131
[Gradle, JS] DukatTask -> IntegratedDukatTask
...
#KT-38331 fixed
2020-06-18 18:50:53 +03:00
Ilya Goncharov
46be588f27
[Gradle, JS] Add task for separate usage of Dukat with project npm dependencies
...
#KT-38331 fixed
2020-06-18 18:50:36 +03:00
Ilya Gorbunov
606fad64ad
Leave StringBuilder.append/insert with non-nullable String parameter
...
Leave these methods as hidden in order to preserve binary compatibility.
#KT-39504
2020-06-18 18:45:43 +03:00
Pavel Kirpichenkov
91b371789e
Invalidate library caches on OOCBM with enabled resolution anchors
...
Without forced clean stale references to declarations from source-dependent libraries
can be accessed after invalidation, i.e. resolved references can point to incorrect PSI.
TBD: more granular invalidation.
KT-24309
2020-06-18 18:27:28 +03:00
Alexander Udalov
204871a7ab
Update bootstrap to 1.4.20-dev-772
2020-06-18 16:18:59 +02:00
Ilya Matveev
754a74ac4a
[Gradle, native] Allow parallel in-process compiler execution
...
This commit allows parallel in-process execution of the K/N compiler
that was prohibited by 254a978a06 .
Issue #KT-38991 fixed
2020-06-18 14:18:00 +00:00
Ilya Matveev
03bb9138ad
[klib] Create ZipFileSystem from a Path instead of an URI
...
Calling FileSystems.newFileSystem(URI, ...) throws a
FileSystemAlreadyExistsException if a ZipFileSystem for this
URI is already created. We still can use a single instance
of ZipFileSystem by calling FileSystems.getFileSystem. In
this case we use reference counting to determine when this
instance can be safely closed.
But we cannot count references if the same ZipFileSystem is used
from different class loaders. This patch fixes this issue by
creating a file system from Path instead of an URI. Contract of
FileSystemProvider.newFileSystem(Path, ...) doesn't imply throwing
FileSystemAlreadyExistsException.
Issue #KT-37443 fixed
2020-06-18 14:17:59 +00:00
Natalia Selezneva
bf1ad44af9
Run partial import only for specified build root
2020-06-18 17:14:47 +03:00
Natalia Selezneva
5fe47ffbec
Workaround for bug in GradleInstallationManager.resolveGradleVersion()
...
Wrong gradle version when wrapper is used
fixed in 201
2020-06-18 17:14:47 +03:00
Natalia Selezneva
7a47994498
Get gradle version and gradle home from corresponding BuildModel after import
...
GradleProjectSettings that were used, are updated after KotlinDslListener is called,
so it isn't correct to check if kotlinDslModels are supported using it.
Also GradleScriptDefinitionsContributor should use gradle home from BuildModel, not from settings for the same reasons.
^KT-39104 Fixed
2020-06-18 17:14:46 +03:00
Victor Petukhov
ece61915de
NI: clean calls in coroutine inference before the second analysis of += only for right side
...
^KT-39660 Fixed
2020-06-18 17:09:59 +03:00
Vyacheslav Gerasimov
1f66049a1e
Build: Fix plugin marker publication to a remote repository
2020-06-18 16:57:39 +03:00
Igor Chevdar
2fd657b768
[box-tests] Fixed test for K/N
2020-06-18 18:44:11 +05:00
Yan Zhulanow
8b5f2f9474
Fix duplicate stepping filter adding on plugin start-up (KT-38628)
...
Review KT-CR-1301.
2020-06-18 22:32:34 +09:00
Yan Zhulanow
235b9b9269
Add kotlin-stdlib-js and kotlin-test-js to IDE artifact dependencies
2020-06-18 22:32:34 +09:00
Pavel Kirpichenkov
470fef94fb
Use bound resolution facade in DeprecationResolver usages
...
Resolution facade should be used consistently with direct usages of frontend components.
Otherwise they can start processing descriptors from foreign resolvers which leads to memory leaks.
Plain resolution API with provided facade is not suitable as-is for compiled declarations in KotlinIndicesHelper though.
Resolution facade for module sources contained in helper can't handle decompiled
sources from PSI indices (leads to "ModuleInfo not contained in resolver" errors).
That's why "hacked" resolve via import references should be used there.
#KT-39642 Fixed
2020-06-18 14:24:17 +03:00
Jinseong Jeon
82ef6bf96c
FIR2IR: honor user-contributed members in data class if any
2020-06-18 14:23:52 +03:00
Mikhail Glukhikh
b839a91050
Mute 3 FIR BB tests due to LowPriorityInOverloadResolution in reflect
...
Recently second javaType function appeared in reflect and
now FIR can't correctly resolve the code :(.
Will be fixed after annotation deserialization full support
2020-06-18 13:39:48 +03:00
Mikhail Glukhikh
d009c90e3a
Revert "Mute two FIR BB tests due to LowPriorityInOverloadResolution in reflect"
...
This reverts commit 3768af4f
2020-06-18 13:24:38 +03:00
Mikhail Glukhikh
3768af4f92
Mute two FIR BB tests due to LowPriorityInOverloadResolution in reflect
...
Recently second javaType function appeared in reflect and
now FIR can't correctly resolve the code :(.
Will be fixed after annotation deserialization full support
2020-06-18 13:21:35 +03:00
Mikhail Zarechenskiy
d44a7ff8f9
Add test for obsolete issue
...
The issue was fixed in df1595e
#KT-39630 Fixed
2020-06-18 13:05:42 +03:00
Yan Zhulanow
559561ca6b
Add missing intellij-core dependency for sam-with-receiver tests
2020-06-18 19:01:44 +09:00
Yan Zhulanow
713a305f45
Update change data for IrTextTestCaseGenerated
...
Reason of changes: 098469eb85
2020-06-18 19:01:06 +09:00
Ilya Gorbunov
ec5a04a6c7
Update public jvm API dump after introduction of javaType
...
See 9e37b62f62
2020-06-18 12:44:23 +03:00
Mikhail Zarechenskiy
a067d138e9
Enable test for new inference after df1595e4
...
Follow up KT-37149
2020-06-18 12:41:27 +03:00
Mikhail Zarechenskiy
df1595e4bc
Fix SAM conversions for derived classes
...
#KT-39535 Fixed
#KT-37149 Fixed
2020-06-18 12:36:30 +03:00
Georgy Bronnikov
ee6d432ced
Add forgotten test files
2020-06-18 12:22:53 +03:00
Igor Chevdar
cf6eb138ce
[box-tests] Turned on a test for JS_IR
2020-06-18 13:17:38 +05:00
Igor Chevdar
2bf73ccfe5
[IR] Supported extension receivers in SAM conversions
2020-06-18 13:17:38 +05:00
Ilya Muradyan
8c2baf0704
Add missing definitelyDoesNotContainName methods
2020-06-18 09:51:16 +02:00
Ilya Muradyan
573c60ed6b
Add missing recordLookup implementations
2020-06-18 09:51:16 +02:00
Ilya Muradyan
7526ff9484
Compare lookups without respect to their order
2020-06-18 09:51:16 +02:00
Igor Chevdar
3634ad2d54
Added a test
2020-06-18 12:44:48 +05:00
Igor Chevdar
ecf9727568
[IR] Supported IrEnumEntry
...
Fixes https://youtrack.jetbrains.com/issue/KT-38996
2020-06-18 12:44:48 +05:00