Denis.Zharkov
cbb8459e4e
Fix AE: No receiver found on incomplete code with $-signs
...
^KT-24158 Fixed
2020-12-24 14:06:20 +03:00
Dmitriy Novozhilov
70c4bdf32e
[FE] Detect recursion when typealias referenced as annotation in its RHS
...
#KT-14612 Fixed
2020-12-24 13:44:04 +03:00
Jinseong Jeon
78fa8814c4
FIR: unwrap f/overrides when determining mutability of property reference
...
#KT-44010 Fixed
2020-12-22 12:04:56 +03:00
Jinseong Jeon
7df289746c
FIR: fix invoke lookup for SAM resolution
2020-12-21 18:01:26 +03:00
Jinseong Jeon
3bca6ae893
FIR: allow lower bound of flexible type when finding contributed invoke
2020-12-21 18:01:25 +03:00
Ilya Chernikov
9ee17cd610
Do not throw assertion on recursion in typealias declaration,
...
return empty list of descriptors instead, allowing for proper error
reporting later.
#KT-18344 fixed
2020-12-21 09:43:43 +01:00
Ilmir Usmanov
f922ebbfc3
Value classes: Add JvmInlineValueClasses language feature
2020-12-18 17:53:58 +01:00
Jinseong Jeon
9c2d06cf70
FIR: strengthen resolution success check for augmented array set call
...
This commit removes some false ambiguities &
fixes compilation of tree-generator module with FIR
2020-12-18 14:24:24 +03:00
Dmitriy Novozhilov
6296f6dc33
[FE] Don't throw assertion in OverrideResolver if directOverridden is empty
...
Those descriptors may be empty in case user made a mistake and tried to
delegate implementation of abstract class instead of interface (and
we don't add functions from abstract class to overriden descriptors
of fake overrides in case of delegation by)
#KT-40510 Fixed
2020-12-18 13:40:14 +03:00
Dmitriy Novozhilov
f597343d82
[TEST] Fix testdata
2020-12-17 00:33:17 +03:00
Dmitriy Novozhilov
416f17e5ec
[TEST] Drop remaining tests of experimental coroutines
2020-12-16 19:52:31 +03:00
Dmitriy Novozhilov
71ffaa2d97
[TEST] Migrate AbstractDiagnosticsTestWithJsStdLib to new test runners
2020-12-16 19:52:29 +03:00
Dmitriy Novozhilov
26d7ea6ce6
[TEST] Migrate AbstractDiagnosticsWithModifiedMockJdkTest to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
b43fa94cb6
[TEST] Migrate AbstractDiagnosticsWithUnsignedTypes to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
23e704f361
[TEST] Migrate AbstractDiagnosticsWithExplicitApi to new test runners
2020-12-16 19:52:26 +03:00
Dmitriy Novozhilov
c0e4452cf8
[TEST] Migrate AbstractDiagnosticsWithJdk9Test to new test runners
2020-12-16 19:52:25 +03:00
Dmitriy Novozhilov
61302a2e08
[TEST] Migrate duplicating javac tests to new test runners
...
Also minimize scope of DiagnosticUsingJavac tests to
`compiler/testData/diagnostics/tests/javac`. This is fine since
javac compilation mode is still not finished and no one not going to
support it
2020-12-16 19:52:25 +03: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
Dmitriy Novozhilov
1d04fecd29
[TD] Remove some outdated tests with unsupported EXPLICIT_FLEXIBLE directive
2020-12-16 19:52:24 +03:00
Dmitriy Novozhilov
0b0e2c3ad2
[TD] Create real helpers files for coroutines checkers
2020-12-16 19:52:24 +03:00
Dmitriy Novozhilov
44948aa9a2
[FE] Properly report diagnostics about type arguments of implicit invoke
...
#KT-40396 Fixed
2020-12-16 17:57:58 +03:00
Dmitriy Novozhilov
329066a4f3
[Parser] Fix parsing of unfinished dot access in string template
...
Problem appeared in cases like this: "{someVar.}"
#KT-34440 Fixed
2020-12-16 17:57:56 +03:00
Victor Petukhov
d32d0a65f0
Revert "Report warning on @JvmStatic in private companion objects"
...
This reverts commit 9669ab14
2020-12-16 10:24:18 +03:00
Victor Petukhov
94deddef7f
Revert "Minor: cover negative cases with test +m"
...
This reverts commit 04a4f9cd
2020-12-16 10:24:12 +03:00
Jinseong Jeon
6239301f4e
FIR: no constraint for coerced-to-Unit last expression of lambda
2020-12-15 17:52:49 +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
Dmitriy Novozhilov
b416c669b0
[TEST] Update testdata due to dropped COMMON_COROUTINE_TEST directive
2020-12-10 01:31:04 +03:00
Dmitriy Novozhilov
b6bd7c48f4
[FE] Rename FreedomForSealedClasses feature with more meaningful name
2020-12-09 22:54:38 +03:00
Dmitriy Novozhilov
57a081c399
[FE] Prohibit inheritance of sealed classes in different module
...
KT-20423
2020-12-09 22:54:34 +03:00
Dmitriy Novozhilov
f8d6f79c17
[FE] Temporary disable exhaustiveness checker for java sealed classes
...
KT-43551
KT-41215
2020-12-09 22:54:33 +03:00
Dmitriy Novozhilov
1c9f9130e6
[FE] Prohibit implementing java sealed classes
2020-12-09 22:54:32 +03:00
Dmitriy Novozhilov
7897bb6adb
[FE] Support sealed classes and interfaces from java
...
KT-43551
KT-41215
2020-12-09 22:54:29 +03:00
Dmitriy Novozhilov
8e9e34350f
[FE] Properly support sealed interfaces in exhaustiveness checker
...
#KT-20423
2020-12-09 22:54:27 +03:00
Dmitriy Novozhilov
9609954560
[FE] Allow using sealed modifier on interface and compute sealed modality for them
...
#KT-20423
2020-12-09 22:54:26 +03:00
Dmitriy Novozhilov
d605c7e491
[FE] Prohibit inheritors of sealed classes which are declared in different package
...
#KT-13495
2020-12-09 22:54:25 +03:00
Dmitriy Novozhilov
e76acc8ee0
[FE] Collect inheritors of sealed classes from new places in computeSealedSubclasses
...
#KT-13495
2020-12-09 22:54:24 +03:00
Dmitriy Novozhilov
70c61be1ef
[FE] Allow declare sealed class inheritors as inner or nested classes
...
#KT-13495
2020-12-09 22:54:22 +03:00
Dmitriy Novozhilov
f5f1984a60
[FE] Allow declare sealed class inheritors in different files in one module
...
#KT-13495
2020-12-09 22:54:21 +03:00
Denis.Zharkov
92b402759b
Report incorrect JVM target only when @JvmRecord is actually used
2020-12-09 16:47:25 +03:00
Denis.Zharkov
3aa55620d0
Prohibit explicit j.l.Record supertype even for @JvmRecord
2020-12-09 16:47:25 +03:00
Denis.Zharkov
6e4f84dddf
Add @SinceKotlin("1.5") on JvmRecord annotation
2020-12-09 16:47:23 +03:00
Denis.Zharkov
ddbd62054f
Prohibit extending java.lang.Record from non-@JvmRecord classes
2020-12-09 16:47:23 +03:00
Denis.Zharkov
695d0dbfbb
Check JvmRecordSupport language feature before generating synthetic properties
2020-12-09 16:47:23 +03:00
Denis.Zharkov
c8851c4f75
Prohibit @JvmRecord for non-data classes
...
^KT-43677 In Progress
2020-12-09 16:47:22 +03:00
Denis.Zharkov
033f43794d
Prohibit irrelevant fields in @JvmRecord classes
...
^KT-43677 In Progress
2020-12-09 16:47:22 +03:00
Denis.Zharkov
f6a3580c93
Add @JvmRecord diagnostics for open and enums
...
^KT-43677 In Progress
2020-12-09 16:29:04 +03:00
Denis.Zharkov
bef50c0342
Correct descriptor shape for @JvmRecord annotated classes
...
This commit adds relevant functions: hashCode, toString, equals
(if the class is not a data class)
And supertype j.l.Record
It only affects descriptor contents, i.e. works for FE
^KT-43677 In Progress
2020-12-09 16:29:04 +03:00
Denis.Zharkov
ca2e199b53
Minor. Move @JvmRecord tests to relevant directory
...
^KT-43677 In Progress
2020-12-09 16:29:03 +03:00
Denis.Zharkov
d4de2c4dce
Add check that we have JDK 15 in classpath when using @JvmRecord
...
^KT-43677 In Progress
2020-12-09 16:29:03 +03:00