Ilya Chernikov
53bc593062
Fix interpreter tests after changing offset calculation
2022-03-30 08:35:21 +00:00
Ilya Chernikov
738c1f34df
FIR2IR: Fix offsets calculation for qualified expressions
2022-03-30 08:35:13 +00:00
Ilya Chernikov
a65c102469
FIR LT: fix modality for default accessors in LT converter
2022-03-30 08:35:06 +00:00
Ilya Chernikov
b3f9e7d361
FIR LT: "fix" tree compare tests by ignoring diagnostic in error types
2022-03-30 08:34:59 +00:00
Ilya Chernikov
c4a29651b0
FIR IC: fix test with behavior different from non-tight cycle variants
2022-03-30 08:34:51 +00:00
Ilya Chernikov
f2ddac3ece
IC: Adopt IC compilation for case then runCompiler adds some dirty files
...
as it is the case for Fir IC compilation.
2022-03-30 08:34:44 +00:00
Ilya Chernikov
27a3c77174
Temporary restore generation state and related PSI-based APIs
...
Changes required on IDE plugin side before applying API changes.
2022-03-30 08:34:36 +00:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
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