Commit Graph

1138 Commits

Author SHA1 Message Date
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
Mikhail Glukhikh 998ed8849f FirRenderer: drop effectively unused renderLambdaBodies parameter 2022-07-14 09:38:34 +00:00
Mikhail Glukhikh a82baf87cb FIR renderer: extract separate ConeTypeRenderer 2022-07-14 09:38:33 +00:00
Mikhail Glukhikh 591143be7c FIR renderer: introduce separate body & annotation renderers 2022-07-14 09:38:32 +00:00
Mikhail Glukhikh f64a7d3ff9 FirRenderer: extract separate printer & visitor 2022-07-14 09:38:32 +00:00
Mikhail Glukhikh 38d6f3d548 Move FirRenderer to separate package 2022-07-14 09:38:31 +00:00
Ilya Kirillov 8f89f1b368 [Analysis API] add info about context receivers to the Analysis API 2022-07-05 10:34:28 +02:00
Mikhail Glukhikh 31ec10142b FirRenderer: add renderAllModifiers and renderDetailedTypeReferences
Related to KT-52020
2022-06-29 16:50:04 +00:00
Ilya Kirillov 1915a1029f [Analysis API, FIR] optimize KtSymbol requests for declaration statuses
resolvedStatus is not needed for the most calls while it may be expensive to compute as it requires running declaration resolve.
2022-06-28 12:30:05 +02:00
Dmitriy Novozhilov 80223bd555 [FIR] Fix determination of which type is FIR type in tree generator
^KT-52832 Fixed
2022-06-21 14:10:36 +00:00
Ivan Kochurkin 37ccd85e59 [FIR] Use coneType instead of coneTypeSafe<ConeKotlinType> in checkers and fir2ir 2022-06-17 23:26:21 +00:00
Ivan Kochurkin ca222b9c31 [FIR] Create error type for FirErrorLoop during initialization 2022-06-17 23:26:20 +00:00
Ivan Kochurkin a3647bb4ff [FIR] FirRenderer: render annotations for block and resolvedQualifier 2022-06-17 23:26:18 +00:00
Ivan Kochurkin fd2b4fd497 [FIR] Fix false positive USELESS_CAST on stub types, ^KT-50293 Fixed 2022-06-17 23:26:18 +00:00
Ivan Kochurkin 9d6f88469a [FIR] Use @file:Suppress("DuplicatedCode") for generated fir impl nodes
Get rid of unwanted warnings in IntelliJ
2022-06-17 23:26:17 +00:00
mcpiroman c11d01bebb Extract some common source generator logic from FIR tree generator 2022-06-13 18:58:05 +02:00
Dmitriy Novozhilov a85d25d7a6 [FIR] Rename UnderAnnotatedWith predicate to AncestorAnnotatedWith 2022-06-07 14:12:26 +00:00
Dmitriy Novozhilov 83d0a3e7a3 [FIR] Extract FirPluginKey into :core:compiler.common and rename it to GeneratedDeclarationKey
This is needed to avoid dependency on :compiler:fir:fir2ir module in
  backend parts of compiler plugins. It will allow to publish those
  parts into jars for IDE, where they are needed for working of debugger
  and bytecode toolwindow
2022-06-07 14:12:25 +00:00
Dmitriy Novozhilov ae0bc1c078 [FIR] Generate copy builder for FirTypeParameter 2022-06-07 14:12:24 +00:00
Dmitriy Novozhilov fb57e1ecd5 [FIR] Add two kinds of Java origin to distinguish source and library declarations 2022-06-07 14:12:23 +00:00
Dmitriy Novozhilov 23c69f8d17 [FIR] Add to new types of annotation predicates
- `ParentAnnotatedWith` matches declarations, which parent is annotated
- `HasAnnotatedWith` matches declarations, which have at least one
     direct child with annotation

Also, `DeclarationPredicate.Any` is removed, because there is no
  intention to support lookup for all declarations in module

