Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Denis.Zharkov
9ee0268197
Minor. Drop unused FirTowerDataMode.SPECIAL
2022-06-06 15:18:05 +03:00
Denis.Zharkov
41dd00c241
FIR: Use outer scope for annotation arguments resolution
...
^KT-41980 Fixed
2022-06-06 15:18:05 +03:00
Denis.Zharkov
eae673233b
FIR: Rework FirRegularTowerDataContexts
...
- Get rid of SPECIAL mode (just left REGULAR and class-related instead)
- Clear naming
- Restore contexts after lambda/callable reference are processed
The test has been failing before this change because after
callable reference is resolved, its tower data context has been left
erroneously in the SPECIAL-related entry
2022-06-06 09:39:29 +00:00
Denis.Zharkov
521d6c307c
Minor. Make properties private in FirSpecialTowerDataContexts
2022-06-06 09:39:29 +00:00
Denis.Zharkov
6e6d576a44
Minor. Drop unused addReceiverLabelAlias
2022-06-06 09:39:28 +00:00
Roman Golyshev
166c771e1b
[FIR IDE] Ensure resolve to CONTRACTS phase in ReturnTypeCalculator
...
If we want to analyse some function's call, we need to know about its
contracts, otherwise resolving the following code would be broken.
Computing return type of function is a prerequisite to using it in any
sensible way, so it's the best place to resolve it to CONTRACTS
KT-50733
2022-06-06 09:14:37 +00:00
Ilya Gorbunov
e14ac2a062
Test kotlin-repeatable annotations on Android
...
(except for type-use annotations)
2022-06-04 10:39:37 +00:00
Mikhail Glukhikh
8baff4404d
Partial rename of 'Experimentality' around K1 checkers
2022-06-02 15:36:56 +00:00
Nikolay Lunyak
8d2868da32
[FIR JS] Regenerate tests
...
вфцвфдцьв
2022-06-02 13:47:34 +00:00
Nikolay Lunyak
c2cecb2818
[FIR JS] Add the dynamic type unsupported checker
2022-06-02 13:47:33 +00:00
Nikolay Lunyak
624728e5c7
[FIR JS] Support dynamic type in IR
2022-06-02 13:47:32 +00:00
Nikolay Lunyak
6b94ba5804
[FIR2IR] Add the missing argument
2022-06-02 13:47:32 +00:00
Nikolay Lunyak
858999c1a1
[FIR] Preserve information about prefix/postfix-ness
...
This information is needed for dynamics
2022-06-02 13:47:31 +00:00
Nikolay Lunyak
93fa5ee696
[FIR] Add the missing source kind
2022-06-02 13:47:31 +00:00
Nikolay Lunyak
0bc34a9e5a
[FIR] Add some helper functions for dynamics
2022-06-02 13:47:31 +00:00
Nikolay Lunyak
4038c06b1e
[FIR JS] Treat named arguments as positional for dynamics
...
Note: 174/1627 failing FirJsTest tests remaining
- 170 are multi-module tests
- 4 tests have to do with IR
2022-06-02 13:47:30 +00:00
Nikolay Lunyak
ee58b52a3d
[FIR] Fix false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY
2022-06-02 13:47:29 +00:00
Nikolay Lunyak
a474acd927
[FIR JS] Fix NOT_YET_SUPPORTED_IN_INLINE
2022-06-02 13:47:29 +00:00
Nikolay Lunyak
ac1fb07102
[FIR JS] Add checkers.js
2022-06-02 13:47:28 +00:00
Nikolay Lunyak
1bf2f424a3
[FIR JS] Fix the plusAssign generation for dynamics
2022-06-02 13:47:28 +00:00
Nikolay Lunyak
9b87dcbeae
[FIR JS] Move FirInvalidAndDangerousCharactersChecker to checkers.jvm
...
This is a JVM-specific checker.
2022-06-02 13:47:28 +00:00
Nikolay Lunyak
91fa7dec88
[FIR JS] Fix false positive NON_ABSTRACT_FUNCTION_WITH_NO_BODY
2022-06-02 13:47:27 +00:00
Mikhail Glukhikh
eaa77b5af6
[FIR JS] Generate dynamic FIRs via DynamicScope
2022-06-02 13:47:26 +00:00
Nikolay Lunyak
d7e8dc65f5
[FIR] Update smartcast tests
2022-06-02 13:47:25 +00:00
Nikolay Lunyak
611691ec70
[FIR JS] Support smart casts for dynamic
2022-06-02 13:47:25 +00:00
Nikolay Lunyak
9a9beef25b
[FIR JS] Prepare the infrastructure for FIR JS tests
2022-06-02 13:47:24 +00:00
Nikolay Lunyak
d2a8942353
[FIR] Extract FirJvmConstDeserializer
...
Attempts to separate JVM and non-JVM entities more clearly.
2022-06-02 13:47:23 +00:00
Nikolay Lunyak
be9e97d044
[FIR] Introduce ConeDynamicType
2022-06-02 13:47:23 +00:00
Nikolay Lunyak
e763197c3e
[FIR] Fix the use of local ClassIds
2022-06-02 13:47:22 +00:00
Ilmir Usmanov
f922684169
Minor. Add regression test
...
#KT-52561 Fixed
2022-06-02 13:26:24 +00:00
Nikolay Lunyak
98c7399a35
[FIR] Remove the redundant backing field check
...
This commit fixes a failing visibility check
(FirSymbolByPsiTestGenerated.testBackingField) for the backing field.
Merge-request: KT-MR-6389
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2022-06-02 08:36:14 +00:00
Denis.Zharkov
461d91a10e
FIR: Rework checking dispatch receivers applicability
...
Using `ownerLookupTag` might be wrong in case of private constuctors
of inner classes: their owner is an Inner class, but expected
dispach receiver is Outer
2022-06-01 16:02:31 +00:00
Denis.Zharkov
67e6687e89
FIR: Fix FP error on a call to constructor of a private inner class
...
Do not check dispatch receiver applicability when checking visibility
for containing class of a callee constructor
2022-06-01 16:02:30 +00:00
Denis.Zharkov
c1904004c4
FIR: Fix case when smartcast receiver is used for call to private method
...
^KT-54432 Fixed
2022-06-01 16:02:30 +00:00
Denis.Zharkov
ccc32b4e3b
FIR: Refine visibility check for private methods defined in a class
...
- use-site should be contained within the class that owns callee symbol
- class-representative of dispatch receiver value
should be exactly the same as a container class of a callee (not its subtype)
2022-06-01 16:02:29 +00:00
Pavel Mikhailovskii
3b5179686e
KT-52592 Fix NPE from KProperty.getExtensionDelegate on property delegated to another property; make $delegate methods private
2022-06-01 14:02:28 +00:00
Roman Golyshev
e72f8f829a
[FIR] More special names unification
2022-06-01 11:56:39 +00:00
Roman Golyshev
9fe0f055c5
[FIR] Get rid of ensureResolvedForCalls completely
...
The problem that this function has been solving (resolving declarations
to a somewhat adequate resolve phase) should be solved in another place;
moreover, right now it is the only scope that uses that function, which
is non-consistent
2022-06-01 00:23:11 +04:00
Roman Golyshev
01ce499bb2
[FIR] Unify some special names to make code more uniform
2022-06-01 00:11:17 +04:00
Victor Petukhov
b472ccd358
[FE 1.0] Introduce deprecation of inferred type variable into a declared upper bound within a builder inference call
2022-05-31 14:13:29 +00:00
Victor Petukhov
848075192c
[FE 1.0] Don't use BuilderInferenceSubstitutionConstraintPosition for declared upper bound constraint with no substituted upper bound
...
It leads to further infer type variable into those upper bounds which is forbidden
Substituted upper bounds is ok because specific substituted types came from constraints of other proper positions, or if specific substituted type is from declared upper bound too, then there should be another declared upper bound with no substitution
^KT-51464 Fixed
^KT-47986 Fixed
2022-05-31 14:13:28 +00:00
Victor Petukhov
c266303197
[FE 1.0] Introduce "range until operator" language feature, and report errors on its usages till 1.8
2022-05-31 08:42:57 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Victor Petukhov
0b25ce4de9
[FE] Support resolve of until operator to rangeUntil
...
^KT-52420 Fixed
2022-05-31 08:42:55 +00:00
Pavel Mikhailovskii
2ceccec2b8
KT-52551 Create a static initialization section in case of delegation to a property reference from a file class
2022-05-30 14:16:18 +00:00
Ivan Kochurkin
792aa24a04
[FIR] Throws by star import wins builtin Throws, ^KT-52407 Fixed, ^KT-52517 Fixed
2022-05-29 23:41:27 +03:00
Ivan Kochurkin
5fdf365ac4
[FIR] Use lazy initialization for OptionalAnnotationClassesProvider
2022-05-29 23:41:26 +03:00
Ivan Kochurkin
1b0af2cb0e
[FIR] Make the lowest priority for OptionalAnnotationClassesProvider
2022-05-29 23:41:26 +03:00
Ivan Kochurkin
e004c8e2d6
[FIR2IR] Pass value parameter name to createDefaultSetterParameter if it exists
2022-05-29 23:41:25 +03:00