Vsevolod Tolstopyatov
c6cbab43f7
Introduce KClass-based cache for KPackageFragment
...
* It is a heavy-weight object that is hard to compute
* It is being constructed each type _cached_ method ref is used in equals/hashCode
* Module name is deliberately ignored, corresponding doc is added where appropriate
#KT-48136
Merge-request: KT-MR-6817
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-08 15:57:56 +00:00
Alexander Korepanov
794229d012
[box-tests] Add tests about anonymous classes uplifting
...
^KT-50175 Fixed by commits before
2022-08-08 08:39:59 +00:00
Igor Chevdar
e38f02b53a
[box-tests] Added a bunch of tests on local objects in inline lambdas
2022-08-08 08:39:57 +00:00
Igor Chevdar
7090a2716a
[box-tests] Made test Native-specific
...
Seems like other backends don't like top level lateinit properties
2022-08-07 08:23:41 +03:00
Igor Chevdar
6799988227
[box-tests] Added a multi-module test on lateinit properties
2022-08-06 17:40:27 +00:00
Mikhail Glukhikh
2598ecf23f
Revert "K2: fix internal visibility checks for overrides #KT-53197 Fixed"
...
This reverts commit 166965e559 .
2022-08-05 18:26:59 +02:00
Vsevolod Tolstopyatov
14b13a2f17
[kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
...
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches
* Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary
* ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist
* Update reflect/scripting JDK requirement to Java 8 in order to proceed
#KT-53454
#KT-50705
Merge-request: KT-MR-6788
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-05 15:35:34 +00:00
Ivan Kochurkin
09a72fd679
Extract immutable arrays to fields in IrBuiltInsOverFir
2022-08-05 13:20:41 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Simon Ogorodnik
2a16fe1d0f
FIR: Fix overloading by type-arguments
...
In K1, upper bound violated causes candidate to have lower applicability
due to constraint errors, in K2 however constraint errors has to be
reported explicitly
2022-08-04 22:56:08 +02:00
Artem Kobzar
2d85eddeb9
[FIR] test: add a test case for reified inline functions with a same name in different packages.
2022-08-04 22:56:07 +02:00
Denis.Zharkov
11a26e540e
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit a2077f9063 .
2022-08-04 17:50:00 +02:00
Denis.Zharkov
2ae2a7e442
Revert "KT-8263: Conditional operators are not parsed correctly"
...
This reverts commit 85800b4f9f .
2022-08-04 17:49:42 +02:00
Iven Krall
85800b4f9f
KT-8263: Conditional operators are not parsed correctly
2022-08-04 11:24:09 +00:00
Iven Krall
a2077f9063
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-04 11:24:08 +00:00
Ilya Gorbunov
f91ea4b4d9
Add more tests for 'contains' in ranges #KT-52933
...
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Mikhail Glukhikh
166965e559
K2: fix internal visibility checks for overrides #KT-53197 Fixed
2022-08-03 07:52:14 +00:00
Steven Schäfer
03aee58585
JVM IR: Avoid IrComposite in ReturnableBlockLowering (KT-53202)
2022-08-03 00:19:31 +02:00
Victor Petukhov
8500ee08a8
[FE 1.0] Remove CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION analysis flag
...
The constraint system for the old type inference is going to be removed.
Also, `CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION` isn't used in the production
2022-08-02 10:29:38 +00:00
Victor Petukhov
8227c4b603
[FE 1.0] Use the new type intersection emptiness check
...
Also introduced compatibility mode to preserve compatibility for is/as/equality checks
^KT-29316 Related
2022-08-02 10:29:37 +00:00
Mikhael Bogdanov
90f8f8e14e
Support inner classes in -Xjdk-release
...
#KT-52823 Fixed
2022-08-02 04:56:20 +00:00
Steven Schäfer
7e472301b6
Re-enable "JVM IR: Move direct invoke optimization into a separate pass"
2022-07-29 01:06:44 +02:00
Steven Schäfer
6f0ff6aeb0
IR: Fix scope transparency in ReturnableBlockLowering
...
An IrReturnableBlock introduces a new variable scope and shouldn't be
replaced with a transparent IrComposite block.
2022-07-29 01:06:44 +02:00
Ilmir Usmanov
b93c000250
Make suspend fun, where suspend is a function error in 1.9
...
instead of 1.8.
#KT-49264
2022-07-28 21:03:07 +02:00
Igor Chevdar
8981eb85de
[box-tests] Added a couple of reproducers for KT-52795
2022-07-28 16:01:17 +00:00
Victor Petukhov
a61648651b
[FE 1.0] Use original receivers for NI while DSL scope violation checking
...
Original receivers are already use in the near place
^KT-46969 Fixed
2022-07-28 08:51:42 +00:00
Mikhail Glukhikh
3e58c54da9
Add docs to CandidateApplicability, remove DSL_SCOPE_VIOLATION
2022-07-27 15:29:48 +00:00
Mikhail Glukhikh
d0c518013a
Document&use CandidateApplicability.shouldStopResolve/isSuccess properly
2022-07-27 15:29:47 +00:00
Mikhail Glukhikh
010d5b76e5
Temporary fix for K2/JS tests
2022-07-27 15:29:46 +00:00
Mikhail Glukhikh
220a8e47f4
K2: de-prioritize invoke on dynamic receiver
2022-07-27 15:29:45 +00:00
Mikhail Glukhikh
766d873271
FIR2IR: fix case with extension called on dynamic
2022-07-27 15:29:45 +00:00
Mikhail Glukhikh
0611f3b8e7
CandidateApplicability: add K1/K2 prefixes when applicable
2022-07-27 15:29:44 +00:00
Mikhail Glukhikh
8e9e8302f7
CandidateApplicability: merge INAPPLICABLE_MODIFIER into CONVENTION_ERROR
2022-07-27 15:29:43 +00:00
Mikhail Glukhikh
577b9686c1
K2: fix using compatibility resolve for SAM constructors
2022-07-27 15:29:42 +00:00
Mikhail Glukhikh
32a73968de
Stop tower resolve in K2 in more similar manner with K1
2022-07-27 15:29:41 +00:00
Ilya Gorbunov
1addc23b23
Add range iteration tests for rangeUntil
...
#KT-52932
2022-07-26 23:52:10 +00:00
Steven Schäfer
d2f6acfd34
FIR: Add resolved type refs to the annotation container context for diagnostics
2022-07-26 09:34:09 +00:00
Ivan Kochurkin
80450042c7
[FIR] Ignore KtFakeSourceElementKind in FirRecursiveProblemChecker
2022-07-25 23:30:10 +02:00
Ivan Kochurkin
0af43757e3
[FIR] Implement FirNativeIdentifierChecker
...
* INVALID_CHARACTERS_NATIVE
2022-07-25 23:30:10 +02:00
Ivan Kochurkin
a44d5bf52f
[FIR] Implement FirNativeThreadLocalChecker
...
* INAPPLICABLE_THREAD_LOCAL
* INAPPLICABLE_THREAD_LOCAL_TOP_LEVEL
2022-07-25 23:30:10 +02:00
Ivan Kochurkin
987137cf76
[FIR] Implement FirNativeSharedImmutableChecker
...
* INAPPLICABLE_SHARED_IMMUTABLE_PROPERTY
* INAPPLICABLE_SHARED_IMMUTABLE_TOP_LEVEL
2022-07-25 23:30:10 +02:00
Ivan Kochurkin
1bb158e45c
[FIR] Add SourceSet.generatedDir() and use it in build.gradle.kts
2022-07-25 23:30:10 +02:00
Ivan Kochurkin
9f9cef392f
[FIR] Minor fixes of FirJvmDefaultChecker
2022-07-25 23:30:09 +02:00
Ivan Kochurkin
ad1fb07a95
[FIR] Implement FirNativeThrowsChecker
2022-07-25 23:30:09 +02:00
Ivan Kochurkin
c47148b8fb
[FIR] Remove FirJsSyntheticNamesProvider and FirNativeSyntheticNamesProvider.kt
2022-07-25 23:30:09 +02:00
Ivan Kochurkin
502349c594
[FIR] Implement Native test infrastructure, add FirNativeSessionFactory
2022-07-25 23:30:09 +02:00
Ivan Kochurkin
2f56b29b3f
[FIR] Extract FirSessionConfigurator and IncrementalCompilationContext to separated classes
...
With FirSessionFactory and FirJsSessionFactory
2022-07-25 23:30:09 +02:00
Ivan Kochurkin
94527e24e8
[FIR] Commonize code for creating common, JVM and JS session
...
Extract FirAbstractSessionFactory
2022-07-25 23:30:09 +02:00
Denis.Zharkov
7f7e5c5975
FIR: Fix candidate receivers orders when choosing a context receiver
...
^KT-53257 Fixed
2022-07-25 15:11:29 +00:00
Ivan Kylchik
008a5f02e5
Make enum entries to be interpreted in right order
...
#KT-53727 Fixed
2022-07-23 18:32:52 +00:00