Victor Petukhov
bcd33da6f8
Don't check an argument type during passing it to vararg in the named form to avoid false positives if the argument type is type variable yet
...
^KT-41144 Fixed
2020-09-10 19:38:26 +03:00
Jinseong Jeon
ef58e0cd71
FIR2IR: refactor adapter generation
2020-09-10 11:31:24 +03:00
Jinseong Jeon
5fdd06676f
FIR: discriminate candidates with suspend conversion
2020-09-10 11:31:24 +03:00
Jinseong Jeon
6de8ba40c1
FIR: initial support of suspend conversion on arguments
2020-09-10 11:31:24 +03:00
Jinseong Jeon
49679f3145
FIR: map arguments for overloading indexed access operator
2020-09-10 11:25:36 +03:00
Vladimir Dolzhenko
5036673187
Improve package caching in KotlinJavaPsiFacade
...
^KT-33394 Fixed
2020-09-10 07:38:46 +00:00
Ilmir Usmanov
e8a451072e
Minor. Add tests with same JvmType in covariant override
2020-09-09 17:43:41 +02:00
Ilmir Usmanov
7cbd067460
Add tests with resume path
2020-09-09 17:43:39 +02:00
Ilmir Usmanov
1c97eafea8
Check for COROUTINE_SUSPENDED inside callable reference
...
#KT-41429 Fixed
2020-09-09 17:43:37 +02:00
Alexander Udalov
3d7619421f
JVM IR: fix exception on star projection in type parameter upper bound
...
#KT-41761 Fixed
2020-09-09 17:07:52 +02:00
Victor Petukhov
685d16ec68
NI: don't do substitution for unsupported callable descriptors to use as callable references
...
^KT-41729 Fixed
2020-09-09 18:00:41 +03:00
Victor Petukhov
c1ebd33833
Capture flexible intersection types properly: take into account both bounds and use the same captured arguments for them
...
^KT-41693 Fixed
2020-09-09 14:52:12 +03:00
Dmitriy Novozhilov
f748d8cf70
[FIR] Extract ResolutionContext to separate file
2020-09-09 12:38:36 +03:00
Dmitriy Novozhilov
1a84ec9677
[FIR] Mark all session components respectively to they have mutable state or not
...
Also add documentation for all fir annotations
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
8686e3779e
[FIR] Make all session components abstract classes
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
caf325934c
[FIR] Unmake FirSamResolver as session component
...
It can not be stored in session because it depends on scope session
and have mutable state
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
29addd2a2b
[FIR] Make InferenceComponents session component
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
41b395b0aa
[FIR] Extract mutable state from InferenceComponents
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
d70858edfa
[FIR] Get rid of inference components in CheckerSink
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
912676d868
[FIR] Introduce ResolutionContext and get rid of components in Candidate
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
c53ffca34f
[FIR] Extract BodyResolveContext from FirAbstractBodyResolveTransformer
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
edb1273355
[FIR] Report ResolutionDiagnostics instead of applicability in resolve
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
a148db9d81
[FIR] Get rid of CandidateApplicability.SYNTHETIC_RESOLVED
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
19707667fd
[FIR] Cleanup detection that applicability is successful
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
68f3d84e22
[FIR] Use CandidateApplicability from FE 1.0
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
d1568c1ce6
Rename ResolutionCandidateApplicability to CandidateApplicability
2020-09-09 12:38:33 +03:00
Mikhail Glukhikh
db2e3f219f
[FIR] Keep bare type for type alias case
2020-09-09 12:16:09 +03:00
Alexander Udalov
3a5d0ab427
JVM IR: fix HashCode intrinsic for generics substituted with primitives
...
The problem here was that although the IR type of the expression was
primitive, the type of the actual expression in the bytecode generated
after type erasure was `Ljava/lang/Object;`, and we were trying to call
a non-existing method `Object.hashCode(Object)`.
#KT-41669 Fixed
2020-09-08 23:37:00 +02:00
Alexander Udalov
7fb7dc0210
Fix deprecation warnings related to Project extensions
2020-09-08 20:26:20 +02:00
Dmitriy Novozhilov
28a83b04cd
[FIR] Minor. Fix code style
2020-09-08 12:51:13 +03:00
Dmitriy Novozhilov
67604dcb66
[FIR] Add generator for checkers aliases and sets of checkers
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
4de57fcac2
[FIR] Initialize module for checkers generator
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
6656669551
[FIR] Fix typo
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
3b9e86ccbf
[FIR] Remove empty file
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
a8a5ed3cd3
[FIR] Get rid of runCheck in checkers components
2020-09-08 12:51:11 +03:00
Dmitriy Novozhilov
71a855112e
[FIR] Get rid of ParallelDiagnosticsCollector
2020-09-08 12:51:11 +03:00
Dmitry Petrov
6746bd81d5
PSI2IR tests for KT-41735
2020-09-08 12:34:19 +03:00
Steven Schäfer
44ffb1fb3e
Psi2Ir: Fix SAM conversion with new inference
2020-09-08 11:14:14 +03:00
pyos
75891e860b
FIR2IR: split getIrPropertyOrFieldSymbol, handle locals there
2020-09-08 08:40:13 +03:00
pyos
f198a19ab0
FIR2IR: add local delegated property generation
2020-09-08 08:40:07 +03:00
Dmitry Petrov
b00ce872ea
JVM: record JVM signature for equals/hashCode/toString in inline classes
2020-09-07 12:25:50 +03:00
Dmitriy Novozhilov
a8c68d9e6f
Remove dependency on :compiler:frontend.java from :compiler:fir:jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
b81c0e91d5
Replace DescriptorVisibility with Visibility in Java model classes
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
64ec3fc42b
Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
564d382b9d
Introduce new modules for common jvm related parts of compiler
2020-09-04 11:07:40 +03:00
Dmitry Petrov
714ab7c37f
Handle java raw types in IR
...
Raw type Q is represented as a flexible type
Q<B1, ... Bn> .. Q<*, ... *>
where Bi is a representative upper bound of the corresponding ith type
parameter of Q.
When mapping generic signature, JVM takes type arguments of lower bound
(which is 'Q<B1, ..., Bn>').
There is still some difference in how JVM and JVM_IR handle raw type in
signature. It requires additional investigation.
2020-09-04 10:21:48 +03:00
Victor Petukhov
85d99612a2
Don't create inconsistent types (with contradictive use site and declaration site variances) for star projections with corresponding contravariant type parameters during substitution
...
^KT-41388 Fixed
2020-09-03 16:24:28 +03:00