Dmitriy Novozhilov
b79d6aced4
[FIR] Add resolve phase for resolving arguments of plugin's annotations
2020-06-05 10:34:00 +03:00
Dmitriy Novozhilov
73b738b7ff
[FIR] Replace resolved flag with resolve status enum for annotation calls
2020-06-05 10:33:59 +03:00
Ilmir Usmanov
8cc5f2abfb
Forbid val field initialization inside EXACLTY_ONCE lambda
...
unless the lambda is inline. This way, final field will remain final.
2020-06-04 21:26:48 +02: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
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
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
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
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
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
Denis Zharkov
9f793f1486
FIR: Support safe-calls new format in FIR builders
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
cb1c3f87f0
FIR: Prepare tree structure for safe-call refactoring
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov
14a41d91f6
FIR: Extract foldFlow from joinFlow/unionFlow in PersistentLogicSystem
2020-06-03 10:43:37 +03:00
Denis Zharkov
a3d6c42810
FIR: Reuse some common parts in PersistentLogicSystem
2020-06-03 10:43:37 +03:00
Denis Zharkov
233cf13bdc
FIR: Minor. Remove when branch that is just the same as "else"
2020-06-03 10:43:37 +03:00
Denis Zharkov
93f39d5df9
FIR: Minor. Refactor processLevelForPropertyWithInvoke
...
- Rename
- Inline unused default parameter
2020-06-03 10:43:37 +03:00
Denis Zharkov
be4d3783a4
FIR: Fix type resolution for anonymous objects
...
^KT-39050 Fixed
2020-06-03 10:43:37 +03:00
Denis Zharkov
4d484dd971
FIR: Support java array in type argument
...
^KT-37321 Fixed
2020-06-03 10:43:37 +03:00
Dmitry Petrov
5efbe6ae15
PSI2IR: SAM conversion in varargs
2020-06-02 23:53:47 +03:00
Dmitry Petrov
16f175612e
KT-31908 Handle SAM conversion on vararg elements
2020-06-02 23:53:47 +03:00
Mikhail Glukhikh
0ffa0b2bd7
[FIR] Fix effective visibility handling for local members
...
In future 'Local' effective visibility could be used
as a flag of local declaration
2020-06-02 18:47:58 +03:00
Mikhail Glukhikh
cb345a4c19
[FIR mangler] Search for type parameters also in overridden declarations
2020-06-02 18:47:58 +03:00
Mikhail Glukhikh
8c422fbfc7
[FIR2IR] Use signature composer to read external callables
2020-06-02 18:47:58 +03:00
Mikhail Glukhikh
9ea69b4b3c
Introduce first version of FirJvmKotlinMangler & its parts
2020-06-02 18:47:50 +03:00
Mikhail Glukhikh
ecb48b7ed9
[FIR2IR] Support callables in signature composer
2020-06-02 18:43:16 +03:00
Mikhail Glukhikh
72dd2ef448
[FIR] Fix CFG building for secondary constructor with delegation
2020-06-02 16:12:32 +03:00
Mikhail Glukhikh
718f0240a1
[FIR TEST] Add problematic CFG test
2020-06-02 16:12:21 +03:00
Jinseong Jeon
6eb21031b2
FIR JVM serializer: serialize property signature
2020-06-02 12:00:52 +03:00
Dmitriy Novozhilov
069adebf01
[NI] Fix checking for inline lambdas without candidate
...
#KT-34506
2020-06-01 23:40:32 +03:00
Victor Petukhov
8d05253369
NI: take into account effective variance during adding constraints from LHS instead of only use site variance
...
^KT-39220 Fixed
2020-06-01 17:24:49 +03:00
Jinseong Jeon
4a511c7721
FIR: extend arrayOf call transformation to other variants
2020-06-01 10:45:42 +03:00