Mikhail Glukhikh
bd2cdf2ec9
FIR: extract BodyResolveContext.withField
2021-03-17 12:13:21 +03:00
Mikhail Glukhikh
64353f34e9
FIR: extract BodyResolveContext.withProperty
2021-03-17 12:13:20 +03:00
Mikhail Glukhikh
06b3a0d57b
FIR: extract BodyResolveContext.withSimpleFunction
2021-03-17 12:13:20 +03:00
Mikhail Glukhikh
db2b6e92e5
FIR: extract BodyResolveContext.withAnonymousObject
2021-03-17 12:13:20 +03:00
Mikhail Glukhikh
e5325e70fc
FIR: extract BodyResolveContext.withRegularClass
2021-03-17 12:13:20 +03:00
Mikhail Glukhikh
4cff6d93be
Get rid of containingClass storage in FirDeclarationsResolveTransformer
2021-03-17 12:13:20 +03:00
Mikhail Glukhikh
91607044d0
FIR: extract BodyResolveContext.withFile
2021-03-17 12:13:20 +03:00
Jinseong Jeon
33c5b49632
FIR checker: report non-typed LHS of callable references
2021-03-16 21:56:08 +03:00
Jinseong Jeon
922419efb8
FIR CFG: route to exit of try main for throw in try main
...
to make the remaining part of try main marked as dead.
^KT-45475 Fixed
2021-03-16 15:11:56 +03:00
Jinseong Jeon
7a7114f896
FIR CFG: create TryMainBlockExitNode before visiting try main block
...
so that a node that returns Nothing inside try main block can route to
the exit of try main block, instead of exit target for try directly.
2021-03-16 15:11:55 +03:00
Ilya Kirillov
d7da17d8e6
FIR: fix FirOldFrontendDiagnosticsTestGenerated.testVariableInvoke test
2021-03-15 14:31:12 +01:00
Jinseong Jeon
8dce6f2ac9
FIR CFG: don't propagate deadness on the uncaught exception path
2021-03-15 15:54:22 +03:00
Mikhail Glukhikh
06a80c0b34
FIR tree generator: merge fields from parents properly
2021-03-15 15:33:38 +03:00
Mikhail Glukhikh
c641fa739b
FIR: provide 'replaceSource' only for FirQualifiedAccess inheritors
2021-03-15 15:33:38 +03:00
Dmitriy Novozhilov
054c278c83
[FIR] Fix determining nullability of type variables and type parameters
2021-03-15 12:13:10 +03:00
Dmitriy Novozhilov
631b771251
[FIR] Report proper resolution diagnostics from arguments checks
2021-03-15 12:13:08 +03:00
Dmitriy Novozhilov
6cc3fff48d
[FIR] Properly handle that type variable is contained in inv or contravar positions
...
#KT-45344 Fixed
2021-03-15 12:13:07 +03:00
Ilya Kirillov
f8828abeba
FIR: fix declaration phase updating in FirContractResolveTransformer
2021-03-12 11:44:00 +01:00
Ilya Kirillov
4dc040b91a
FIR: update enum entry resolve phase in body resolve transformers
2021-03-12 11:44:00 +01:00
Ilya Kirillov
0dd18006e8
FIR: do not update phase from IMPLICIT_TYPES_BODY_RESOLVE to BODY_RESOLVE
...
This is not needed as such declarations are now marked with body resolve phase
2021-03-12 11:44:00 +01:00
Ilya Kirillov
fe207492b7
FIR: mark declarations resolved to BODY_RESOLVE with BODY_RESOLVE phase in implicit body transformer
2021-03-12 11:43:59 +01:00
Tianyu Geng
9476175cc2
FIR: add mapping to partially resolved arg list
...
Initially I tried adding `mapping` field to `FirArgumentList` but it
seems to be very difficult to make it flexible enough to do what I want.
So instead, I am creating a `FirPartialResolvedArgumentList`, which
seems to be very simple.
2021-03-11 22:57:58 +03:00
Mikhail Glukhikh
5d3afbad54
Rename: BadNamedArgumentsTarget -> ForbiddenNamedArgumentsTarget
2021-03-11 22:57:57 +03:00
Tianyu Geng
be0dd84a06
FIR: check NAMED_ARGUMENTS_NOT_ALLOWED
...
The check has already been partially implemented in
org.jetbrains.kotlin.fir.resolve.calls.FirCallArgumentsProcessor. This
change completes the missing piece that determines if a `FirFunction`
has stable parameter names.
2021-03-11 22:57:57 +03:00
Jinseong Jeon
55561fad37
FIR CFG: correct target and label for rethrow in try expression
...
^KT-45385 Fixed
2021-03-11 16:19:16 +03:00
Dmitriy Novozhilov
65ea4e184a
[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability
...
- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
2021-03-11 13:10:04 +03:00
Mikhail Glukhikh
f3135baba9
FIR: eliminate replaceSource usages in transformTypeToArrayType
2021-03-10 22:23:21 +03:00
Ilya Kirillov
d8a3dacdc5
FIR: return back supertypeRefs list recreation
2021-03-09 15:41:42 +01:00
Jinseong Jeon
6427117a35
FIR CFG: correct edge label from a node that returns Nothing
...
If it's not within a try/catch/finally, that should be an uncaught
exception path.
^KT-45327 Fixed
2021-03-09 14:44:42 +03:00
Andrei Klunnyi
a0b901b23a
Revert "[FIR]: sealed hierarchy processor for IDE"
...
This reverts commit e6ccdff2
2021-03-05 16:37:47 +01:00
Andrei Klunnyi
e6ccdff2f7
[FIR]: sealed hierarchy processor for IDE
...
From now on sealed declarations get resolved with the help of
FirIdeSealedHierarchyProcessor. This change entails correct IDE side
check for sealed when exhaustiveness.
2021-03-05 10:20:19 +00:00
Jinseong Jeon
d348e58183
FIR: rename util to retrieve primary constructor
2021-03-04 17:56:30 +03:00
Dmitriy Novozhilov
a6d1d47918
[FIR] Fix clearing info about DF variable after reassignment
2021-03-04 17:09:17 +03:00
Dmitriy Novozhilov
f8adce8b96
[FIR] Cleanup data flow analysis of safe calls
2021-03-04 17:09:17 +03:00
Mikhail Glukhikh
b7cb39fdd1
Drop/inline unused members of FirTowerDataContextsForClassParts
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
b2b502338a
FIR: move lambda / reference specific contexts to general context parts
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
eca1256d7e
FIR: refactor property & initializer resolve
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
130e3552ea
Unite different tower contexts in FirTowerDataContextsForClassParts
2021-03-03 17:15:26 +03:00
Jinseong Jeon
5923cbd76f
FIR: remove unnecessary override in PreliminaryLoopVisitor
2021-03-03 12:27:12 +03:00
Jinseong Jeon
f1fa290d49
FIR checker: report val reassignment
2021-03-03 12:27:11 +03:00
Dmitriy Novozhilov
da0fd7cc15
[FIR2IR] Approximate non-denotable types when converting ConeType to IrType
2021-03-02 19:11:21 +03:00
Dmitriy Novozhilov
c271f953d7
[FIR] Introduce ConeTypeApproximator
2021-03-02 19:11:20 +03:00
Tianyu Geng
17617ffd3f
IDE FIR: fix resolving vararg parameter type
...
For a vararg parameter type, there corresponding FIR element has a fake
source of kind ArrayTypeFromVarargParameter. As a result,
`getOrBuildFir` returns the whole `FirValueParameter` for the parameter
type reference. Therefore, we need some special handling for this case
in order to resolve the proper `KtSymbol`.
2021-03-02 12:46:55 +01:00
Jinseong Jeon
856838f82c
FIR: refactor delegate unwrapping
...
Not implemented override checker will use those to pretend to make
delegeted members (before checking similarly pretended fake overrides)
2021-02-26 13:50:24 +03:00
Denis.Zharkov
4fffe7b9c8
FIR: Fix VerifyError caused by private delegates
...
^KT-45048 Fixed
2021-02-25 19:30:15 +03:00
Denis.Zharkov
ace66b7179
FIR: Prettify visibility resolution for private constructors
2021-02-25 19:30:15 +03:00
Denis.Zharkov
9d7e40ad99
Minor. Reformat FirStatusResolveTransformer.kt
2021-02-25 19:30:15 +03:00
Ilya Kirillov
f4371c670e
Move WhenMissingCase from fir module to compiler.common to use in IDE
2021-02-24 20:13:42 +01:00
Ilya Kirillov
83f8650e80
Move CallableId from fir module to compiler.common to use in IDE
2021-02-24 20:13:41 +01:00
Jinseong Jeon
338595703c
FIR: delegate to abstract override members of Any
2021-02-24 13:50:46 +03:00