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
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
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
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
Mikhail Zarechenskiy
2ad4824eb0
Fix exception on resolving collection literal inside lambda
...
#KT-31907 Fixed
#EA-90906 Fixed
2020-12-08 12:55:25 +03:00
Jinseong Jeon
5167d69b7c
FIR checker: introduce member property checker
2020-12-04 16:58:30 +03:00
Ilmir Usmanov
f43899086a
Value Classes: Forbid var properties with value class receivers
2020-12-04 09:45:56 +01:00
Ilmir Usmanov
0d55c9108d
IC: Forbid inner classes inside inline classes
...
#KT-43067 Fixed
2020-12-04 05:45:53 +01:00
Ilmir Usmanov
15c325cf10
Value classes: Allow nested inline classes
2020-12-04 05:45:51 +01:00
Mikhail Glukhikh
4626f21c58
Record type arguments for FirResolvedQualifier
2020-12-03 19:33:51 +03:00
Victor Petukhov
d25ad269e0
Reuse captured arguments for flexible type's bounds properly, by equality of type constructors modulo mutability and type argument
...
^KT-43630 Fixed
2020-12-03 11:13:41 +03:00
Mikhail Glukhikh
2429f429c5
[FIR] Set isStubTypeEqualsToAnything = true for inference as in FE 1.0
...
#KT-43616 Fixed
2020-12-02 14:49:08 +03: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
Mikhail Glukhikh
9b30655d66
[FIR] Load Java annotations named arguments properly (see KT-43584)
2020-11-30 13:05:23 +03: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
Mikhail Glukhikh
bf2b318bee
Simplify FirSupertypeInitializedInInterfaceChecker
2020-11-26 08:37:51 +03:00
Mikhail Glukhikh
1e3621a896
FIR checkers: simplify hasPrimaryConstructor by source element check
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
e7e162c7eb
[FIR TEST] Filter some particular tokens during createDebugInfo
2020-11-26 08:37:47 +03:00
Mikhail Glukhikh
3dec848c03
[FIR] Implement light tree DECLARATION_NAME & SIGNATURE strategies
2020-11-26 08:37:47 +03:00
pyos
7327c20200
FIR: add a resolution mode for property delegates
...
Like function arguments, they are context-dependent, but unlike function
arguments, callable references should be resolved eagerly as if they are
explicit receivers.
2020-11-25 16:55:10 +03:00
Victor Petukhov
0857b9c9e7
Rethink constraints incorporation
...
Namely, remove incorporation “otherInsideMyConstraint” to eliminate
constraint system redundancy and produce a potentially very large number
of constructs.
Instead, introduce not so “spreadable” incorporation during variable
fixation (equality constraint with result type into other constraints).
^KT-41644 Fixed
^KT-42195 Fixed
^KT-42920 Fixed
^KT-42791 Fixed
^KT-41741 Fixed
2020-11-25 11:15:20 +03:00
Ilmir Usmanov
c62093f54c
IC mangling: Change mangling rules
...
1. Use 'x' for each parameter, which is not an inline class, every
possible clash is handled by signature rather than name. This change
makes more API changes binary-compatible. So, the changes are in line
with the vision of inline classes are value classes, like primitives.
2. Take return type into account when mangling a function if the return
type is inline class. Otherwise, boxing bridge will not be generated,
which leads to CCE at runtime.
2020-11-19 17:39:24 +01:00
Jinseong Jeon
9a99af53ba
FIR JVM: correct signature conversion for array
...
#KT-43339 Fixed
2020-11-18 13:06:51 +03:00
Denis Zharkov
14305d1eba
FIR: Simplify callable references resolution
...
Also that fixes some bugs
2020-11-16 15:50:39 +03:00
Denis Zharkov
d4c7d4fc7c
FIR: Fix callable references resolution with stub receivers
...
Use stubReceiver as a receiver for fake calls
See issues KT-43358 KT-43359 KT-43378
2020-11-16 15:50:39 +03:00
Denis Zharkov
f97cc0b62d
FIR: Rework receivers processing in resolution
...
- Put extensionReceiver to candidate even if it's explicit (for sake of clarity)
- Split CheckReceiver (dispatch part should only check nullability)
2020-11-16 15:50:39 +03:00
Denis Zharkov
4c9a4548f2
FIR: Fix overrides binding for Java inheritor
...
`overriddenMembers` contract requires original (non-enhanced) function
See other usages
Ignored tests have been working accidentally
^KT-43289 Open
2020-11-16 15:50:39 +03:00
Dmitriy Novozhilov
419f54259c
[TEST] Change semantics of CHECK_TYPE directive and update testdata
...
Previously helpers from checkType.kt was in special package, and
if directive was enabled then test runner (`AbstractDiagnosticTest`)
injected additional imports to test files and removed them after test
was completed.
It's very hard to support such behavior in new test infrastructure so
there was a decision about changing `CHECK_TYPE`:
1. All helpers from `checkType.kt` now stays in default package
2. `CHECK_TYPE` only adds `checkType.kt` to set of analyzed files
and don't modify their content
For test which are written in default package (most of tests actually)
there are no changes. On the other hand if there is a test where dev
want to use checkType functions in testfile with some package then he
should explicitly import functions which he needed (`checkSubtype`,
`checkType`, `_`)
2020-11-13 10:36:12 +03:00
sebastian.sellmair
06cb64bb51
Allow open callable members in expect interfaces
...
#KT-42094 fixed
2020-11-11 17:41:59 +00:00
Dmitriy Novozhilov
67b262aa34
[FIR] Move tracking candidate applicability from CheckerSink to Candidate
2020-11-11 09:52:56 +03:00
Denis Zharkov
233bb47b99
FIR: Fix SAM conversion for raw types with non-trivial TP upper bounds
2020-11-10 14:26:54 +03:00
Denis Zharkov
a5545b96cb
FIR: Fix ambiguity between current Companion and one from supertypes
...
Companion as qualifier should be found at static scope not a member one
2020-11-10 14:26:54 +03:00
Denis Zharkov
96c3436e73
FIR: Temporary adjust diagnostics test data
...
UPPER_BOUND_VIOLATED for type alias constructors is not supported properly
See KT-43142
2020-11-06 11:32:39 +03:00
Victor Petukhov
90ea64a0e5
Don't report warning about changing execution order for varargs if it's inside an annotation
...
^KT-43110 Fixed
2020-11-05 13:18:00 +03:00
Jinseong Jeon
a5389b067b
FIR DFA: use element-wise join everywhere
2020-11-04 16:35:42 +03:00
Jinseong Jeon
bd173ebebc
FIR DFA: isolate effects between blocks in try expression
2020-11-04 16:35:42 +03:00
Jinseong Jeon
146036010c
FIR DFA: add tests about smartcasts in/after try-catch-finally
2020-11-04 16:35:42 +03:00
Ilmir Usmanov
326768e8b5
Minor. Update test data
2020-11-04 00:20:39 +01:00
Denis Zharkov
4612f26bfb
FIR: Add workaround for OverloadResolutionByLambdaReturnType
...
Mostly, that should help for existing flatMap usages
^KT-43129 Submitted
2020-11-03 18:30:15 +03:00
Ilmir Usmanov
1376fed1d4
Support non-public inline class constructors
...
#KT-28056 Fixed
2020-11-03 12:10:21 +01:00
Ilmir Usmanov
5f8fabed61
Minor. Update test data
2020-11-03 02:20:44 +01:00