Commit Graph

1180 Commits

Author SHA1 Message Date
Nikolay Lunyak c4fa1ed9d8 [FIR] Prevent StackOverflowError in FirTypeParameterSymbol 2022-10-20 13:08:11 +00:00
Dmitriy Novozhilov 8fbb605034 [FIR] Rename containingClass function to containingClassLookupTag
Since this function returns lookup tag instead of FirClass or symbol
  the old name may lead to misunderstanding
2022-10-19 11:09:34 +00:00
Dmitrii Gridin a0b814a1b6 [FIR] make FirPropertyAccessor#propertySymbol non-nullable
we need it to restore property accessor by property

^KT-54311
2022-10-17 14:59:42 +00:00
Mikhail Glukhikh 62ba1277bb K2: don't duplicate custom annotations in types #KT-54275 Fixed 2022-10-10 06:20:39 +00:00
Dmitriy Novozhilov ee21c966e1 [FIR] Get rid of all usages of safeAs in FIR modules 2022-10-06 06:57:06 +00:00
Ilya Kirillov 49f2f85927 [Low Level FIR] fix exception when creating symbol by invalid code 2022-10-04 12:56:07 +00:00
Dmitriy Novozhilov c0ad67c4f9 [FIR] Generate java declarations for record components of java records
^KT-53964 Fixed
2022-10-03 15:48:17 +03:00
Ilya Kirillov dd9ed02fbd [FIR] fix memory leak via static ConeIntegerLiteralTypeImpl.COMPARABLE_TAG 2022-10-02 20:38:34 +00:00
Mikhail Glukhikh 8281c166b1 K2 checkers: extract retrieveDirectOverriddenOf to FirTypeScope.kt 2022-09-29 08:34:11 +00:00
Nikolay Lunyak f578381726 [FIR] KT-46483: Forbid annotations in where Clauses
Merge-request: KT-MR-7208
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru>
2022-09-28 13:38:18 +00:00
Dmitriy Novozhilov 519f6aeff1 [FIR] Make source in qualifier parts nullable
This is needed to be able to create no-source user type refs from plugins
2022-09-26 10:09:08 +00:00
Dmitriy Novozhilov 671083c701 [Serialization] Implement serialization checker for K2 version of plugin
^KT-53178 Fixed
2022-09-07 07:57:38 +00:00
Dmitriy Novozhilov e1fd184d14 [FIR] Fix missing initialization of backingField for properties from primary constructor 2022-09-07 07:57:37 +00:00
Dmitriy Novozhilov 194741b96b [FIR] Remove incorrect FirClassSymbol<*>.superConeTypes utility
Replace all usages with member `FirClassSymbol.resolvedSuperTypes`
2022-09-07 07:57:37 +00:00
Nikolay Lunyak 3d9c77efa8 [FIR] Add DNN checks
Merge-request: KT-MR-7000
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru>
2022-09-01 14:25:07 +00:00
Dmitriy Novozhilov 7ef2f7ccde [FIR] Add transformContextReceivers() method to FirProperty 2022-08-24 15:36:41 +00:00
Jinseong Jeon 25f7554a31 AA FIR: constant evaluation for Java field 2022-08-20 00:50:09 +02:00
Arseniy Terekhov a80870bc8f [FIR] DeprecationsProvider: caching results 2022-08-19 07:37:54 +00:00
Arseniy Terekhov 25fc948d95 [FIR] DeprecationsProvider: make evaluation of deprecations on demand 2022-08-19 07:37:54 +00:00
Leonid Startsev 6893e210fb [K2] Remove typeWithStarProjections in favor of constructStarProjectedType 2022-08-17 11:43:40 +00:00
Leonid Startsev 6f6342dafc Prototype of kotlinx.serialization FIR plugin:
Implement basic non-parameterized case
2022-08-17 11:43:33 +00:00
Simon Ogorodnik 513af2dfbc FIR. Refactor smart-cast representation in FIR tree
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Mikhail Glukhikh 7333589663 K1/K2: add Enum.entries unconditionally and filter them out in tower
Before this commit, we added Enum.entries only in case when
LanguageFeature.EnumEntries was ON (with an exception in K1/Java case).
In this commit we add Enum.entries unconditionally, and in case
the language feature is OFF we filter them out during tower resolve.
2022-08-12 09:35:27 +00:00
Vsevolod Tolstopyatov 93f17a2b86 [FIR] Support static getters along with fake Enum.entries declaration in FIR
#KT-48872
2022-08-12 09:35:18 +00:00
Ilya Kirillov da9cf1468c [FIR] add KDoc to lazy resolution functions 2022-08-10 22:49:19 +02:00
Ilya Kirillov 0748f28efe [FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics 2022-08-10 22:49:18 +02:00
Ilya Kirillov e12a800b2d [LL FIR] fix lazy resolve of FirDefaultPropertyAccessor
FirDefaultPropertyAccessor was hardcoded and thus lazy resolution was not able to update it after resolution
2022-08-10 22:49:16 +02:00
Ilya Kirillov 0f6f901179 [LL FIR] render type parameters resolve phase in tests 2022-08-10 22:49:13 +02:00
Jinseong Jeon d0a8eb5c54 AA FIR: use resolved annotation argument mapping 2022-08-10 17:34:48 +02:00
Dmitry Gridin 4ceb170917 regenerate tests 2022-08-05 14:12:41 +02:00
Ivan Kochurkin 1bb158e45c [FIR] Add SourceSet.generatedDir() and use it in build.gradle.kts 2022-07-25 23:30:10 +02:00
Ilya Kirillov e8bf8cb182 [Analysis API FIR] fix type rendering for type with "Cannot infer type for parameter" error 2022-07-22 00:58:58 +02:00
Ilya Kirillov dbfeeae696 [fir] add more info to the error message in FirModuleData 2022-07-19 17:17:32 +02:00
Mikhail Glukhikh 13713323cf Make FirRenderer inherit FirRendererComponents instead of FirPrinter
#KT-53024 Fixed
2022-07-14 09:38:46 +00:00
Mikhail Glukhikh 7ce5100946 FirRenderer: slightly change/refactor declaration rendering 2022-07-14 09:38:45 +00:00
Mikhail Glukhikh ac34fe3306 FirRenderer: code cleanup & move parts to contract renderer 2022-07-14 09:38:44 +00:00
Mikhail Glukhikh 801426d0e6 Simplify creation of FirRenderer 2022-07-14 09:38:44 +00:00
Mikhail Glukhikh f9fdb5d3bc Extract separate FirResolvePhaseRenderer 2022-07-14 09:38:43 +00:00
Mikhail Glukhikh 42b3adf33a Extract separate ConeIdRenderer and get rid of FirRenderer.RenderMode 2022-07-14 09:38:42 +00:00
Mikhail Glukhikh e484a4a946 Make ConeContractRenderer a renderer component 2022-07-14 09:38:41 +00:00
Mikhail Glukhikh 31a46866b6 Extract separate FirPropertyAccessorRenderer 2022-07-14 09:38:41 +00:00
Mikhail Glukhikh 9f1f777e0d Extract separate FirValueParameterRenderer 2022-07-14 09:38:40 +00:00
Mikhail Glukhikh 76d5d3a2ec Extract separate FirModifierRenderer 2022-07-14 09:38:39 +00:00
Mikhail Glukhikh 3fe35e6997 Extract separate FirCallArgumentsRenderer 2022-07-14 09:38:39 +00:00
Mikhail Glukhikh abfa33b200 Get rid of mode argument in FirElement.render(withType) 2022-07-14 09:38:38 +00:00
Mikhail Glukhikh 7c27e6f843 FirRenderer: partially get rid of RenderMode 2022-07-14 09:38:37 +00:00
Mikhail Glukhikh 9890066b72 Extract separate FirPackageDirectiveRenderer 2022-07-14 09:38:36 +00:00
Mikhail Glukhikh bc49107d25 Extract separate FirDeclarationRenderer 2022-07-14 09:38:36 +00:00
Mikhail Glukhikh 5bb4a0ccda FirRenderer: drop effectively unused renderDeclarationOrigin parameter 2022-07-14 09:38:35 +00:00
Mikhail Glukhikh 089044e5b0 FirRenderer: get rid of direct Visitor usages 2022-07-14 09:38:34 +00:00