Dmitry Petrov
5045fa446a
Prohibit recursive inline classes
2018-08-20 10:08:10 +03:00
Dmitry Petrov
948e72f653
Inline classes can only implement interfaces
2018-08-15 15:32:50 +03:00
Dmitry Petrov
b7df36643b
Implement additional declaration checks for inline classes
...
- Implementation by delegation is prohibited
- Delegated properties are prohibited
2018-08-13 08:49:09 +03:00
Mikhail Zarechenskiy
d3280252f9
Prohibit inline data classes
...
`CONFLICTING_JVM_DECLARATIONS` diagnostics are reported because we're
trying to generate functions from `Any` once for inline class and
once for data class
#KT-25760 Fixed
2018-08-08 15:47:26 +03:00
Mikhail Zarechenskiy
ddf6c37e0e
Prohibit inline classes with special underlying types
...
#KT-25328 Fixed
#KT-23819 Fixed
2018-08-06 10:56:05 +03:00
Mikhail Zarechenskiy
6244846107
Add functions from Any to the member scopes of inline classes
2018-08-06 10:19:43 +03:00
Mikhail Zarechenskiy
17243c08c1
Forbid lateinit variables of inline class types
...
Proper support of lateinit inline class values will be added later,
see #KT-23814
#KT-25603 Fixed
2018-07-20 13:58:33 +03:00
Mikhail Zarechenskiy
6431934c13
Fix signature mapping for built-in methods inside erased inline class
2018-06-18 18:55:18 +03:00
Mikhail Zarechenskiy
b2d9015723
Prohibit identity equals on inline class types
2018-06-07 18:22:05 +03:00
Mikhail Zarechenskiy
0da3ae328e
Handle case when u-literals are using without unsigned declarations
2018-06-04 18:37:39 +03:00
Mikhail Zarechenskiy
656f6cbded
Support constant evaluation of unsigned type constructors
...
#KT-23816 In Progress
2018-06-04 18:37:34 +03:00
Mikhail Zarechenskiy
043c3d9a97
Prohibit properties with backing fields inside inline classes
2018-05-07 15:25:43 +03:00
Mikhail Zarechenskiy
29d15b9990
Prohibit varargs on parameters of inline class types
2018-05-07 15:25:42 +03:00
Mikhail Zarechenskiy
d3c1c11dc5
Prohibit initializer blocks inside inline classes
2018-05-07 15:25:40 +03:00
Mikhail Zarechenskiy
6a120d2f85
Require presence of public primary constructor for inline class
2018-05-07 15:25:38 +03:00
Mikhail Zarechenskiy
096fe1c411
Don't report diagnostics on the whole declaration, use main keyword
2018-05-07 15:25:37 +03:00
Mikhail Zarechenskiy
71de2e3265
Report diagnostics for inline classes even if the feature is unsupported
...
This would help for those who use inline classes by suppressing error
about unsupported feature
2018-05-07 15:25:34 +03:00
Mikhail Zarechenskiy
a463fb1d5e
Add basic declaration checker for inline classes
2018-02-05 12:07:38 +03:00
Mikhail Zarechenskiy
915455ebe9
Introduce InlineClasses language feature
...
Allow to write `inline` modifier in front of class declaration
2018-02-05 12:07:38 +03:00