Mikhail Glukhikh
c75331bf2a
Implicit nothing type argument: handle nullable case properly
...
#KT-41620 Fixed
2021-04-12 15:51:46 +03:00
Victor Petukhov
d804e73c22
Avoid subtype checking between type variable of self type and captured star projection only for invariant positions
...
Subtyping with non-invariant positions may produce useful constraints
^KT-46001 Fixed
2021-04-12 13:44:09 +03:00
Andrey Zinovyev
47407c4445
[FIR] Add NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check
2021-04-11 16:18:07 +00:00
Mikhail Glukhikh
818c54e3a6
FIR: report ABSTRACT_*_NOT_IMPLEMENTED on appropriate intersections
2021-04-09 14:52:34 +03:00
Denis.Zharkov
37f923a98f
Do not approximate DefinitelyNotNullType in public declarations
...
Because since 1.6 they become normal denotable types
^KT-26245 Fixed
2021-04-09 13:06:37 +03:00
Denis.Zharkov
b9d2a1842a
Support definitely-not-null generic T!! types in Parsing and FE1.0
...
^KT-26245 In Progress
2021-04-09 13:06:28 +03:00
Jinseong Jeon
5a0b75bd89
FIR checker: warn unnecessary safe calls
2021-04-09 12:32:45 +03:00
Jinseong Jeon
2ecb6733ed
FIR checker: warn unnecessary non-null assertions
2021-04-09 12:32:45 +03:00
Jinseong Jeon
87c50235ed
FIR checker: report COMPONENT_FUNCTION_RETURN_TYPE_MISMATCH
2021-04-09 12:32:44 +03:00
Andrey Zinovyev
37055c5a09
[FIR] Add REPEATED_BOUND, CONFLICTING_UPPER_BOUNDS diagnostics
2021-04-09 07:38:39 +00:00
Mikhail Glukhikh
3e9ef56c31
Forbid using ext.property type parameter also for delegate ext.receiver
2021-04-09 07:56:35 +03:00
Mikhail Glukhikh
fcbab45a88
FE 1.0: introduce DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER error
...
#KT-24643 Fixed
2021-04-09 07:56:35 +03:00
Mikhail Glukhikh
9af1de272e
FIR: support private-in-file effective visibility
2021-04-08 09:41:26 +03:00
Mikhail Glukhikh
3c9f0e4775
Add PrivateInFileEffectiveVisibility language feature (1.6)
2021-04-08 09:41:26 +03:00
Mikhail Glukhikh
7f092264f7
FE 1.0: introduce deprecation EXPOSED_FROM_PRIVATE_IN_FILE
...
#KT-20094 Fixed
2021-04-08 09:41:25 +03:00
Mikhail Glukhikh
4bd44fa61b
FE 1.0: introduce PrivateInFile effective visibility #KT-20094 Fixed
2021-04-08 09:41:25 +03:00
pyos
1b1949d242
FIR: generate destructurings for more than one parameter
2021-04-08 09:41:23 +03:00
Abduqodiri Qurbonzoda
40d1849f33
Migrate compiler, idea and others to new case conversion api
2021-04-08 03:22:02 +03:00
Ilya Gorbunov
b64b96eee6
Deprecate Char-to-Number conversions in stdlib (JVM and JS)
...
- Int.toChar was left non-deprecated because the replacement is not intrinsic yet.
- Number.toChar was left non-deprecated because otherwise the deprecation propagates to the override, Int.toChar.
KT-23451
2021-04-07 18:30:20 +03:00
Andrey Zinovyev
fc8b75be80
[FIR] Add ONLY_ONE_CLASS_BOUND_ALLOWED diagnostic
2021-04-07 11:31:08 +00:00
Andrey Zinovyev
0f04fac5b2
[FIR] Add BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER diagnostic
2021-04-07 08:19:31 +00:00
Abduqodiri Qurbonzoda
968099fbec
Advance deprecation level of FP to lesser than Int types to ERROR #KT-30360
2021-04-07 00:23:20 +03:00
Ivan Kochurkin
404c69ded7
[FIR] Implement INCORRECT_CHARACTER_LITERAL, EMPTY_CHARACTER_LITERAL, TOO_MANY_CHARACTERS_IN_CHARACTER_LITERAL, ILLEGAL_ESCAPE, ILLEGAL_ESCAPE_SEQUENCE diagnostics, fix tests
2021-04-06 20:44:32 +03:00
Abduqodiri Qurbonzoda
e8992c5d19
Advance deprecation level of InputStream.readBytes(estimatedSize) to ERROR
2021-04-06 18:42:53 +03:00
Dmitriy Novozhilov
66668b2294
[FIR] Support resolve of local typealiases
2021-04-06 12:30:42 +03:00
Dmitriy Novozhilov
3cb17ac2f0
[FIR] Implement FirReturnAllowedChecker
...
Supported diagnostics:
- RETURN_NOT_ALLOWED
- RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY
2021-04-06 12:30:41 +03:00
Him188
f90cbb0ce7
Support properties from primary constructor in JvmFieldApplicabilityChecker
...
#KT-32753 In progress
2021-04-06 11:40:44 +03:00
Dmitriy Novozhilov
99e681ec1d
[NI] Assume that ILT is number type in inference
...
#KT-41679 Fixed
2021-04-06 11:40:42 +03:00
Dmitriy Novozhilov
a107e3d160
Support actualization of expect sealed class with typealias in CliSealedClassInheritorsProvider
2021-04-06 11:40:40 +03:00
Dmitriy Novozhilov
1633190478
Refine expect classes in CliSealedClassInheritorsProvider
...
KT-45796 Fixed
2021-04-06 11:40:36 +03:00
Andrey Zinovyev
e10df86037
[FIR] Add UPPER_BOUND_IS_EXTENSION_FUNCTION_TYPE diagnostic
2021-04-05 17:15:32 +03:00
yantimirov-timur
9e7f6332d1
[FIR] Complete WRONG_SETTER_TYPE_PARAMETER checker
2021-04-05 16:17:34 +03:00
Julia
5472199bb1
[FIR] Introduce supertypes-for-annotation-class checker
2021-04-05 15:54:57 +03:00
Mikhail Glukhikh
caeb0b43be
FIR: introduce JvmPlatformOverloadsConflictResolver
...
The added here JvmPlatformOverloadsConflictResolver prefers Java field
to property in case of conflicts.
2021-04-05 15:54:49 +03:00
Andrey Zinovyev
67505a0071
[FIR] Add FINAL_UPPER_BOUND checker
2021-04-05 14:51:44 +03:00
Denis.Zharkov
0637748f10
FIR: Introduce NAMED_PARAMETER_NOT_FOUND diagnostic
2021-04-05 12:58:07 +03:00
Jinseong Jeon
2d42e64c17
FIR: prefer flexible type over other equal types when computing intersection
2021-04-05 10:39:51 +03:00
Jinseong Jeon
0d3969597c
FIR: more accurate nullability of intersection of flexible types
2021-04-05 10:39:51 +03:00
Jinseong Jeon
871b5a2174
FIR: fix nullability computation of intersection of flexible types
...
Without this, currently,
it(ft(J..J?), ft(J..J?) => J
which should be ft(J..J?) instead.
2021-04-05 10:39:51 +03:00
Mikhail Glukhikh
f0ff9ad5a7
FIR: rename AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY to match FE 1.0
2021-04-02 16:22:01 +03:00
Tianyu Geng
761a0a7d0d
FIR checkers: report specific errors instead of INAPPLICABLE_CANDIDATE
...
Specifically, the report the following 4 errors.
* NON_VARARG_SPREAD
* ARGUMENT_PASSED_TWICE
* TOO_MANY_ARGUMENTS
* NO_VALUE_FOR_PARAMETER
Also added/updated the following position strategies.
* NAME_OF_NAMED_ARGUMENT
* VALUE_ARGUMENTS
2021-04-02 14:36:14 +03:00
Tianyu Geng
fc8d0e3ee0
FIR checkers: report VAL_REASSIGNMENT for assignment operators
...
Currently VAL_REASSIGNMENT are only reported on direct assignments.
Reassignments in the form of, for example, `+=` are reported as
`VARIABLE_EXPECTED`, which differs from FE1.0.
2021-04-02 13:33:52 +03:00
Mikhail Glukhikh
42d53dd954
FIR: introduce delegated & overridden conflict checks
2021-04-02 10:24:20 +03:00
Mikhail Glukhikh
566dc434cc
FIR: introduce MANY_*_MEMBER_NOT_IMPLEMENTED diagnostic
2021-04-02 10:24:20 +03:00
Jinseong Jeon
b4a5eec5f4
Raw FIR: correct loop target for break/continue in do-while loop condition
...
As shown in KT-44412 (or KT-45319 or KT-17728):
```
fun test5() {
var i = 0
Outer@while (true) {
++i
var j = 0
Inner@do {
++j
} while (if (j >= 3) false else break) // break@Inner
if (i == 3) break
}
}
```
To properly set the loop target for `break` in do-while loop condition,
the loop target for that do-while loop should be ready before parsing
the loop condition.
Previously, Raw FIR loop building configures loop target after visiting
loop conditions. This commit splits the configuration and lets the
builders prepare the loop target for do-while loop only.
2021-04-01 20:07:50 +03:00
Ilya Gorbunov
94240f7b21
Stabilize unsigned types KT-45653
...
Deprecate specialized unsigned iterators for removal.
Fix compiler tests:
- drop unsignedLiteralsOn1_2 because apiVersion 1.2 is no longer supported
- drop experimental unsigned literals diagnostic test
2021-03-31 19:05:04 +03:00
Denis.Zharkov
55e5af1111
FIR: Add workaround for flatMap issue
2021-03-31 15:57:03 +03:00
Denis.Zharkov
1f074326bf
FIR: Fix Java scope in case of accessor with getter signature from supertype
...
^KT-45584 Fixed
2021-03-31 15:57:02 +03:00
Mikhail Glukhikh
bf2e83f64c
Make same tests FIR_IDENTICAL
2021-03-30 18:06:06 +03:00
Mikhail Glukhikh
f453649d0b
FIR: report NO_TYPE_ARGUMENTS_ON_RHS properly
2021-03-30 12:52:13 +03:00