Dmitriy Novozhilov
8324f499cd
[FIR] Fix serializing annotation metadata on setters value parameters
2021-03-05 13:00:11 +03:00
Mads Ager
8e9dfc23b6
FIR: Take targeted annotations into account for metadata
...
Getter/setter targeted annotations were not correctly reflected
in the kotlin metadata which made them not work with
kotlin-reflect.
2021-03-03 08:48:28 +03:00
Dmitriy Novozhilov
abd1c8fb30
[FIR] Move sealedInheritors declaration data to :fir:tree module
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
38437fb036
[FIR] Rename session.firSymbolProvider to session.symbolProvider
...
to avoid visual conflicts with `session.firProvider`
2021-02-09 16:04:39 +03:00
Mikhail Glukhikh
1c80c5610d
FIR: fix serialization of accessor with source-level annotations
2021-01-28 13:21:16 +03:00
Mikhail Glukhikh
4cd6266bce
FIR: fix suspend type serialization
2021-01-23 10:56:40 +03:00
Mikhail Glukhikh
afe335e504
FIR: serialize ExtensionFunctionType attribute
2021-01-23 10:56:37 +03:00
Mikhail Glukhikh
3787018e40
[FIR] Fix parameter index storage in contract serializer
2021-01-18 08:28:01 +03:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00
pyos
41f56729f9
FIR: serialize correct fqnames for local classes
2020-12-10 20:52:48 +03:00
pyos
1cccf2645f
FIR: serialize HAS_CONSTANT at least for const properties
...
Non-const properties may need them too with if the 1.4 feature
NoConstantValueAttributeForNonConstVals is disabled.
2020-11-30 13:05:28 +03:00
Mikhail Glukhikh
c171dafd91
FIR serializer: always normalize visibility
...
Without this commit we fail on package-private or so in serializer
2020-10-21 11:53:10 +03:00
Jinseong Jeon
d09ccdbe3c
FIR serializer: distinguish typealias classifier
2020-09-30 12:21:57 +03:00
Jinseong Jeon
b4ac2f5b55
FIR serializer: special handling of Continuation
2020-09-30 12:21:57 +03:00
Jinseong Jeon
b59832c5fd
FIR: refactor annotation-related utils
2020-09-25 14:45:48 +03:00
Mikhail Glukhikh
86d1a3be37
FIR serializer: throw exception on getting ConeIntegerLiteralType
...
This commit assumes that ILTs are forbidden
at the end of resolve, at least in public API
2020-09-23 09:00:56 +03:00
Mikhail Glukhikh
5a919cc827
FIR element serializer: drop duplicated approximation code
2020-09-23 09:00:56 +03:00
Mikhail Glukhikh
104f088d4e
FIR serializer: throw exception on getting ConeCapturedType
...
This commit assumes that captured types are forbidden
at the end of resolve, at least in public API
2020-09-23 09:00:56 +03:00
Dmitriy Novozhilov
f9de2621b2
[FIR] Minor, fix TODO in constantValues
...
KT-8507
2020-09-17 17:23:26 +03:00
Mikhail Glukhikh
0436a555d5
[FIR serializer] Support type approximation
...
Before this commit we relied on a fact that exotic types aren't
possible at serialization stage. However, in non-ABI mode we can get
even a private function (e.g. top-level private), so we have to perform
this approximation.
2020-09-17 09:19:34 +03:00
Dmitriy Novozhilov
324aaaddad
[FIR] Rename createArrayOf to createArrayType
2020-09-14 10:57:09 +03:00
Dmitriy Novozhilov
07a3009d43
Introduce new modules for common parts of deserialization
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
2f4bd626fc
[FIR] Make constant values in fir serialization internal
...
This is needed to avoid possible name clash with ConstantValue from FE 1.0
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
cdab00fdc8
[FIR] Remove dependency on :core:deserialization from :compiler:fir:fir-serialization
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
9beeb51227
[FIR] Implement fir-specific contract values and fix annotations serialization
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
8d2e89a9ea
Move ProtoEnumFlags to :core:metadata
2020-09-11 10:08:34 +03:00
Dmitriy Novozhilov
912676d868
[FIR] Introduce ResolutionContext and get rid of components in Candidate
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Jinseong Jeon
e8157a5488
FIR: introduce & use various comparators to sort members while de/serialization
...
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
Dmitriy Novozhilov
94d58c714a
[FIR] Cleanup dependencies for fir modules
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
ed4c6a38b6
[FIR] Move deserialization files to module :compiler:fir:fir-deserialization
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
e405a02e8e
[FIR] Fix contract serialization
2020-08-28 10:59:53 +03:00
Arsen Nagdalian
991b18fec4
[FIR] Add a Fir node that wraps a ConeEffectDeclaration
2020-08-25 12:58:35 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
18ae593700
[FIR] Rename new visibilities to CamelCase
...
It's more convenient since they are objects now instead of
const fields in FE 1.0
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
e6837a5b8c
[FIR] Unify implementations of toSymbol and getSymbolByLookupTag
2020-08-21 15:28:34 +03:00
Jinseong Jeon
47c47be3d3
FIR serializer: serialize annotations on FirTypeRef, not ConeKotlinType
2020-08-04 08:59:16 +03:00
Dmitriy Dolovov
3d9093583f
Metadata: 'non-stable parameter names' flag for callables
...
^KT-34602
2020-07-27 23:11:30 +07:00
Jinseong Jeon
d66c6c7e1e
FIR serializer: transform KSuspendFunction types too
2020-07-16 12:56:18 +03:00
Jinseong Jeon
1a861b2df9
FIR2IR: don't create synthetic class for enum entry w/o members
2020-07-15 13:36:30 +03:00
Mikhail Glukhikh
d846a22e33
[FIR] Introduce & use FirTypeRef.coneType
2020-06-30 18:49:06 +03:00
Jinseong Jeon
67044f22ed
FIR serializer: regard property accessors with modifiers as non-default
2020-06-22 12:25:47 +03:00
Dmitriy Novozhilov
d01817ce14
Rename InvocationKind to EventOccurrencesRange
2020-06-19 15:53:11 +03:00
Dmitriy Novozhilov
25621d699b
Add methods for combine InvocationKind's
...
There is two methods added -- `or` and `and`
`or` is used by CFA for combining two kinds that came from different
edges of control flow graph
`and` is analog of `+` operator for invocation kinds
2020-06-19 15:53:08 +03:00
Jinseong Jeon
0d2552b0b6
FIR: record and serialize the modifier "fun" for functional interface
2020-06-08 09:42:32 +03:00
Dmitriy Novozhilov
60fd505a9c
[FIR] Get rid of FirSealedClass node
...
Now list of inheritors is hold in attributes of `FirRegularClass`
2020-05-29 10:22:00 +03:00
Mikhail Glukhikh
427973fe48
FIR serializer: fix typo in finding argument name
2020-05-06 13:10:13 +03:00
Mikhail Glukhikh
dbd4cecff6
FIR serializer: accept FirClass instead of IrClass to get rid of IR deps
2020-04-28 07:35:12 +03:00
Mikhail Glukhikh
8d85e7a401
FIR serializer: add forgotten type alias serialization
2020-04-28 07:35:10 +03:00