Jinseong Jeon
0e54f98b79
FIR: support adapted callable reference with vararg
2020-08-03 16:37:36 +03:00
Dmitry Petrov
46fccae7d1
PSI2IR: KT-40499 Fix delegated property desugaring
...
No type arguments were provided for property reference inside delegated
property accessors.
2020-07-30 13:18:36 +03:00
Jinseong Jeon
bff36e0199
FIR2IR: convert annotations on FirTypeRef
2020-07-30 11:25:36 +03:00
Georgy Bronnikov
4ca98041cd
IR: update test data
2020-07-30 11:24:08 +03:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
Jinseong Jeon
5a3367e09c
FIR: initial support of suspend conversion for function reference
2020-07-28 13:37:05 +03:00
Mikhail Glukhikh
828524bde4
[FIR2IR] Fix conversion of default vararg arguments for annotations
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
2b52988f1b
[FIR TEST] Add failing BB test with Deprecated annotation
2020-07-24 19:47:19 +03:00
Dmitry Petrov
d93885e71c
Add tests for deprecated properties
2020-07-21 22:25:44 +03:00
Dmitriy Novozhilov
236dfe60f1
[FIR] Correctly build scopes for resolve of different parts of constructors
...
#KT-40409 Fixed
2020-07-20 14:38:17 +03:00
Mikhail Zarechenskiy
0c79de1a98
Prohibit adapted reference resolve against reflective types
...
There are design questions about reflection for adapted references,
so the current proposal is to prohibit reflection on them and support
it properly later
#KT-40406 Fixed
2020-07-20 14:30:39 +03:00
Jinseong Jeon
628b8b56b7
FIR2IR: convert annotations on type aliases
2020-07-20 09:40:52 +03:00
Jinseong Jeon
4e14f9500f
FIR: account for vararg when creating KFunction type for callable reference
2020-07-20 09:39:34 +03:00
Georgy Bronnikov
c901e82a55
IR: add IrSimpleFunction.isInfix
2020-07-18 11:03:33 +03:00
Jinseong Jeon
f3475fd098
FIR2IR: store and convert annotations on enum entry
2020-07-17 09:48:45 +03:00
Jinseong Jeon
30b91b128a
FIR: adjust type of integer operator call as property initializer
2020-07-15 13:56:40 +03:00
Jinseong Jeon
db9d42c153
IrConstTransformer: handle vararg with spread elements properly
2020-07-15 13:36:30 +03:00
Jinseong Jeon
5600eefea5
FIR: add support for varargs in annotation calls
2020-07-15 13:36:30 +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
Juan Chen
2ea3579281
[FIR] add support for generic cases of delegation by implementation
...
Add type parameters for generic delegated members and type
substitution when implementing instantiated super interfaces.
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
7a2ea49399
FirTypeIntersectionScope: introduce "intersection" fake overrides
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
1bbed6c4ed
[FIR2IR] Use FIR-specific methods to search for overridden functions
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
fbbf4e06ba
[FIR] Support imported callable from object properly #KT-35730 Fixed
2020-07-10 10:25:39 +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
58af8d68a1
[FIR] Check for isFun flag in SAM resolution
2020-07-08 12:13:32 +03:00
Juan Chen
d163853c97
[FIR] add support for implementation by delgation
...
This commit handles "subclass: super-interface by delegate-expression".
During Psi2Fir, for each delegate, we add to the subclass a synthetic
field (which has type super-interface), and an assignment of the
delegate-expression to the synthetic field in the primary constructor,
so that the delegate-expression can be resolved and transformed along
the way.
During Fir2Ir, we look up delegatable members from the super-interface
and generate corresponding functions/properties for the subclass.
TODO: support for generic delegatable members and generic
super-interface.
2020-07-08 09:42:24 +03:00
Jinseong Jeon
44d0af8597
FIR2IR: handle 'this' as reference to outer object
2020-07-03 12:53:57 +03:00
Dmitriy Novozhilov
a7ed9c7dc5
[FIR] Add conversion of FirElvisCall to backend IR
2020-07-02 15:10:52 +03:00
Jinseong Jeon
c3fc524c0d
FIR: handle named arguments in annotations properly
2020-06-29 16:23:03 +03:00
Mikhail Glukhikh
fcabd02fe8
[FIR] Take class expect flag into account in its substitution scope
2020-06-29 16:08:00 +03:00
Mikhail Glukhikh
c1609ed490
[FIR] Make expect class members also expect
2020-06-29 16:07:50 +03:00
Mikhail Glukhikh
9a0e763761
[FIR2IR] Require classId from parent class for fake overrides
2020-06-29 16:07:48 +03:00
Mikhail Glukhikh
bf009a4949
[FIR2IR] Handle delegating constructor call type arguments properly
2020-06-29 16:07:30 +03:00
Mikhail Glukhikh
2cffbadbd5
[FIR2IR] Use overridden symbol when handling delegating constructor call
2020-06-29 16:07:29 +03:00
Ivan Kylchik
de2b20482a
Allow IrConstTransformer to visit and evaluate vararg elements
2020-06-29 15:27:25 +03:00
Dmitriy Novozhilov
dbbb999952
[FIR] Support builder (coroutine) inference
...
#KT-37431 Fixed
2020-06-29 12:19:02 +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
e34246faec
Fix fir2ir text tests after introducing const evaluator
2020-06-24 16:13:02 +03:00
Mikhail Glukhikh
d08f91bf35
[FIR2IR] Introduce & use lazy function for external class functions
2020-06-23 19:06:08 +03:00
Mikhail Glukhikh
0622be14a5
[FIR2IR] Introduce creation of Fir2Ir lazy classes
2020-06-23 19:06:07 +03:00
Georgy Bronnikov
4ecb228d50
IR: handle enhanced nullability in TypeTranslator
2020-06-22 22:06:01 +03:00
Dmitriy Novozhilov
be2ac3bb4f
[FIR] Fix completing bodies of property setters with delegates
2020-06-22 12:29:26 +03:00
Ilya Gorbunov
696701d377
Drop deprecated MutableMap property delegation operator
2020-06-22 12:29:25 +03:00
Yan Zhulanow
713a305f45
Update change data for IrTextTestCaseGenerated
...
Reason of changes: 098469eb85
2020-06-18 19:01:06 +09:00
Georgy Bronnikov
ee6d432ced
Add forgotten test files
2020-06-18 12:22:53 +03:00
Jinseong Jeon
9e9ca4953f
FIR2IR: coerce to Unit when "when" expr is not effectively exhaustive
2020-06-18 09:23:32 +03:00
Georgy Bronnikov
c015463926
IR: remove field fake overrides
2020-06-17 20:02:26 +03:00
Georgy Bronnikov
36f22dafc5
IR: remove field fake override usage
...
Still a problem: Java static fields.
2020-06-17 20:02:26 +03:00
Jinseong Jeon
f64f9c2144
FIR: inherit property accessor modifiers from property and vice versa
2020-06-16 19:17:27 +03:00
Dmitriy Novozhilov
d7ee168dff
[FIR] Create error candidate for completion instead of simple error reference
2020-06-15 15:32:25 +03:00