Dmitriy Novozhilov
5ce36a528e
[FE] Prohibit sealed fun interfaces
...
#KT-44947 Fixed
2021-02-17 13:54:10 +03:00
Dmitriy Novozhilov
cdf7de5524
[FE] Change message for sealed interfaces with language target < 1.5
2021-02-17 13:51:14 +03:00
Dmitriy Novozhilov
8521d844e2
Advance bootstrap to 1.5.20-dev-814
2021-02-17 12:01:06 +03:00
Georgy Bronnikov
83343f3a7a
IR: get rid of some type checks in JvmBackendContext
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
68cabba698
IR: preserve signatures when copying IrFiles in performByIrFile
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
db18ffc764
IR: only worry about threads in JvmIrSignatureDescriptor
...
General IdSignatureDescriptor is used from other backends, which have no
multi-threaded backend for now and do not need to carry the associated
runtime costs.
So IdSignatureDescriptor keeps the thread-unsafe caching of signature
builder.
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
cacfe53065
IR: move performByIrFile to a separate .kt
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
4c701cf44c
IR: make extractedLocalClasses a JS-only field
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
445f6eac3d
IR: IrBasedDescriptor fix
2021-02-17 11:05:21 +03:00
Georgy Bronnikov
c081bc8d7e
Fir concurrent maps
2021-02-17 11:05:21 +03:00
Georgy Bronnikov
9cdad272de
Fir threadLocal
2021-02-17 11:05:21 +03:00
Georgy Bronnikov
ec2dc9c0fa
IR: synchronize on SymbolTable operations
2021-02-17 11:05:21 +03:00
Georgy Bronnikov
c9d0448fd1
IR: use threadLocal
2021-02-17 11:05:21 +03:00
Georgy Bronnikov
56a26113cd
IR: threadLocal
...
To be used for per-file state in global structures during parallel
lowering.
2021-02-17 11:05:20 +03:00
Georgy Bronnikov
57167922e2
IR: make lazyVar synchronized
2021-02-17 11:05:20 +03:00
Georgy Bronnikov
4e9bedc2fc
JVM_IR: use ConcurrentHashMap
...
Replace mutable maps and sets accessed from by-file lowerings with
ConcurrentHashMap, so that lowerings can operate on them in parallel.
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
23da2bde67
IR: fixes for IR by-file copying
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
54a76977db
IR: fix fake override computation
...
Due to IR copying in performByIrFile, we need to only distinguish
overrides up to their fqName.
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
d154c8d8e6
IR: copy each file before lowering.
...
Avoid inter-file dependencies while lowering.
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
103f82c95c
IR: an option to automatically select the number of lowering threads
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
52b3cb362b
IR: thread pool in PerformByIrFilePhase
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
eae416d739
IR: Handle exceptions from by-file lowering thread
2021-02-17 11:03:27 +03:00
Georgy Bronnikov
bea5d955d4
JVM_IR: perform file lowerings in parallel
...
Selected by -Xir-run-lowerings-in-paralled compiler flag.
2021-02-17 11:03:26 +03:00
Anton Bannykh
c06b345f3c
Hide stageController into the IrFactory
2021-02-17 10:42:50 +03:00
Anton Bannykh
97080c49fc
Persistent IR generator
...
Goal:
- avoid hand-writing the boilerplate
- easier PIR evolution
Output is reasonably close the hand-writtern version
2021-02-17 10:42:50 +03:00
Anton Bannykh
8a0ce20d43
PIR: minor restructuring
2021-02-17 10:42:50 +03:00
pyos
1310a65f0c
JVM: rename this$0 when regenerating nested objects too
...
In the old backend, this was unnecessary because nested objects would
reference their lambdas' captures through the original this$0. On
JVM_IR, using loose capture fields means a name/descriptor clash can
occur on any level of nesting, not just the top.
2021-02-17 07:56:03 +01:00
Nikolay Krasko
ec89cb2313
Ignore hanging KotlinAndroid36GradleIT.testAndroidMppSourceSets()
...
Ignore till the proper investigation.
Probably caused in https://github.com/JetBrains/kotlin/compare/b262d09a81bf20ffd71db18a0c24ac4f61fa151c...5c7aadece929f79a39bf0ad20549e30d5e391a7c .
2021-02-17 00:26:19 +03:00
Ilmir Usmanov
ec569a4c89
Minor. Suppress errors in tests
2021-02-16 20:59:25 +01:00
Ilmir Usmanov
bad197e075
Raise RESERVED_VAR_PROPERTY_OF_VALUE_CLASS to error
2021-02-16 20:59:21 +01:00
Dmitry Petrov
56a104dda9
JVM_IR KT-44974 fix SAM-converted capturing extension lambda
2021-02-16 19:51:59 +03:00
Dmitriy Novozhilov
83ed67546b
[Test] Support WITH_STDLIB directive in js box tests
2021-02-16 17:51:32 +03:00
Dmitriy Novozhilov
dfcff132fd
[FIR] Fix false-positive smartcast on receiver in rhs of elvis
...
#KT-44942 Fixed
2021-02-16 17:51:32 +03:00
Dmitriy Novozhilov
2b39282682
[FIR] Render original type before smartcasted type in DEBUG_INFO_EXPRESSION_TYPE
...
This is made for keep consistency with same renderer in FE 1.0
2021-02-16 17:51:32 +03:00
Dmitriy Novozhilov
d4c26cca52
[FIR] Use type without smartcast for local variable with smartcasted initializer
2021-02-16 17:51:32 +03:00
Dmitriy Novozhilov
40e286b354
[FIR] Increase level of sequential when branches
...
Level of CFGNode is used to determine which call is a common one for
creating node with union of arguments (to merge flow from multiple
in-place lambdas). Before this change calls in different when branches
may have same node level, which entail passing smartcasts from moddle of
one branch to another
```
val x: Any = ...
when {
... -> run { x as String } // (1)
... -> {
run {
x.foo()
} // (2)
"hello"
}
}
```
Call `(1)` was assumed as argument of call `(2)` which is incorrect
#KT-44814 Fixed
2021-02-16 17:51:31 +03:00
Dmitriy Novozhilov
92271527cb
[Test] Add CFG and IR dump handlers to FirBlackBoxTests
2021-02-16 17:51:31 +03:00
Dmitriy Novozhilov
b5619dbf37
[FIR] Add ability to render node levels in CFG graph dumper
2021-02-16 17:51:31 +03:00
Ilya Kirillov
3e22011626
Fix compilation of HLRedundantVisibilityModifierInspection
2021-02-16 15:47:08 +01:00
Ilya Kirillov
e8f3ebdd19
FIR IDE: introduce HLRedundantVisibilityModifierInspection by extended checker
2021-02-16 15:23:18 +01:00
Ilya Kirillov
6d97841f38
FIR IDE: introduce HLLocalInspectionTest
2021-02-16 15:23:18 +01:00
Ilya Kirillov
7fb6c22889
FIR IDE: allow creating inspections by extended checkers
2021-02-16 15:23:17 +01:00
Ilya Kirillov
b9a4613e44
FIR IDE: remove getMessage from HLPresentation as it duplicates HLApplicator.getActionName
2021-02-16 15:23:17 +01:00
Ilya Kirillov
c13889c2ea
FIR: add ability to specify checkers list for checker components
2021-02-16 15:23:17 +01:00
Ilya Kirillov
ca4a07f73f
Unify message bundles used in IDEA FIR into KotlinBundle
2021-02-16 15:23:17 +01:00
Vladimir Dolzhenko
6352814d45
Fix NPE
...
#KTIJ-898 Fixed
Original commit: 12d8e88b846f29598ca3904b49996bd6a9891ccd
2021-02-16 14:21:40 +00:00
Vladimir Dolzhenko
98ba379e07
Fixed NPE on StandaloneScriptRootsCache instantiation
...
Relates to ^EA-218043
#KTIJ-1137 Fixed
Original commit: 1d63a1b48d480b958ff44676c42b698a8ca5f64a
2021-02-16 14:21:39 +00:00
Dmitriy Dolovov
45b17120ad
[Commonizer] Minor. Rename: 'dependee' -> 'dependency'
2021-02-16 17:19:49 +03:00
Dmitriy Dolovov
ec7e411d80
[Commonizer] Remove classifierId from CIR class/TA nodes
2021-02-16 17:19:43 +03:00
Dmitriy Dolovov
ef931d5561
[Commonizer] Don't keep kotlin/Any as the single supertype in CirClass
2021-02-16 17:19:38 +03:00