Steven Schäfer
6af616d3c3
FIR: make declarations marked with 'override' implicitly open
...
#KT-52236 Fixed
2022-12-14 21:46:41 +00:00
Ilya Chernikov
5b3816cce5
Test infra: refactor IGNORE_BACKEND directive
...
treat it as a general one, introduce *_K1 and *_K2 variants for
more specific ignoring
2022-11-12 16:28:23 +01:00
Mikhail Glukhikh
3a81174a4c
FIR2IR: support static fake overrides (functions) #KT-53441 Fixed
2022-11-11 13:30:36 +00:00
Mikhail Glukhikh
1ad2ec302b
FirOverrideChecker: don't report VIRTUAL_MEMBER_HIDDEN with invisible
...
#KT-53197 Fixed
2022-09-29 08:34:12 +00:00
Mikhail Glukhikh
036f9affd8
K2: link via signatures if -Xlink-via-signatures is set
...
Related to KT-53505
2022-09-14 10:15:22 +00:00
Mikhail Glukhikh
3ae75a5094
FIR2IR: generate annotations on fake override parameters #KT-53208 Fixed
2022-07-22 16:39:52 +00:00
Mikhail Glukhikh
5445f4043a
K2: expand types during smartcasting to prevent redundant intersections
...
#KT-53184 Fixed
2022-07-22 16:39:52 +00:00
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Mikhail Glukhikh
c92d685415
FIR: postpone callable reference candidate in default argument case
...
#KT-53019 Fixed
2022-07-12 12:22:34 +00:00
Victor Petukhov
9f31f074da
[FE 1.0] Take care callable reference candidates with recursive candidate return type
...
^KT-51844 Fixed
2022-05-09 19:23:43 +00:00
Victor Petukhov
ec6ec20728
[FE 1.0] Fix subtyping for captured integer literal types
...
^KT-50877 Fixed
2022-05-09 19:23:42 +00:00
Mikhail Glukhikh
9bd6a9c069
FIR: handle 'SinceKotlin' as a special kind of deprecated
...
#KT-51850 Fixed
2022-04-06 12:51:20 +00:00
Pavel Kunyavskiy
7ba4d9e1f0
Rework nullability in IR
2022-03-30 06:27:59 +00:00
Mikhail Glukhikh
981f8b1871
FIR: implement resolve of unqualified enum references in when
...
See KT-16768
2022-02-22 22:13:06 +03:00
Mikhail Glukhikh
febf336d23
IrConstTransformer: transform constants also inside call children
2021-12-13 16:24:59 +03:00
Mikhail Glukhikh
66231baa06
FIR2IR: pass annotationMode through arrayOf calls properly
...
#KT-50163 Fixed
2021-12-13 16:24:59 +03:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Mikhail Glukhikh
d6bc6bec59
FIR2IR: read extension function type attribute properly
2021-11-12 12:53:32 +03:00
Mikhail Glukhikh
6eaeada1e6
FIR: cache properties in use-site scope properly
2021-11-09 21:04:40 +03:00
Mikhail Glukhikh
f2c734fc02
FIR2IR: add another fallback for simple synthetic property
2021-11-09 21:04:39 +03:00
Mikhail Glukhikh
b50350f6a5
FIR2IR: add fallback for a synthetic property override situation
2021-11-09 21:04:39 +03:00
Mikhail Glukhikh
a05244eca1
FIR: don't enhance synthetic property if not needed
2021-11-09 21:04:38 +03:00
Mikhail Glukhikh
5b6e21690b
FIR2IR: call fake overrides properly #KT-49288 Fixed
2021-11-09 21:04:35 +03:00
Mads Ager
e1f6c19c83
[FIR] Fix local variable tests.
...
- Mangle names for extension receivers in lambdas
- Correctly mark anonymous variables and variables for arguments
for destructuring declaration.
There is one failure remaining which is cause by lambda
type inference differences that leads to FIR having an explicit
return from the lambda whereas old frontend leads to an implicit
return. This difference is visible in debug stepping that the
local variables tests do because the implicit return has the line
number of the closing brace of the lambda. This change adds an
IrText test to make the difference clear.
2021-11-09 11:09:11 +03:00
Dmitry Petrov
af18b10da9
JVM_IR KT-49203 generate stubs for not found classes
2021-10-15 12:15:49 +03:00
Denis.Zharkov
10c5d987d7
FIR: Fix exception on remaining flexible ILT in lambda
...
^KT-49191 Related
2021-10-14 14:01:49 +03:00
Dmitriy Novozhilov
b454fcc1e0
[FIR] Save IR dumps to .ir.txt files instead of .txt in tests
...
This is needed to avoid clashes between different dumps from different
handlers
2021-10-12 17:26:36 +03:00
Denis.Zharkov
f5da8957b4
FIR2IR: Support not found dependencies classes
...
^KT-49119 Relates
2021-10-07 17:26:27 +03:00
Tianyu Geng
765cad8448
FIR checker: substitute type parameters in dispatch receiver type
...
Consider the following code:
```
fun test(a: List<String>) {
a.first()
}
```
The dispatch receiver type of `first` in this case is `List<T>` before
this change. After this change, it's `List<String>`.
In addition, this change also replace the dispatch receiver type with
the more specific type if available. For example, consider the following
```
class MyList: ArrayList<String>()
fun test(a: MyList) {
a.get(0)
}
```
The dispatch receiver type of `get` is `MyList`, instead of
`ArrayList<String>`. That is, a fake override is created in this case.
2021-09-17 01:59:06 +03:00
Mikhail Glukhikh
9c8b8f053e
FIR: handle named argument properly during annotation serialization
2021-09-02 11:12:48 +03:00
Alexander Udalov
ffe0d9de70
Psi2ir: do not sort descriptors for fake override generation
...
Descriptors are already supposed to be sorted in scopes. The problem is
that rendering descriptors for sorting takes a lot of time (~1.5% of
total compilation time of intellij with JVM IR), and simple heuristics,
like comparing by names first, don't fully help with it.
#KT-48233
2021-08-31 20:25:59 +02:00
Mikhael Bogdanov
8ab546ba51
[FIR]: Pass special origins for local functions (named and anonymous)
2021-08-18 09:58:27 +00:00
Mikhael Bogdanov
a5e59e09ee
Copy methods for lambdas to DefaultImpls without receiver transformation
...
#KT-48230 Fixed
2021-08-18 09:58:27 +00:00
Mikhail Glukhikh
f6413c41a0
FIR: fix serialization of JvmField-properties of local classes
...
#KT-48175 Fixed
2021-08-13 11:13:58 +03:00
Mikhail Glukhikh
1b7425f428
FIR mangler: handle situation with invisible type in f/o signature
...
Before this commit, FIR mangler effectively dropped f/o parameter with
invisible type from this module. It could lead to signature clashes.
Now we insert classId in mangler string instead.
This fixes FIR bootstrap.
2021-05-25 11:38:48 +03:00
Dmitry Petrov
53c1de172f
IR KT-46578 add IrProperty#overriddenSymbols
2021-05-14 16:20:18 +03:00
Mikhail Glukhikh
f278de8768
FIR: don't call toString() inside string concatenations
2021-04-26 12:50:55 +03:00
Mikhail Glukhikh
9b3f1b9b8a
Inference: handle Exact constraints with captured types properly
...
#KT-41818 Fixed
2021-04-15 15:55:41 +03:00
Dmitriy Novozhilov
d0a148074f
[FIR2IR] Fix generating body for for-loop
2021-03-30 12:28:15 +03:00
Dmitriy Novozhilov
6592407492
[Test] Fix jdk target for BB test
2021-03-29 12:42:54 +03:00
Dmitriy Novozhilov
a9399535fb
[FIR2IR] Change receiver of field of base class in derived class in property reference
2021-03-29 11:14:52 +03:00
Dmitriy Novozhilov
38ab37d7eb
[FIR2IR] Properly handle callable references to static functions
2021-03-29 11:14:52 +03:00
Dmitriy Novozhilov
3d1f4b8386
[FIR] Don't add @EnhancedVisibility to types with @Nullable annotation
2021-03-15 12:13:06 +03:00
Dmitriy Novozhilov
a6d1d47918
[FIR] Fix clearing info about DF variable after reassignment
2021-03-04 17:09:17 +03:00
Dmitriy Novozhilov
714c2a8f93
[FIR] Bind return expression to function symbol instead of function itself
2021-03-02 19:11:27 +03:00
Mikhail Glukhikh
57e06992c9
Skip JDK 6 in failing BB test (java.util.function in use)
2021-02-11 12:59:23 +03:00
Mikhail Glukhikh
cd483ad231
FIR2IR: fix raw SAM conversion (avoid * in type arguments)
2021-02-11 11:48:35 +03:00
Mikhail Glukhikh
5f3102bf2f
FIR2IR: expand type before getting nullability #KT-44803 Fixed
2021-02-11 11:48:35 +03:00
Mikhail Glukhikh
4a381d4b83
FIR DFA: update receivers properly in case of single flow in merge point
2021-02-08 18:23:44 +03:00
Mikhail Glukhikh
d4b0688690
FIR: introduce delegate field initializers
...
Before this commit we initialized delegate fields in primary constructor,
that could provoke NPE in case delegate is used in initializer of
some property backing field.
Now we initialize delegate fields directly instead.
2021-02-08 14:28:27 +03:00