Jinseong Jeon
7757fd312b
FIR LC: make fields in objects static
2021-12-15 08:20:03 +03:00
Jinseong Jeon
82c2f0c6fd
FIR LC: use unified annotations' ClassId or FqName
2021-12-15 08:20:02 +03:00
Jinseong Jeon
9a669092e3
FIR LC: backward compatible visibility of enum entry ctor
2021-12-14 18:26:26 +03:00
Jinseong Jeon
f8a6ab9536
FIR LC: populate DefaultImpls if an interface has default implementations
2021-12-09 11:04:25 +01:00
Jinseong Jeon
b9a56f4888
FIR LC: add static modifier to non-inner nested interfaces
2021-12-08 15:28:33 +01:00
Ilya Kirillov
dc9c2aa39d
Analysis API: add KDoc, small cosmetic improvements
2021-12-02 20:09:19 +01:00
Ilya Kirillov
673459580c
Analysis API: introduce annotation value for KClass
2021-12-02 20:09:16 +01:00
Ilya Kirillov
f722a54c78
Analysis API: separate constant values from annotation values
2021-12-02 20:09:16 +01:00
Ilya Kirillov
47c1da2845
FIR IDE: separate KtAnnotationApplication and KtAnnotationApplicationValue
2021-12-02 20:09:16 +01:00
Ilya Kirillov
b1c8a9e886
Analysis API: rename KtConstantValue -> KtAnnotationValue as it is annotation specific
2021-12-02 20:09:14 +01:00
Jinseong Jeon
edc17a9d5f
FIR LC: populate no-arg constructor if needed
2021-11-25 12:53:54 +01:00
Ilya Kirillov
1d1f5ace8f
Analysis API: rename KtCallableSymbol.type -> returnType
2021-11-22 22:47:01 +01:00
Ilya Kirillov
ba918d45a2
Analysis API: introduce KtInitializerValue for initializer of KtPropertySymbol
2021-11-22 22:46:59 +01:00
Ilya Kirillov
a5a5ff39d6
Analysis API: get rid of KtTypeAndAnnotations & add annotations for every type
2021-11-22 22:46:53 +01:00
Jinseong Jeon
3ccbd25856
FIR LC: populate inner classes in interfaces
2021-11-20 21:34:48 +01:00
Roman Golyshev
3091269035
[FIR IDE] Create generated members for data classes more accurately in FIR Light Classes
...
`equals`/`hashCode`/`toString` don't necessarily come from `Any` - they
might be overridden in the abstract class like this:
```kt
abstract class Base {
// reinforces overriding in inheritors
abstract override equals(a: Any?): Boolean
// implementation will be replaced by the generated for data class
override hashCode(): Int = 0
// implementation is final, compiler will not replace it
final override toString(): String = ""
}
```
2021-11-15 14:36:26 +03:00
Jinseong Jeon
4eec381d1b
FIR IDE/LC: introduce/use KtTypeMappingMode
2021-11-08 20:12:17 +01:00
Jinseong Jeon
0da9ef873a
FIR LC: use optimal type mapping mode for return type
2021-11-08 20:12:17 +01:00
Jinseong Jeon
d3c34fa200
FIR LC: use optimal type mapping mode for value parameter
2021-11-08 20:12:17 +01:00
Jinseong Jeon
d029e84b96
FIR LC: use proper use-site target for accessor's JVM name
2021-11-08 20:12:16 +01:00
Ilya Kirillov
6453f2bdbf
Analysis API: simplify scope hierarchy
2021-11-05 15:46:09 +01:00
Ilya Kirillov
0dca176e28
FIR LC: make fir LC utils internal
2021-11-05 15:46:09 +01:00
Ilya Kirillov
dd9a96a12f
FIR LC: fix light facade caching
2021-11-05 15:46:07 +01:00
Ilya Kirillov
79f30755a5
FIR LC: do not create light classes for non-source declarations
2021-11-04 12:05:03 +01:00
Jinseong Jeon
5aa8e2d0d1
FIR LC: fix nullable annotation on return type of suspend function
2021-11-01 19:19:39 +01:00
Jinseong Jeon
5880d80d26
FIR LC: add support for inline class
2021-11-01 19:17:26 +01:00
Jinseong Jeon
0e7d1b3945
FIR LC: refactor creation of property accessors
2021-11-01 19:17:26 +01:00
Jinseong Jeon
3f2c86afb8
FIR IDE/LC: introduce/use delegated member scope
2021-10-27 17:06:32 +02:00
Jinseong Jeon
907d2e9ed4
FIR LC: populate delegates to interface methods
2021-10-27 17:06:31 +02:00
Jinseong Jeon
693564084a
FIR LC: populate delegate fields
2021-10-27 17:06:31 +02:00
Jinseong Jeon
96fbbb6f69
FIR LC: reorder fields (to be backward-compatible)
2021-10-27 17:06:30 +02:00
Jinseong Jeon
d8df177b83
FIR LC: fix return type of suspend function
2021-10-26 14:12:29 +02:00
Jinseong Jeon
5ed9cac0cc
FIR LC: populate continuation parameter for suspend function
2021-10-26 14:12:28 +02:00
Jinseong Jeon
c669749915
FIR LC: adapt to split of property annotations during FIR building
...
As of 7243d308 , property annotations are split according to use-site,
and thus, for property accessors and setter parameter, FIR LC needs
to look up accessors and setter parameter with the target use-site.
2021-10-15 13:50:32 +02:00
Jinseong Jeon
56867d9c7e
FIR LC: additional checks on synthetic members of data class
2021-09-30 19:42:42 +02:00
Jinseong Jeon
5af24dc6ce
FIR/LC: use DataClassResolver when determining componentN/copy
2021-09-30 19:42:42 +02:00
Jinseong Jeon
ac53166960
FIR LC: create synthetic members of data class
2021-09-30 19:42:42 +02:00
Jinseong Jeon
8c97f0c3a1
FIR LC: minor reordering of utils that add members
2021-09-30 19:42:41 +02:00
Jinseong Jeon
aad02c1259
FIR LC: introduce modifier list for members
...
to simulate `default` modifier of methods in interface
2021-09-29 22:02:48 +02:00
Jinseong Jeon
d9424fa092
FIR IDE/LC: rename origin of constant values
2021-09-23 00:11:26 +02:00
Jinseong Jeon
ffd0a5ed14
FIR IDE: make constant values symbol-free
2021-09-23 00:11:26 +02:00
Jinseong Jeon
0f16a2cb92
FIR IDE: rename some of constant values for consistency
2021-09-23 00:11:25 +02:00
Jinseong Jeon
4c8d975ae5
FIR LC: handle more kinds of annotation values
2021-09-23 00:11:25 +02:00
Jinseong Jeon
150f066254
FIR LC: use property modifiers for backing field if lateinit
2021-09-23 00:11:25 +02:00
Ilya Kirillov
678b931ba3
Analysis API: introduce Project Structure
2021-09-22 12:57:14 +02:00
Ilya Kirillov
99a65527b7
FIR IDE: fix symbol light classes imports after package changes
2021-09-15 11:32:45 +02:00
Ilya Kirillov
0c04ff98c3
FIR IDE: move analysis api to the analysis directory
2021-09-15 11:31:30 +02:00
Ilya Kirillov
55990f65cb
FIR LC: fix vararg parameter type
...
After fix in KtParamterSymbol, vararg parameter type now is a non-array type
2021-09-13 19:18:02 +02:00
Jinseong Jeon
c2964f688e
FIR LC: don't include annotations w/o use-site targets to property accessors
2021-09-09 16:07:09 +02:00
Jinseong Jeon
5446a8ad10
FIR IDE: null out for erroneous PsiType conversion
2021-09-09 16:07:09 +02:00