Mikhail Glukhikh
6ad37eb7a8
Unmute two more FIR BB tests
2020-06-04 17:26:27 +03:00
Mark Punzalan
802beb49a6
Use TypeSubstitutor to get the substituted underlying type for inline
...
classes, instead of MemberScope.
The primary motivation was to fix issues around type-mapping for inline
classes in FIR, which uses wrapped descriptors that have empty
MemberScopes.
2020-06-04 17:03:55 +03:00
Mikhail Glukhikh
88b130308d
Revert accidental test data change introduced in 0d6e3093
2020-06-04 16:34:40 +03:00
Mikhail Glukhikh
0ce47f2f12
[FIR TEST] Mute 2 BB tests broken by 0d6e3093
2020-06-04 16:34:39 +03:00
Alexander Udalov
5647a935a2
JVM IR: do not generate DefaultImpls delegate for collection fake overrides
...
In the newly added test, prior to this change, JVM IR was generating
DefaultImpls classes with calls to things like
`kotlin/collections/MutableList$DefaultImpls.spliterator` and other
default methods present in JDK 8+. This obviously didn't make much
sense. Although these weren't explicitly mentioned anywhere in the
bytecode, they caused some validation tools to report errors (e.g.
animalsniffer used in arrow).
2020-06-04 14:27:46 +02:00
Ilya Goncharov
4bbead6200
[Gradle, JS] Remove custom source-map-loader
...
#KT-39377 fixed
2020-06-04 15:02:12 +03:00
Dmitry Petrov
de25359a90
Fix stdlib compilation after updated @JvmName check
...
Previously, extension receiver type was not taken into account when
checking for @JvmName annotation applicability to possibly mangled
functions (such functions, however, were mangled).
This bug was fixed, but, unfortunately, not before such functions were
added to stdlib ('sumOf' family).
2020-06-04 12:16:28 +03:00
Dmitry Petrov
202bbdf8dd
Forward compatibility hacks for Result.{success, failure}
...
Don't mangled functions annotated with @JvmName.
Annotate 'Result.success' and 'Result.failure' with @JvmName and
@Suppress("INAPPLICABLE_JVM_NAME").
NB this would require bootstrap.
2020-06-04 12:16:27 +03:00
Mikhail Glukhikh
1ea72ec378
Fix test data in FIR diagnostic test (merge with local eff. visibility)
2020-06-04 10:35:01 +03:00
Jinseong Jeon
0d6e309372
FIR: construct type with actual type arguments during GetClassCall transformation
2020-06-04 10:13:37 +03:00
Mikhail Bogdanov
4f8ad6bdcb
Remove compatibility hack
2020-06-04 08:01:30 +02:00
Dmitry Petrov
a4b9e8fdc6
Minor: mute test in JS_IR
2020-06-03 23:24:16 +03:00
Georgy Bronnikov
0db02926f5
JVM_IR: remove descriptors from MethodSignatureMapper
2020-06-03 22:42:02 +03:00
Georgy Bronnikov
77c20066a8
JVM_IR: implement getJvmModuleNameForDeserialized in MethodSignatureMapper
2020-06-03 22:42:02 +03:00
Georgy Bronnikov
80afe42d17
JVM_IR: implement getJvmNameIfSpecial in MethodSignatureMapper
2020-06-03 22:42:02 +03:00
Pavel Kirpichenkov
7fff8f82e2
Changes after review
...
- Replace leaking ModuleResolverTracker with use of ModuleDescriptor.Capabilies
- Provide API for retrieving ResolverForProject from ResolutionFacade
- Update names
2020-06-03 20:58:07 +03:00
Pavel Kirpichenkov
db1210fc67
Introduce components for library-to-source resolution in IDE
...
#KT-24309 In progress
2020-06-03 20:58:07 +03:00
Ilmir Usmanov
822c14814b
Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline"
...
This reverts commit 1ed4324613 .
Otherwise, bootstrap is broken.
2020-06-03 19:43:59 +02:00
Ilmir Usmanov
1ed4324613
Completely rewrite reifiedIntTypeAnalysis, making it more streamline
...
and easy to understand and optimize if it would be a bottleneck.
Use LVT to get information of refined int type in one specific case
#KT-38925 Fixed
2020-06-03 16:03:50 +02:00
Ilmir Usmanov
0e908b720d
Replace SourceInterpreter with specific one in tail-call optimization
2020-06-03 16:03:49 +02:00
Ilmir Usmanov
3fa9ea9bc0
Remove unreachable instructions
2020-06-03 16:03:48 +02:00
Ilmir Usmanov
ea60b83f16
Fix merging two sources with same type
2020-06-03 16:03:48 +02:00
Ilmir Usmanov
cd0e218a07
Rewrite RedundantLocalsEliminationMethodTransformer
...
Use specific interpreter instead of SourceInterpreter.
2020-06-03 16:03:48 +02:00
Ilmir Usmanov
f247ea7c27
Replace SourceInterpreter with a specific one in coroutines inlining
2020-06-03 16:03:48 +02:00
Dmitry Petrov
99a1ef0460
Minor: mute test in JS_IR
2020-06-03 16:09:52 +03:00
Dmitry Petrov
ba43ee8410
Handle error type in SamType
2020-06-03 15:57:24 +03:00
Dmitriy Novozhilov
dae2acca88
[FIR] Remove useless hack for builtins from supertype resolution
2020-06-03 13:10:17 +03:00
Dmitriy Novozhilov
9fa4ff750b
[FIR] Fix ArrayMapImpl.iterator()
2020-06-03 13:10:17 +03:00
Dmitriy Novozhilov
15d85bdc05
[FIR] Add extension for adding new supertypes
2020-06-03 13:10:17 +03:00
Dmitriy Novozhilov
eceeacdf61
[FIR] Change nested class generation extension to generate top-level classes also
2020-06-03 13:10:16 +03:00
Dmitriy Novozhilov
1b120c189e
[FIR] Record generated classes in FirProvider
2020-06-03 13:10:16 +03:00
Dmitriy Novozhilov
ed55e84afa
[FIR] Distinct declarations found by FirPredicateBasedProvider
2020-06-03 13:10:15 +03:00
Dmitriy Novozhilov
87f0f123a8
[FIR] Add extension for generating new members for existing classes
2020-06-03 13:10:15 +03:00
Roman Artemev
5eae262264
[PLUGIN API] Implement custom linkage for plugin extensions
2020-06-03 12:17:14 +03:00
Roman Artemev
a401374ed4
[PLUGIN API] Add extension point to customize linkage process
2020-06-03 12:17:14 +03:00
Roman Artemev
f9c2c846f7
[IR] Move IrProvider and 'IrDeserializer' into separate package
2020-06-03 12:17:14 +03:00
Svyatoslav Kuzmich
e9e850ad8f
[JS IR] Fix findInterfaceImplementation
...
isOrOverridesSynthesized uses descriptors which does not work with
wrapped descriptors
2020-06-03 10:47:15 +03:00
Denis Zharkov
19219c37b6
FIR: Fix test data for KT-13650 related test
...
Now, the behavior seems to be more correct then in FE 1.0
2020-06-03 10:43:37 +03:00
Denis Zharkov
7a22827af4
FIR: Unify all references to FIR nodes from non-parents
2020-06-03 10:43:37 +03:00
Denis Zharkov
4a4dce1766
FIR: Use more refined names instead of "safe"
...
^KT-38444 Fixed
2020-06-03 10:43:37 +03:00
Denis Zharkov
6507656496
FIR: Remove FirQualifiedAccessWithoutCallee.safe from generated code
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
291afd8448
FIR: Remove FirQualifiedAcces.safe in non-generated code
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
55a4c40970
FIR: Fix diagnostics test data after safe-call refactoring
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
723b275d99
FIR: Fix rendered fir and DFA graph test data after safe-calls refactoring
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
409e90e7de
FIR: Fix codegen test data after safe-call refactoring
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
080565e482
FIR: Support safe-calls new format in DFA
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
ec746e17c9
FIR: Get rid of RealVariable.originalType
...
Store original type only for local variable aliases
The problem with the former is that RealVariable may be referenced
via safe-calls and via usual calls, but its type is fixed
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
b0b7cf4042
FIR: Support safe-calls new format in FIR2IR
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
7ba1371466
FIR: Support safe-calls new format in body resolution
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
755b846877
FIR: Support safe-calls in renderers
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00