Dmitriy Novozhilov
644e9843f9
[FIR] Add initialization of calleeReference for FirAnnotationCall
2020-08-04 08:59:14 +03:00
Nick
889324e972
[FIR] Ignore failing test, improve DiagnosticKind, fix UPPER_BOUND
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Dmitriy Novozhilov
9e94189852
[FIR] Add transformTypeParameters to FirTypeParameterRefsOwner
2020-07-20 14:38:15 +03:00
Mikhail Glukhikh
80022cccd9
[FIR] Introduce & use processOverriddenPropertiesWithDepth
2020-07-17 12:46:02 +03:00
Jinseong Jeon
c7a37eb6b2
FIR deserializer: load annotations on extension receiver parameters
2020-07-16 10:42:51 +03:00
Mikhail Glukhikh
59cc9d4bc6
[FIR] Introduce FirTypeScope.processOverriddenFunctionWithDepth
2020-07-15 13:36:28 +03:00
Ivan Kylchik
c44fd235ce
[FIR] Remove isEnumEntry field from FirJavaField
...
This field isn't used anymore because java enum entry is represented by
FirEnumEntry
2020-07-09 23:49:55 +03:00
Ivan Kylchik
dcae6f1415
[FIR] Support when exhaustiveness for java enum
...
The problem appear because for java enum its entries was represented by
FirJavaField. To fix this FirEnumEntry was used
#KT-39621 Fixed
2020-07-09 23:49:54 +03:00
Dmitriy Novozhilov
d1cb776e29
[FIR] Assume all java interfaces are fun interfaces
2020-07-08 12:13:32 +03:00
Jinseong Jeon
a18bd1bb75
FIR deserializer: use annotation info from enclosing class for companion object
2020-07-07 11:43:51 +03:00
Jinseong Jeon
81345bcc26
FIR deserializer: load annotations on inner classes
2020-07-07 11:43:51 +03:00
Jinseong Jeon
c9e423bf64
FIR deserializer: fix parameter shift for constructor of inner classes and enums
...
#KT-39837 Fixed
2020-07-02 13:34:39 +03:00
Mikhail Glukhikh
d846a22e33
[FIR] Introduce & use FirTypeRef.coneType
2020-06-30 18:49:06 +03:00
Jinseong Jeon
34174d6e7d
FIR deserializer: load annotations for property and fields, along with use-site targets
2020-06-30 17:28:22 +03:00
Dmitriy Novozhilov
fd1de9b298
[FIR] Fix typo in FirCloneableSymbolProvider
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
57b9baac53
[FIR] Get rid of FirSession.inferenceContext
...
Leave only FirSession.typeContext
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
43bb60addb
[FIR] Remove workaround for KT-39659
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
7834284bec
[FIR] Support deserialization of value parameter annotations
...
There are still some problems, see KT-39837
2020-06-29 12:19:03 +03:00
Denis Zharkov
b607cecc2b
FIR: Clear JavaTypeParameterStack
...
- Remove unused method
- Rename method to make it findable through "Find usages"
2020-06-26 16:52:10 +03:00
Denis Zharkov
9668a60151
FIR: Explicitlty separate static and member scopes
...
For Java, they have rather different semantics considering "overrides"
and obtaining functions/properties from supertypes
See the Java statics implementation
2020-06-26 16:52:10 +03:00
Ivan Kylchik
6c6b7c8b84
Implement constant deserializer for fir
...
This deserializer is uniform loader, that is responsible for loading
all constants. For example, Math.E, UInt.MAX_VALUE or Float.MIN_VALUE.
2020-06-25 12:30:19 +03:00
Dmitriy Novozhilov
8ce28cb509
[FIR] Add transformBody to FirFunction
2020-06-22 12:29:26 +03:00
Denis Zharkov
efee0dae94
FIR: Simplify JvmBinaryAnnotationDeserializer
...
Currently, it's anyway created one per class
2020-06-19 10:21:09 +03:00
Denis Zharkov
0bc2642634
FIR: Add clarification to the workaround for KT-39659
2020-06-19 10:21:09 +03:00
Denis Zharkov
429b2a9705
FIR: Optimize deserialized annotations loading
2020-06-19 10:21:09 +03:00
Jinseong Jeon
6a28558d43
FIR deserializer: rename a callable kind that represents all "others"
2020-06-19 10:21:09 +03:00
Jinseong Jeon
12181e55c0
FIR deserializer: signature-aware annotation loading for constructors
2020-06-19 10:21:09 +03:00
Jinseong Jeon
781bfa20e8
FIR deserializer: fix conversion of class literal inside annotation array value.
2020-06-19 10:21:09 +03:00
Jinseong Jeon
b076bec07f
FIR deserializer: signature-aware annotation loading for functions
2020-06-19 10:21:09 +03:00
Denis Zharkov
72b09ff323
FIR: Rename FirSuperTypeScope and reuse it for type parameter type
...
It would allow ConeKotlinType.scope return FirTypeScope
and thus pulling down org.jetbrains.kotlin.fir.scopes.FirScope#processOverriddenFunctions
(See the following commits)
2020-06-11 11:31:31 +03:00
Denis Zharkov
0bd2a74542
FIR: Add FirTypeScope
...
^KT-35495 Relates
2020-06-11 11:31:29 +03:00
Denis Zharkov
6a1f921a5c
FIR: Introduce FirScope.processOverriddenFunctions
...
^KT-35495 In Progress
2020-06-11 11:01:43 +03:00
Jinseong Jeon
fd32e918d5
FIR deserializer: signature-aware annotation loading for property accessors
2020-06-11 10:57:51 +03:00
simon.ogorodnik
ab02381a83
[FIR] Make overriding generic callables independent of TP bounds order
2020-06-05 17:46:35 +03:00
Denis Zharkov
4d484dd971
FIR: Support java array in type argument
...
^KT-37321 Fixed
2020-06-03 10:43:37 +03:00
Dmitriy Novozhilov
b4ce736814
[FIR] Move registration components out of initializers of FirSession
2020-05-29 10:24:26 +03:00
Dmitriy Novozhilov
fec3e4faf1
[FIR] Move initialization of common services to FirSessionBase
2020-05-29 10:22:04 +03:00
Dmitriy Novozhilov
6d37776267
[FIR] Rename FirClassImpl to FirRegularClassImpl
...
Also rename `buildClassImpl` to `buildRegularClass` and get rid
of intermediate `AbstractFirRegularClassBuilder`
2020-05-29 10:22:03 +03:00
Dmitriy Novozhilov
41cdb61ef3
[FIR] Move all symbol providers to separate package
2020-05-29 10:20:57 +03:00
Dmitriy Novozhilov
594a854b4e
[FIR] Reimplement FirExtensionService
...
- Get rid of old FirExtensionsService
- Implement new FirExtensionService
- Remove duplicating code in FirExtensionRegistrar
2020-05-24 18:04:45 +03:00
Dmitriy Novozhilov
5c12b3df95
[FIR] Introduce FirPredicateBasedProvider
2020-05-24 18:04:45 +03:00
Dmitriy Novozhilov
0b00015424
[FIR] Deprecate FirExtensionsService
2020-05-24 18:04:44 +03:00
Dmitriy Novozhilov
6d6ed1e755
[FIR] Create session component with registered checkers
2020-05-24 18:04:43 +03:00
Mikhail Glukhikh
28c0dac36f
[FIR] Set FirJavaClass.isInner properly
2020-05-12 16:57:07 +03:00
Dmitriy Novozhilov
239837fd14
[FIR] Introduce FirDeclarationAttributes for FirDeclaration
2020-05-08 15:10:12 +03:00
Dmitriy Novozhilov
4eb9eb0537
[FIR] Rename FirExtensionPoint to FirExtension
...
Also rename `FirExtensionPointService` to `FirExtensionsService`
2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov
bb645a7962
[FIR] Add transformSuperTypeRefs to FirClass
2020-05-08 15:09:58 +03:00
Dmitriy Novozhilov
cb0a7a5bf7
[FIR] Rename FirExtensionRegistrarExtension to FirExtensionRegistrar
2020-05-08 15:09:57 +03:00