Commit Graph

131 Commits

Author SHA1 Message Date
Ivan Kylchik a993939127 [FIR] Allow constant values for IntrinsicConstEvaluation declarations 2022-05-18 21:19:55 +03:00
Denis.Zharkov b87412c5af FIR2IR: Fix substitution work for context receivers 2022-05-13 18:04:02 +00:00
Dmitriy Novozhilov 2796d21ec6 [FIR] Create snapshot of tower data context for postponed callable referneces
This fixes an issue if type of some implicit receiver was changed because
  of changed smartcast in outer scope

^KT-51228 Fixed
2022-05-12 12:15:31 +03:00
Ilya Kirillov 6e0eba7e00 [low level api] fix ISE: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl for CheckDslScopeViolation 2022-05-11 13:14:44 +02:00
Victor Petukhov 20a8e5d742 [FE] Determine intersection type emptiness by looking at supertypes properly: substitute their type arguments 2022-04-27 19:50:29 +00:00
Victor Petukhov 54f0794ce3 [FE] Substitute erased type parameters as covariant 2022-04-27 19:50:28 +00:00
Victor Petukhov 39d13442be [FE] Support intersection type emptiness checking for interfaces 2022-04-27 19:50:25 +00:00
Victor Petukhov e0a1f1c405 [FE] Review fixes 2022-04-27 19:50:24 +00:00
Victor Petukhov 47d6236a2d [FIR] Support determining emptiness of an intersection type with type parameters' types 2022-04-27 19:50:23 +00:00
Victor Petukhov 313da6f41e [FIR] Unbind type parameter erasing from java 2022-04-27 19:50:23 +00:00
Victor Petukhov 9e9e0211eb [FE] Check if type variable is fixed into an empty intersection type and report resolution warnings/errors if needed (completion stage)
^KT-51221 Fixed
2022-04-27 19:50:18 +00:00
Victor Petukhov 8e834fc7bb [FIR] Move subtyping helpers into TypeUtils.kt 2022-04-27 19:50:17 +00:00
Ivan Kochurkin 05bed8f751 [FIR] Hide local type for return type of single expression function ^KT-51418 Fixed 2022-04-18 15:36:18 +00:00
Dmitriy Novozhilov b79f5a445f [FIR] Use proper ReturnTypeCalculator inside FakeOverrideTypeCalculator 2022-04-07 12:18:49 +00:00
Dmitriy Novozhilov 6e2402620f [FIR] Fix collecting member candidates on receiver with smartcast
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00
Denis.Zharkov 41bc842b9d FIR: Support context receivers in Fir2Ir 2022-04-06 16:05:39 +00:00
Denis.Zharkov ef84dddc88 FIR: Add preliminary support for context receivers in resolution 2022-04-06 16:05:32 +00:00
Denis.Zharkov f3e28c3767 FIR: Prepare ConeAttribute infrastructure for non-singleton attrs 2022-04-06 16:05:25 +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
Ivan Kochurkin 1eefca4259 [FIR] Fix dependencies duplication 2022-04-05 15:50:44 +00:00
Dmitriy Novozhilov 5a3b397552 [FIR] Get rid of FirTypedDeclaration
`FirTypedDeclaration` has only one inheritor (`FirCallableDeclaration`),
  so there is no much sense to keep this class
2022-04-04 15:23:58 +00:00
Dmitriy Novozhilov ae0ce57b2c [FIR] Don't force calculation of return type of overrides during status resolution 2022-04-04 15:23:57 +00:00
Dmitriy Novozhilov effa3f197a [FIR] Move ReturnTypeCalculator to :fir:providers module
Also make it an abstract class and turn ReturnTypeCalculatorForFullBodyResolve
  into object (because it has no state and there is no need to create
  different instances of it)
