Ilya Chernikov
bd60d4b2a6
FIR LT: Add box inline tests for FIR + LT (failing on SMAP so far)
2022-03-30 08:34:21 +00:00
Ilya Chernikov
ae10346d75
Refactor FIR diagnostics: cleanup and extract position finder
...
for reusing the latter in the inliner for LT-based sources
2022-03-30 08:34:13 +00:00
Ilya Chernikov
25e9de286d
Test infra: adapt blackbox test runner to work with non-psi sources
2022-03-30 08:34:06 +00:00
Ilya Chernikov
2044754628
Backend: remove psi files from generation state
...
pass them explicitly to all destinations. This is a step in attempt to
abstract dependencies on PSI in the GenerationState and related places.
2022-03-30 08:33:59 +00:00
Ilya Chernikov
da41fddabb
Backend: remove codegen factory from generation state
...
use it explicitly. This is a step in attempt to abstract dependencies
on PSI in the GenerationState and related places.
2022-03-30 08:33:51 +00:00
Ilya Chernikov
018782f0c7
FIR CLI: use VFS for LT files loading
...
may improve performance in some cases and is consistent with handling
of PSI files
2022-03-30 08:33:43 +00:00
Ilya Chernikov
506152020d
FIR: fix LT conversion of imports with backticks
2022-03-30 08:33:35 +00:00
Ilya Chernikov
a08e70ae5c
FIR CLI: fix java sources search scope usage
2022-03-30 08:33:27 +00:00
Ilya Chernikov
0df3fde37f
FIR: implement computeOrigin for IR without accessing sources
...
fixes LT compilation too
2022-03-30 08:33:18 +00:00
Ilya Chernikov
973273c6c6
FIR CLI: count lines/files and report events to perfman
2022-03-30 08:33:11 +00:00
Ilya Chernikov
090a451902
FIR: implement proper exit on errors in new cli pipeline
2022-03-30 08:33:03 +00:00
Ilya Chernikov
f89765eb33
Make JDK classpath roots configuration explicit...
...
instead of relying on the "configuration files" parameter.
(in the process of migration from KotlinCoreEnvironment).
2022-03-30 08:32:56 +00:00
Ilya Chernikov
9d2cadc908
[minor] scripting fixes in obsolete and test code...
...
relax acceptedAnnotations extraction rules for obsolete script template
handling code - the previous variant was failing on the typealias
comparison
also reduce warnings and possible exceptions on some test execution
paths
2022-03-30 08:32:48 +00:00
Ilya Chernikov
806bf8a735
IR [minor]: do not assume that ktfile is always accessible
2022-03-30 08:32:40 +00:00
Ilya Chernikov
b27a223b98
IR: use jvm name annotations for package class naming for non-psi cases
2022-03-30 08:32:32 +00:00
Ilya Chernikov
5e007f9179
IR: fix FileClassInfo generation from source-based entry
...
assuming that it's name contains path, symmetrical to the PSI variant
2022-03-30 08:32:24 +00:00
Ilya Chernikov
5abdf93d3b
IC: Add IC test with fix on rename file with only class inside
...
"fails" on JS and JPS tests - the IC logic there is less precise.
2022-03-30 08:32:17 +00:00
Ilya Chernikov
3220900abe
FIR: add tests for IC with LT and new CLI pipeline
2022-03-30 08:32:10 +00:00
Ilya Chernikov
a239f02a30
Add cli argumens for FIR "tight" IC and LightTree usage
2022-03-30 08:32:03 +00:00
Ilya Chernikov
9e32188938
FIR LT: add syntax error reporting to LT2Fir
...
use it in the new pipeline
2022-03-30 08:31:56 +00:00
Ilya Chernikov
2689ebf455
FIR: fix lookup tracking in conflicts checker for LT
...
since it relies on the correct context declaration
2022-03-30 08:31:47 +00:00
Ilya Chernikov
0446a21b46
FIR IC: remove unnecessary lookup tracking in retrun type calc
2022-03-30 08:31:40 +00:00
Ilya Chernikov
2aba465494
FIR IC: provide file sources to lookup where possible
...
because detecting file source by element source is possible for LT
only in some limited cases.
2022-03-30 08:31:33 +00:00
Ilya Chernikov
11d6dccf51
FIR IC: do not record lookup on const - builtin types are not recorded
2022-03-30 08:31:26 +00:00
Ilya Chernikov
a8594e9ce8
Codegen: register i/o File instead of PSI for module mapping...
...
because there are no PSI files in FIR + LT, so missing mapping hurts IC
2022-03-30 08:31:18 +00:00
Ilya Chernikov
275135a1b2
FIR: extend cli pipeline with incremental compilation logic
...
use it in the IncrementalCompilationRunner
2022-03-30 08:31:10 +00:00
Ilya Chernikov
6b61488099
Implement IC caches changes detection logic over frontend metadata
2022-03-30 08:31:02 +00:00
Ilya Chernikov
3ca4fe5f9e
Refactor metadata serialization for using after frontend
...
for "tight" IC cycle
2022-03-30 08:30:54 +00:00
Ilya Chernikov
5cca01a7d2
IR: remove unnecessary reliance on the PSI in inliner
2022-03-30 08:30:46 +00:00
Ilya Chernikov
17bbaf27ea
Fix when expression with binary expression conversion in fir2ir for LT
2022-03-30 08:30:38 +00:00
Ilya Chernikov
2d7af0ce72
Fir2Ir: fix conversion for non-PSI source elements
2022-03-30 08:30:30 +00:00
Ilya Chernikov
5818f0786a
Fix for loop variable detection in fir2ir for LT case
2022-03-30 08:30:24 +00:00
Ilya Chernikov
3ad0e2aff5
Fix lambda detection in fir2ir for LT case
2022-03-30 08:30:16 +00:00
Ilya Chernikov
cf22400701
Introduce LT file abstraction in tests parallel to KtFile
...
allows to create a valid LT-based file with synthetic path important
for dumps comparisons in tests
2022-03-30 08:30:09 +00:00
Ilya Chernikov
20c50c6484
[minor] Pass minimally valid offsets on non-PSI ir file entry creation
...
allows to use e.g. `dumpTreesFromLineNumber` in tests on such files
without assertions
2022-03-30 08:30:02 +00:00
Ilya Chernikov
4b92d50775
FIR: Implement and use component to map lighttree-based sources to files
2022-03-30 08:29:54 +00:00
Ilya Chernikov
12d49c2cd8
FIR: new cli pipeline with LightTree support
2022-03-30 08:29:47 +00:00
Pavel Kunyavskiy
7ba4d9e1f0
Rework nullability in IR
2022-03-30 06:27:59 +00:00
Ilya Gorbunov
000165b12b
Fix incorrect conversion of Long to String in base 36 in JS KT-48924
2022-03-30 06:13:51 +00:00
simon.ogorodnik
03bb482322
KT-45553. Hide declaration from star import if imported with alias
2022-03-29 23:38:42 +00:00
Svyatoslav Scherbina
8bb178e4a7
Native: ignore delegatedProperty/provideDelegate/kt39588.kt box test
...
It performs unchecked cast from `String` to `List<Any>`, which
legitimately fails when global optimizations are enabled.
^KT-48749 Declined
2022-03-29 13:27:44 +00:00
Dmitriy Novozhilov
f24a8db6b8
Advance bootstrap to 1.7.0-dev-3025
2022-03-29 12:57:16 +00:00
Sergey Bogolepov
027c51653d
[K/N] Fix -Ptest_compile_only for iosArm64 target
...
We don't need to configure Xcode or disable some tests when running
tests in compile-only mode.
2022-03-29 12:25:22 +00:00
Dmitriy Dolovov
0bc6885b2c
[Native][tests] W/A: Generate test suites for included KLIB with tests
...
Relates to KT-51375
2022-03-29 14:55:57 +03:00
Sergey Bogolepov
f635e450df
[K/N] Add trivial test for RemoveRedundantSafepoints phase
2022-03-29 11:52:26 +00:00
Sergey Bogolepov
f90a56c131
[K/N] Introduce RemoveRedundantSafepointsPass
...
Since we do not inline Kotlin_mm_* functions on watchos_arm32 and
ios_arm32 targets, there are a lot of unnecessary subsequent safepoints.
To reduce binary size and avoid unnecessary safepoints we apply a simple
optimization: remove all calls to Kotlin_mm_safePointFunctionPrologue in
a basic block except the first one.
^KT-51737 fixed.
2022-03-29 11:52:25 +00:00
Hung Nguyen
bd8f49c5d6
KT-45777: Count cache misses when loading classpath snapshot
...
to get more insights into the build performance of that step.
^KT-45777 In Progress
2022-03-29 11:36:41 +00:00
Hung Nguyen
f23e66a6e2
KT-45777: Replace EmptyICReporter with DoNothingICReporter
...
to be more consistent (every *Reporter has a DoNothing*Reporter).
^KT-45777 In Progress
2022-03-29 11:36:41 +00:00
Hung Nguyen
d70dbf3146
KT-45777: Add debug log messages for classpath snapshot feature
...
Also clean up classpath snapshot shrinking a bit to make it clearer.
^KT-45777 In Progress
2022-03-29 11:36:40 +00:00
Hung Nguyen
1d1c6d5e0b
KT-45777: Change classpath-snapshot directory location
...
Incremental states for Kotlin compilation are stored inside the
`<project>/build/kotlin/<task-name>` directory. Previously, that
directory was @LocalState, so we had to keep the `classpath-snapshot`
@OutputDirectory outside it.
Now, that directory has been made a parent containing @OutputDirectory's
@LocalState's, so we can safely move the `classpath-snapshot` directory
to it.
Test: Existing tests should pass (location change has no functional impact)
^KT-45777 In Progress
2022-03-29 11:36:39 +00:00