Commit Graph

85165 Commits

Author SHA1 Message Date
Victor Petukhov 63cefe228d Extract computing raw type arguments into separate method 2021-08-20 13:10:42 +03:00
Dmitry Petrov a3bb9dde45 JVM_IR KT-48295 don't upcast field receiver with super qualifier 2021-08-20 12:27:43 +03:00
nataliya.valtman 7038b02933 Add build uuid, time and hostname fields to ES stat 2021-08-20 10:48:43 +03:00
nataliya.valtman ae3f0a5158 Update custom values format 2021-08-20 10:48:37 +03:00
nataliya.valtman 96a22d48f8 Remove support of Gradle 6.0 or less 2021-08-20 10:48:35 +03:00
nataliya.valtman c8254676c1 Add non Incremental reason to build scan 2021-08-20 10:48:31 +03:00
nataliya.valtman 2114e048dc Add statistic to buildScan 2021-08-20 10:48:28 +03:00
Ilya Goncharov 423ecfe640 [Gradle, JS] NodeJsSetup and yarnSetup are not cacheable
^KT-48332 fixed
2021-08-20 10:43:46 +03:00
Pavel Kunyavskiy 523e9495fc [K/N] Optimize safepoint implementation 2021-08-20 07:01:06 +00:00
pyos 858bd47c45 JVM_IR: use substituted return type when lowering inline references
#KT-48267 Fixed
2021-08-20 06:41:03 +02:00
Mads Ager 0b84de31b7 [JVM IR] Generate line number for exception store for finally.
^KT-46451 Fixed
2021-08-20 00:59:55 +02:00
Victor Petukhov a1519b7b4e Be able to infer a type variable based on several builder inference lambdas
^KT-48329 Fixed
2021-08-20 01:28:12 +03:00
Victor Petukhov bf1e68a53f Resolve calls using the builder inference despite the presence of the annotation if there are uninferred type variables
^KT-48194 Fixed
2021-08-20 01:28:11 +03:00
Victor Petukhov 55811c8851 Don't use builder inference if possible
The builder inference is running only if there are still uninferred type variables