^KT-52486 Fixed
2022-06-07 14:12:22 +00:00
Dmitriy Novozhilov 7048cac770 [FIR] Move FirPredicateBasedProvider to :compiler:fir:tree module 2022-06-07 14:12:17 +00:00
Dmitriy Novozhilov b948eaef4b [FIR] Add ability to register session components from FIR plugins 2022-06-07 14:12:17 +00:00
Dmitriy Novozhilov c7e3da8709 [FIR] Extend DeclarationPredicate DSL 2022-06-07 14:12:13 +00:00
Nikolay Lunyak 0bc34a9e5a [FIR] Add some helper functions for dynamics 2022-06-02 13:47:31 +00:00
Mikhail Glukhikh eaa77b5af6 [FIR JS] Generate dynamic FIRs via DynamicScope 2022-06-02 13:47:26 +00:00
Nikolay Lunyak 611691ec70 [FIR JS] Support smart casts for dynamic 2022-06-02 13:47:25 +00:00
Denis.Zharkov 461d91a10e FIR: Rework checking dispatch receivers applicability
Using `ownerLookupTag` might be wrong in case of private constuctors
 of inner classes: their owner is an Inner class, but expected
 dispach receiver is Outer
2022-06-01 16:02:31 +00:00
Ivan Kochurkin ad7c213ab2 [FIR] Initialize type for annotation arguments during deserialization
Get rid of IrErrorTypeImpl creating in FIR2IR
2022-05-29 23:41:23 +03:00
Yahor Berdnikau cf2d03b914 Move common configuration from /build.gradle.kts into plugin
Move all common to all projects configuration from root build.gradle.kts
into common-configuration convention plugin.
2022-05-24 07:58:36 +00:00
Dmitriy Novozhilov d66748d011 [FIR] Extract expect actual matching into separate phase 2022-05-20 13:33:04 +00:00
Denis.Zharkov 853b7ec078 FIR: Use NullableAny as a default bound 2022-05-19 16:53:58 +00:00
Ivan Kylchik a993939127 [FIR] Allow constant values for IntrinsicConstEvaluation declarations 2022-05-18 21:19:55 +03:00
Denis.Zharkov b87412c5af FIR2IR: Fix substitution work for context receivers 2022-05-13 18:04:02 +00:00
Denis.Zharkov 299c02a822 FIR: Introduce FirContextReceiverArgumentListOwner
Add it as a supertype for FirQualifiedAccess and FirDelegatedConstructorCall

^KT-51889 Related
2022-05-13 18:04:01 +00:00
Ilya Kirillov 6e0eba7e00 [low level api] fix ISE: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl for CheckDslScopeViolation 2022-05-11 13:14:44 +02:00
Victor Petukhov 47d6236a2d [FIR] Support determining emptiness of an intersection type with type parameters' types 2022-04-27 19:50:23 +00:00
Ivan Kochurkin 8c7fad9a5e [FIR] Support of type arguments in annotations ^KT-48444 Fixed 2022-04-18 15:36:19 +00:00
Jerome Prinet 44b2905800 Fix JavaApplication.setMainClassName deprecation 2022-04-14 14:21:31 +03:00
Jerome Prinet 6aec88446a Fix JavaExec.main deprecation 2022-04-14 14:21:31 +03:00
Jinseong Jeon 2763b58cdd RAW FIR: use special name for default setter parameter
FE1.0 descpritor, PSI2IR, and JVM IR backend use that.
FIR2IR is also using that, which implies name "value" in RAW FIR
maybe has not been used anywhere.
2022-04-12 22:05:22 +02:00
Denis.Zharkov ac399321f0 FIR: Add replace method for contextReceiverNumber 2022-04-06 16:05:37 +00:00
Denis.Zharkov c33f06b9e4 FIR tree: add context receivers helper properties 2022-04-06 16:05:34 +00:00