2022-04-04 15:23:56 +00:00
Dmitriy Novozhilov ff1e2c05bf [FIR] Fix declaration specificity rules
Handle visibility of declarations and setters of properties
2022-04-04 15:23:56 +00:00
Dmitriy Novozhilov caffe36181 [FIR] Move utilities for matching overrides into separate session component 2022-04-04 15:23:55 +00:00
simon.ogorodnik 03bb482322 KT-45553. Hide declaration from star import if imported with alias 2022-03-29 23:38:42 +00:00
Evgeniy.Zhelenskiy b6f2513dd2 [FIR] Introduce valueClassRepresentation to FIR
#KT-1179
2022-03-24 11:38:44 +00:00
Evgeniy.Zhelenskiy 28bf83ceac [IR] Unite inline class and multi-field value class representation
#KT-1179
2022-03-24 11:38:43 +00:00
Evgeniy.Zhelenskiy 282ab398c6 [IR] Generify lowerings
#KT-1179
2022-03-24 11:38:42 +00:00
Victor Petukhov b5933c70e2 [FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds 2022-03-23 21:13:33 +00:00
Mikhail Glukhikh bd790b792c FIR: minor code cleanup 2022-03-15 13:21:01 +00:00
Simon Ogorodnik f5b49e48ad FIR. Remove visibility filtering from importing scopes 2022-03-10 20:42:38 +00:00
Simon Ogorodnik ec3e2f7b99 FIR. Shadow classifiers from super-type scopes 2022-03-10 20:42:38 +00:00
Simon Ogorodnik 5ea1c246d7 FIR. Get rid of kotlin.Throws prioritization hack 2022-03-10 20:42:38 +00:00
Dmitriy Novozhilov 35a2a6bcec [FIR] Store containingDeclarationSymbol for type parameters of substitution overrides 2022-02-28 11:42:33 +03:00
Ivan Kochurkin 31d9313c51 [FIR] Fix "Expected some types" exception, ^KT-51274 Fixed 2022-02-23 14:21:59 +03:00
Mikhail Glukhikh 981f8b1871 FIR: implement resolve of unqualified enum references in when
See KT-16768
2022-02-22 22:13:06 +03:00
Dmitriy Novozhilov 6105271d41 [FIR] Make internal declarations from dependsOn dependent modules visible 2022-02-18 17:44:36 +03:00
Dmitriy Novozhilov ab1ff7baf5 [FIR] Prioritize source dependencies in dependency provider 2022-02-18 17:44:35 +03:00
Mikhail Glukhikh c1925885fe Extract ConeTypeSubstitutorByTypeConstructor 2022-02-17 15:04:37 +00:00
Mikhail Glukhikh 6e53dd1a4b FIR: implement FE1.0-matching ILT approximation during inference
#KT-51357 Fixed
2022-02-17 15:04:37 +00:00
Mikhail Glukhikh 6506d35aa6 FIR: add forgotten ConeIntegerLiteralIntersector (relates to KT-51357) 2022-02-17 15:04:36 +00:00
Ivan Kochurkin 5391ee91af [FIR2IR] Fix incorrect type of typealias for suspend functional type, ^KT-50997 Fixed 2022-02-07 17:21:59 +03:00
Dmitriy Novozhilov 1591518cf6 [FIR] Support constant unary operators for integer literal operators
^KT-38895
2022-02-07 13:36:37 +03:00
Dmitriy Novozhilov 52b72a7dac [FIR] Implement Int -> Long conversions for literals and operators over them
^KT-38895
^KT-50996 Fixed
^KT-51000 Fixed
^KT-51003 Fixed
^KT-51018 Fixed
2022-02-07 13:36:36 +03:00
Dmitriy Novozhilov b980f5ab32 [FIR] Introduce new kind of integer literal types for constant operator calls 2022-02-07 13:36:35 +03:00
Dmitriy Novozhilov bb5217be72 [FIR] Don't create ILT for integer literal if its value don't fit to Int type 2022-02-07 13:36:34 +03:00
Dmitriy Novozhilov 0bd3e8f418 [FIR] Rename ConeClassErrorType to ConeErrorType, drop ConeKotlinErrorType alias 2022-02-07 13:36:33 +03:00
Dmitriy Novozhilov 84913772ec [FIR] Drop redundant FirIntegerOperatorCall and number of fir copy methods 2022-02-07 13:36:32 +03:00
Mikhail Glukhikh 11bbd79c4b FIR: replace ConeKotlinType with more concrete type when possible 2022-02-03 19:12:18 +03:00