Mikhail Glukhikh
393e99fa44
FE: don't run overload-by-lambda-return-type with unsuccessful candidates
...
Related to KT-52927
2022-09-09 16:12:24 +00:00
Mikhail Glukhikh
e02fd8f4a8
FE: don't run builder inference in UNTIL_FIRST_LAMBDA mode
...
#KT-52927 Fixed
2022-09-09 12:44:39 +00:00
Dmitriy Novozhilov
40b13898bd
[FIR] Don't set source of inferred type from expected type
2022-09-07 07:57:37 +00:00
Dmitriy Novozhilov
e1fd184d14
[FIR] Fix missing initialization of backingField for properties from primary constructor
2022-09-07 07:57:37 +00:00
Dmitriy Novozhilov
194741b96b
[FIR] Remove incorrect FirClassSymbol<*>.superConeTypes utility
...
Replace all usages with member `FirClassSymbol.resolvedSuperTypes`
2022-09-07 07:57:37 +00:00
Nikolay Lunyak
3d9c77efa8
[FIR] Add DNN checks
...
Merge-request: KT-MR-7000
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru >
2022-09-01 14:25:07 +00:00
Simon Ogorodnik
8f51c51eee
FIR. Fix smart-cast expression unwrapping in plus with assign resolve
2022-08-26 14:57:06 +00:00
Dmitriy Novozhilov
66117367ad
[FIR] Transform context receivers on properties during type resolution stage
...
^KT-53706 Fixed
2022-08-24 15:36:42 +00:00
Nikita Bobko
8f79e833a8
Drop all redundant kotlin-reflect, kotlin-reflect-api dependencies
...
Review: https://jetbrains.team/p/kt/reviews/6753
All redundant I managed to find, of course.
Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.
They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
`compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
Drop `implementation(project(":kotlin-reflect-api"))` because the
module already depends on
`implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
because after dropping `compileOnly` compilation didn't break (so
`runtimeOnly` looks suspicious). Less safe than 1-3
2022-08-22 15:42:57 +02:00
Mikhail Glukhikh
b78106e437
Don't report INFERRED_..._INTO_EMPTY_INTERSECTION with explicit arguments
2022-08-19 14:01:38 +00:00
Mikhail Glukhikh
fb1c80a7c9
K2: discriminate synthetic 'Enum.entries' during resolve
2022-08-19 10:08:11 +00:00
Dmitriy Novozhilov
bb38690273
[FIR] Introduce FirAssignExpressionAltererExtension
...
This extension can be used to override resolution of assign statements
with custom statement
2022-08-19 07:44:09 +00:00
Arseniy Terekhov
539e5f82e2
[FIR] DeprecationProvider: inline builder, fix named arguments, cosmetic
2022-08-19 07:37:55 +00:00
Arseniy Terekhov
a80870bc8f
[FIR] DeprecationsProvider: caching results
2022-08-19 07:37:54 +00:00
Arseniy Terekhov
25fc948d95
[FIR] DeprecationsProvider: make evaluation of deprecations on demand
2022-08-19 07:37:54 +00:00
Simon Ogorodnik
513af2dfbc
FIR. Refactor smart-cast representation in FIR tree
...
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Mikhail Glukhikh
3079be75d4
K2: don't filter Enum.entries depending on language settings
2022-08-12 09:35:28 +00:00
Mikhail Glukhikh
7333589663
K1/K2: add Enum.entries unconditionally and filter them out in tower
...
Before this commit, we added Enum.entries only in case when
LanguageFeature.EnumEntries was ON (with an exception in K1/Java case).
In this commit we add Enum.entries unconditionally, and in case
the language feature is OFF we filter them out during tower resolve.
2022-08-12 09:35:27 +00:00
Ilya Kirillov
0748f28efe
[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
2022-08-10 22:49:18 +02:00
Ilya Kirillov
28b159ef85
[LL FIR] fix lazy resolve of accessors with implicit types
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:17 +02:00
Ilya Kirillov
97853016d5
[LL FIR] fix lazy resolve of accessors generated by delegation
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:16 +02:00
Simon Ogorodnik
2a16fe1d0f
FIR: Fix overloading by type-arguments
...
In K1, upper bound violated causes candidate to have lower applicability
due to constraint errors, in K2 however constraint errors has to be
reported explicitly
2022-08-04 22:56:08 +02:00
Mikhail Glukhikh
d0c518013a
Document&use CandidateApplicability.shouldStopResolve/isSuccess properly
2022-07-27 15:29:47 +00:00
Mikhail Glukhikh
220a8e47f4
K2: de-prioritize invoke on dynamic receiver
2022-07-27 15:29:45 +00:00
Mikhail Glukhikh
0611f3b8e7
CandidateApplicability: add K1/K2 prefixes when applicable
2022-07-27 15:29:44 +00:00
Mikhail Glukhikh
577b9686c1
K2: fix using compatibility resolve for SAM constructors
2022-07-27 15:29:42 +00:00
Mikhail Glukhikh
32a73968de
Stop tower resolve in K2 in more similar manner with K1
2022-07-27 15:29:41 +00:00
Ivan Kochurkin
c47148b8fb
[FIR] Remove FirJsSyntheticNamesProvider and FirNativeSyntheticNamesProvider.kt
2022-07-25 23:30:09 +02:00
Denis.Zharkov
7f7e5c5975
FIR: Fix candidate receivers orders when choosing a context receiver
...
^KT-53257 Fixed
2022-07-25 15:11:29 +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
bc396b9765
K2: don't report RETURN_TYPE_MISMATCH on last statement returns
...
#KT-53198 Fixed
2022-07-22 16:39:51 +00:00
Ilya Kirillov
a0f0fa5a47
[Analysis API FIR] fix candidate collection for delegatedConstructor call
...
^KTIJ-20446
2022-07-22 00:58:59 +02:00
Ilya Kirillov
e8bf8cb182
[Analysis API FIR] fix type rendering for type with "Cannot infer type for parameter" error
2022-07-22 00:58:58 +02:00
Mikhail Glukhikh
623f832bfd
FIR: fix private-to-this corner case with outer class type parameter
...
Related to KT-49875
2022-07-15 07:57:42 +00:00
Mikhail Glukhikh
83200f8774
FIR: Support inferring PRIVATE_TO_THIS visibility see KT-49875
2022-07-15 07:57:41 +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
pyos
5a2ec4a0d5
FIR CFG: merge data flow if called-in-place lambda may not be called
2022-07-11 18:11:30 +03:00
pyos
06c7572ee5
FIR CFG: process called-in-place lambdas as loops
2022-07-11 18:11:30 +03:00
pyos
8214e4f806
FIR CFG: check lambda concurrency by data flow, not control flow
...
var p: String? = something
if (p != null) {
foo(
run { p = null; n() },
// This lambda executes strictly after the one above by CFG,
// but data flow for type inference comes from before the call
// so p would get smartcasted if not forbidden.
run { p.length; 123 }
)
}
2022-07-11 18:11:30 +03:00
Victor Petukhov
3ed87c29c7
[FE 1.0] Substituted possible fixed type variables after completion in accordance with @OverloadResolutionByLambdaReturnType
...
^KT-48031 Fixed
2022-07-04 12:05:57 +00:00
Mikhail Glukhikh
4737bb07df
FIR: look for conflicting declarations more precisely
2022-07-01 15:07:48 +00:00
Dmitriy Novozhilov
e54c6eeafc
[FIR] Introduce extension for custom SAM conversions
2022-06-27 08:11:31 +00:00
Dmitriy Novozhilov
fcc5b804a8
[FIR] Add forgotten resolution of annotations on get class calls
2022-06-27 08:11:31 +00:00
Denis.Zharkov
d8dad02f08
FIR: Fix internal error on SAM with not-computed return type
...
^KT-52691 Fixed
2022-06-24 08:33:22 +00:00
Mikhail Glukhikh
481607df43
FIR: support proper argument mapping for substitution overrides
...
Related to KT-52762
2022-06-23 18:18:42 +00:00
Dmitriy Novozhilov
eb453dc96b
[FIR] Expand typealiases in OverloadConflictResolver
...
^KT-52825 Fixed
2022-06-21 14:10:38 +00:00
Dmitriy Novozhilov
ed8187109a
[FIR] Fix forgotten level changes during building CFG for !!
2022-06-21 14:10:37 +00:00
Mikhail Glukhikh
065e852199
FIR: support more precise diagnostics about parameter names
...
#KT-52762 Fixed
2022-06-20 11:28:55 +00:00
Ivan Kochurkin
1a398e89ec
[FIR] Add attributes to ConeErrorType for correct annotations resolving
2022-06-17 23:26:19 +00:00
Ivan Kochurkin
ffbb23661d
[FIR] Report UNSUPPORTED for default value in function type
2022-06-17 23:26:18 +00:00