Ilya Chernikov
3b20ec46ef
FIR: Set correct modality to default accessors on deserialization
...
fixes some tests with new IrBuiltIns
2021-07-16 02:24:27 +03:00
Ilya Chernikov
80a710a5c5
FIR: implementing IrBuiltIns over FIR
2021-07-16 02:24:24 +03:00
Ivan Kochurkin
345152d198
[FIR] Add containingDeclarationSymbol to FirTypeParameter
2021-07-15 19:02:56 +03:00
Dmitriy Novozhilov
8df56af068
[FIR] Add forgotten settings of resolve phase
2021-07-13 10:31:22 +03:00
Andrey Zinovyev
de3f31cf78
[FIR] Partial implementation of DEPRECATION(_ERROR) diagnostics
...
No support for inheritance deprecations
and deprecations in qualifier's parts
2021-07-07 16:19:28 +03:00
Mikhail Glukhikh
c7877cb440
FIR: fix contract deserialization for assertIs<T>
2021-07-07 14:28:00 +03:00
Dmitriy Novozhilov
5816d7ae9f
[FIR] Rename FirStatusOwner back to FirMemberDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
511e564b20
[FIR] Add specific symbols for value parameters and enum entries
...
Make FirVariableSymbol a sealed class
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
eca77324e0
[FIR] Move declaration comparators to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
725be466f0
[FIR] Move declaration utils to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
1324e9223f
[FIR] Make FirDeclaration an abstract class
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
b3e5c6e079
[FIR] Add symbol to all declarations. Get rid of FirSymbolOwner
2021-06-29 21:03:28 +03:00
Mark Punzalan
efe3f7b87e
FIR: Do not load inline flag when deserializing properties; there is
...
no `inline` flag for serialized properties.
In order to test this, I added the changes to FirRenderer to make sure
the flag is not loaded. However, this revealed that the `inline` status
was propagated upward to the `FirProperty` during raw FIR building,
causing test failures.
I removed the upward propagation for `inline`. I also removed it for
`external` because it is incorrect: `external` on properties (used in
JS) should be separate from `external` on accessors (used in JNI
interop for JVM). The `external` flags are also serialized separately
for properties and accessors.
2021-06-21 18:45:37 +03:00
Ivan Kylchik
ca1932b3a5
Set proper fir type for deserialized annotation's arguments
2021-06-07 15:35:03 +03:00
Ilya Kirillov
948d9390d6
FIR: "//TODO make thread safe" comment from FirBuiltinSymbolProvider
2021-06-03 00:09:03 +03:00
Ilya Kirillov
f361312e45
FIR: use FirCachesFactory in BuiltInsPackageFragment.tryGetSyntheticFunctionalInterface
2021-06-03 00:09:02 +03:00
Ilya Kirillov
ba2315430b
FIR: get rid of lateinit var in FirBuiltinSymbolProvider for thread safety
2021-06-03 00:09:01 +03:00
Ilya Kirillov
863156679d
FIR: use FirCachesFactory in BuiltInsPackageFragment.getClassLikeSymbolByFqName
2021-06-03 00:09:00 +03:00
Denis.Zharkov
d4586cefb4
FIR: Properly deserialize upper bounds of classes type parameters
...
^KT-46661 Fixed
2021-05-25 13:28:25 +03:00
Andrey Zinovyev
617d99faac
[FIR] Don't keep ref to whole class proto
...
Store module name only
2021-05-21 12:49:59 +03:00
Andrey Zinovyev
a121061df7
[FIR] Get module name for deserialized fir2ir classes
2021-05-21 12:49:58 +03:00
Denis.Zharkov
42d387925d
FIR: Refine makesSenseToBeDefinitelyNotNull
...
Make it work just the same as the analogue from FE 1.0
This change is necessary since many tests start failing after
we began reporting diagnostics after call completion
2021-05-20 17:24:12 +03:00
Dmitriy Novozhilov
43b075d452
[FIR] Add path normalization to LibraryPathFilter
2021-05-14 14:30:43 +03:00
Dmitriy Novozhilov
02c58b7a8f
[FIR] Refactor deserialized dependency providers and session factories with FirModuleData
2021-05-14 14:30:33 +03:00
Dmitriy Novozhilov
5cfa8694d4
[FIR] Fix all usages of declarationSiteSession
2021-05-14 14:30:27 +03:00
Dmitriy Novozhilov
fa8d8ad503
[FIR] Add cache for top-level functions and properties to AbstractFirDeserializedSymbolsProvider
2021-05-14 14:30:25 +03:00
Dmitriy Novozhilov
c523379e6a
[FIR] Move out all JVM specific deserialization logic from AbstractFirDeserializedSymbolsProvider
2021-05-14 14:30:23 +03:00
Dmitriy Novozhilov
e8c4b0e947
[FIR] Rename KotlinScopeProvider to FirKotlinScopeProvider
2021-05-14 14:30:22 +03:00
Dmitriy Novozhilov
4ad7a4a2d1
[FIR] Split KotlinDeserializedJvmSymbolsProvider to common and JVM specific parts
2021-05-14 14:30:21 +03:00
Dmitriy Novozhilov
d114913cd2
Replace usages of addToStdlib.firstNotNullResult with firstNotNullOfOrNull
2021-05-14 14:30:19 +03:00
Dmitriy Novozhilov
12331cb10c
[FIR] Build resolved declaration status for all non-raw declarations
2021-04-27 18:39:02 +03:00
Dmitriy Novozhilov
f98f41bbc3
[FIR] Rename session to declarationSiteSession in declaration builders
2021-04-22 14:32:03 +03:00
Denis.Zharkov
30eb9ad32f
Add serialization/deserialization of definitely-not-null types
...
^KT-26245 In Progress
2021-04-09 13:06:31 +03:00
Mikhail Glukhikh
9af1de272e
FIR: support private-in-file effective visibility
2021-04-08 09:41:26 +03:00
Ilya Gorbunov
e450a6494a
Migrate deprecations in core, compiler, idea, tests
...
Replacing deprecated Char.toInt() with Char.code and
Number.toChar() with Number.toInt().toChar(), where Number is not Int.
KT-23451
2021-04-07 18:30:20 +03:00
Igor Yakovlev
d05ef3a635
[FIR] Move standard class id's into common module
2021-04-07 11:25:21 +02:00
Dmitriy Novozhilov
3ef87d0265
[FIR] Add effective visibility to resolved status
...
This commit includes:
- introduce FirResolvedDeclarationStatus.effectiveVisibility
- replace FirEffectiveVisibility with EffectiveVisibility
- move calculation of effective visibility from FirEffectiveVisibilityResolver
(which is deleted) to FirStatusResolver and FirDeserializer
2021-04-06 12:30:46 +03:00
Ilya Kirillov
5ceec858aa
FIR IDE: do not search for sealed class inheritors on every class resolve
2021-04-02 17:15:30 +02:00
Ilya Kirillov
c775508f64
FIR IDE: cache function symbols in FirIdeBuiltinSymbolProvider
2021-04-01 11:31:43 +02:00
Ilya Chernikov
20fdad87ec
FIR: support direct use of typealias with friend-paths
...
also fixes one IC test
2021-03-24 21:24:19 +01:00
Ilya Kirillov
f339748f5b
FIR IDE: fix origin of synthetic functional interfaces
...
^KT-45312 fixed
2021-03-12 15:17:33 +01:00
Ilya Kirillov
41d1ef22b6
FIR: specify BODY_RESOLVE for synthetic functional interface
2021-03-12 15:15:32 +01:00
Dmitriy Novozhilov
a7e6667648
[FIR] Properly deserialize annotations of properties in interfaces
2021-03-02 19:11:24 +03:00
Ilya Kirillov
83f8650e80
Move CallableId from fir module to compiler.common to use in IDE
2021-02-24 20:13:41 +01:00
Denis.Zharkov
3e420ca4e3
FIR: Introduce FirDeclarationOrigin.BuiltIns
2021-02-20 10:59:21 +03:00
Dmitriy Novozhilov
0b22c30ab1
[FIR] Fix dispatch receiver type for members of builtin functional types
2021-02-17 16:23:08 +03:00
Dmitriy Novozhilov
abd1c8fb30
[FIR] Move sealedInheritors declaration data to :fir:tree module
2021-02-09 16:04:40 +03:00
Ilya Kirillov
087840122a
FIR: mark FirBuiltinSymbolProvider with ThreadSafeMutableState
...
It has mutable cache in BuiltInsPackageFragment
2021-01-15 17:23:09 +01:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00