^KT-48193 Fixed
2021-08-20 01:28:10 +03:00
Victor Petukhov 3df5667a4b Split variables fixation and reporting "not enough type infromation" in the type system completer into two parts 2021-08-20 01:28:06 +03:00
Victor Petukhov 261a04b587 Rename "coroutine( inference) *" stuff into "builder inference *" 2021-08-20 01:28:05 +03:00
Igor Yakovlev 8e885da677 [FIR IDE] Fix exception in FIR LC with special identifier names 2021-08-19 21:26:08 +02:00
Igor Yakovlev 2ce391d317 [FIR IDE] Fix unensured access to the return type 2021-08-19 21:26:08 +02:00
Igor Yakovlev 7a5a2bfcd7 [FIR] Fix invalid source for anonymous object type 2021-08-19 21:26:07 +02:00
Igor Yakovlev 5e6442b475 [FIR IDE] Suppress warnings to build project with warnings-as-errors mode 2021-08-19 21:26:07 +02:00
Igor Yakovlev 5498f40ce7 [FIR IDE] Fix reference resolve for functions call 2021-08-19 21:26:07 +02:00
Igor Yakovlev 42242e198b [FIR IDE] Fix invalid resolve for local declarations that could be outdated while incremental analisys 2021-08-19 21:26:07 +02:00
Igor Yakovlev 6360366ecc [FIR IDE] Fix invalid resolve for local declarations that could be fully replaced with new instance
+small optimisations for IMPORTS phase
2021-08-19 21:26:07 +02:00
Igor Yakovlev ed0bfabc51 [FIR IDE] Fix invalid reference resolve for null safety operator 2021-08-19 21:26:07 +02:00
Igor Yakovlev 0a5dee567e [FIR IDE] Fix invalid property incremental analisys 2021-08-19 21:26:07 +02:00
Igor Yakovlev 0781156b42 [FIR IDE] Fix invalid reference resolve into companion with custom name 2021-08-19 21:26:07 +02:00
Igor Yakovlev 2ff4f10ff0 [FIR IDE] Fix SOE for FIR deserialized declarations provider 2021-08-19 21:26:07 +02:00
Igor Yakovlev 035f1ff89f [FIR IDE] Add ValueWithPostCompute recursive guard 2021-08-19 21:26:07 +02:00
Igor Yakovlev d0e25eb987 [FIR IDE] Preprocess cone types in psi type mapper 2021-08-19 21:26:07 +02:00
Igor Yakovlev 79b70a6f98 [FIR IDE] Ensure resolved for status when resolving local declarations 2021-08-19 21:26:07 +02:00
Igor Yakovlev 21f36ef19a [FIR IDE] Fix inner light classes creation 2021-08-19 21:26:07 +02:00
Igor Yakovlev 0ca7fb7af5 [FIR] Fix JvmTypeMapper for generic type aliases 2021-08-19 21:26:06 +02:00
Igor Yakovlev 9bc695e245 [FIR IDE] Make one global lock for resolve 2021-08-19 21:26:06 +02:00
Georgy Bronnikov b42358f893 JVM_IR: do not index on AttributeOwnerId in AddContinuationLowering 2021-08-19 21:53:47 +03:00
Georgy Bronnikov 32518eee4b JVM_IR: use computeIfAbsent in ClassCodegen.getOrCreate() 2021-08-19 21:53:46 +03:00
Georgy Bronnikov a5a79215d7 JVM_IR: No need to use ConcurrentHashMap in ClassCodegen 2021-08-19 21:53:45 +03:00
Georgy Bronnikov 07eef9b751 JVM_IR: double call to adjustDefaultArgumentStubs 2021-08-19 21:53:44 +03:00
Alexander Shabalin a7460e9061 [K/N] Enable lazy property initialization with the new MM 2021-08-19 18:23:01 +00:00
Ilmir Usmanov b5fa129540 Loosen tail-call optimization check for functions returning Unit
Do not check, that all Unit predecessors are POPs. This is safe for the
same reason, as it is safe to allow some of ARETURN sources not be
suspension point results.
To elaborate, before Unit, the stack is empty. This is because if there
are multiple paths to Unit and at least one of them comes from POP after
suspension point (we are interested in this case only - otherwise, the
call is not tail-call), in path from said POP the stack is empty, since
after suspension point the stack contains only one element. Thus, the
stack in other paths leading to Unit has to be empty, otherwise, merge
operation is not possible and ASM will report error during analysis.
Since the stack is empty in all paths, we can hoist Unit and following
ARETURN to predecessors, effectively turning path from suspension point
to tail-call.
2021-08-19 16:05:21 +00:00
Mads Ager d33b70af1a [JVM IR] Ensure an instruction for the line number for a break.
This ensures that the debugger always has a bytecode offset for
the line number of a break/continue so that you step there and
so that you can set breakpoints there.

The `nop` instruction is optimized out if it has no line number
information.

^KT-46450 Fixed
2021-08-19 15:40:44 +02:00
Andrey Zinovyev 894a446585 [FIR] Add missing messages for jvm diagnostics and fix some tests 2021-08-19 15:25:51 +03:00
Andrey Zinovyev 3b21759697 [FIR] SUPER_CALL_WITH_DEFAULT_PARAMETERS diagnostic 2021-08-19 15:25:50 +03:00
Andrey Zinovyev 24fbe0f072 [FIR] UPPER_BOUND_CANNOT_BE_ARRAY diagnostic 2021-08-19 15:25:49 +03:00
Andrey Zinovyev 4661656b8c [FIR] JVM_PACKAGE_NAME* diagnostics 2021-08-19 15:25:47 +03:00
Andrey Zinovyev ae558c0290 [FIR] Add DEPRECATED_JAVA_ANNOTATION diagnostic 2021-08-19 15:25:46 +03:00
Andrey Zinovyev f9b601edae [FIR] @JvmOverloads related checkers 2021-08-19 15:25:44 +03:00
Andrey Zinovyev 17ae69416c [FIR] Add SYNCHRONIZED_* diagnostics 2021-08-19 15:25:43 +03:00
Andrey Zinovyev 7ba8e0d9cc [FIR] Add VOLATILE_ON_VALUE/VOLATILE_ON_DELEGATE diagnostic 2021-08-19 15:25:43 +03:00
Andrey Zinovyev f90b534c4c [FIR] Add STRICTFP_ON_CLASS diagnostic 2021-08-19 15:25:41 +03:00
sebastian.sellmair 565ea2c4f5 [Commonizer] Improve iteration performance in transformer and mergeCirTree
An allocation/iterator free `forEach` is used for lists that
are not intended to be modified at the same time.
2021-08-19 12:19:15 +00:00