Ilmir Usmanov
64abb2501f
Minor. Add FIR_IDENTICAL directive
2021-03-15 06:19:22 +01:00
Ilmir Usmanov
d3b42709fd
Revert "Value Classes: Forbid var properties with value class receivers"
...
This reverts commit f43899086a .
2021-03-12 17:51:24 +01:00
Mikhail Glukhikh
15c3269e38
FIR: don't report error on inline nested classes
2021-03-06 09:22:35 +03:00
eugenpolytechnic
f6e564ffa6
FIR: introduce inline classes checks
2021-03-06 09:22:34 +03:00
Ilmir Usmanov
62123d72e2
IC: Add inline class -> @JvmInline value class warning
2021-02-25 16:06:47 +01:00
Tianyu Geng
6b453d9b23
FIR: implement checker for open members
...
Specifically,
1. NON_FINAL_MEMBER_IN_FINAL_CLASS
2. NON_FINAL_MEMBER_IN_OBJECT
2021-02-19 10:17:18 +03:00
Dmitriy Novozhilov
f3a8fcaea6
[FE] Make constructors of sealed classes protected instead of internal
2021-02-12 13:36:38 +03:00
Dmitriy Novozhilov
f14bd87ecc
[Test] Update testdata of diagnostic tests during to change language to 1.5
...
Mostly this commit contains changes of descriptor dump of sealed classes
tests according to changed visibility of sealed class constructor
2021-01-28 13:19:24 +03:00
Jinseong Jeon
8b4f2b269c
FIR checker: introduce PARAMETER_* positioning strategies
...
and use them to add support diagnostics:
ANONYMOUS_FUNCTION_PARAMETER_WITH_DEFAULT_VALUE
USELESS_VARARG_ON_PARAMETER
2021-01-27 19:46:05 +03:00
Ilmir Usmanov
f922ebbfc3
Value classes: Add JvmInlineValueClasses language feature
2020-12-18 17:53:58 +01:00
Dmitriy Novozhilov
b44dc55109
[TD] Mute some javac tests or update their testdata
...
There was a refactoring of AbstractDiagnosticsTest in 9052ef06 which
contains bug that `setupEnvironment` for AbstractDiagnosticsTestUsingJavac
was not called, so for last year tests `UsingJavac` had no difference
with usual diagnostics tests which causes some contradictions in test data
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
e6b5cb5216
[TD] Update diagnostics test data due to new test runners
...
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00
Ilmir Usmanov
775d610045
Value classes: Forbid any identity equality check on value class
...
#KT-31130 Fixed
2020-12-10 08:24:48 +01:00
Ilmir Usmanov
f43899086a
Value Classes: Forbid var properties with value class receivers
2020-12-04 09:45:56 +01:00
Ilmir Usmanov
15c325cf10
Value classes: Allow nested inline classes
2020-12-04 05:45:51 +01:00
Ilmir Usmanov
129de76288
Value classes: Generate @JvmInline annotation for inline classes
...
but not for value classes.
Since inline classes and value classes share the same flag, we use
presence of the annotation to distinguish them.
2020-12-01 23:45:47 +01:00
Ilmir Usmanov
05c4dfef3d
Value classes: Use 'value' keyword instead of 'inline' in stub dumps
2020-11-27 23:52:08 +01:00
Ilmir Usmanov
ca3e7cf1a7
Value classes: Report lacking @JvmInline only on JVM backend
...
Report when @JvmInline is applied on non-value class.
2020-11-27 23:52:07 +01:00
Ilmir Usmanov
92f1681de0
Value classes: treat @JvmInline value classes as inline classes
...
Report error on value classes without @JvmInline annotation.
Do not check for @JvmInline annotation in value classes since
it breaks reflection.
2020-11-27 23:52:06 +01:00