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
sebastian.sellmair
e2816ffabb
[Commonizer] Rename CirTypeSubstitutor implementations
...
^KT-48287
^KT-48286
2021-08-19 12:19:14 +00:00
sebastian.sellmair
8aceff3641
[Commonizer] Implement CirUnderscoredTypeAliasSubstitutor
...
Try substituting TypeAlias types that start with `__` in favour
of TypeAlias without the underscored prefix
^KT-48287 Verification Pending
^KT-48286 Verification Pending
2021-08-19 12:19:14 +00:00
Ilya Goncharov
7d3830ba7d
[Gradle, JS] Use stable version of webpack-dev-server
2021-08-19 15:06:16 +03:00
Hung Nguyen
16dfdb620e
KT-45777: Add custom serialization for classpath snapshot
...
Also add a few commonly-used classes/methods to externalizers.kt to
allow reuse.
Bug: KT-45777
Test: New ClasspathSnapshotSerializerTest
2021-08-19 13:50:26 +03:00
Alexander Likhachev
0d2a514a70
[Gradle, JS] Fix NPM resolution skip condition for js compilation
...
#KT-48241 Fixed
2021-08-19 12:07:23 +03:00
Alexander Likhachev
b74253521e
[Gradle, JS] Add test for KT-48241
2021-08-19 12:06:32 +03:00
Igor Chevdar
a576160847
[K/N][IR][codegen] Lazy initialization fix for new GC
...
A mutable field should be registered in GC even if its initializer is a const
2021-08-19 00:50:28 +05:00