Commit Graph

86910 Commits

Author SHA1 Message Date
Ilya Kirillov a11cd74b28 Revert "FIR: add bfs helper and use it"
This reverts commit dbb0496d23.
2021-10-26 00:37:31 +02:00
Tianyu Geng dbb0496d23 FIR: add bfs helper and use it
It's also used in Kotlin quickfixes in intellij repo
2021-10-26 00:06:00 +02:00
Mattia Iavarone 64a0d492b9 Fix Arm32 atomics 2021-10-25 22:31:15 +03:00
Ivan Kochurkin 489c9ae11f [FIR2IR] Recognize postfix inc/dec blocks in sequence of statements 2021-10-25 21:21:45 +03:00
Ivan Kochurkin c13822a2c5 Optimize containsKey -> get pattern 2021-10-25 21:21:44 +03:00
Ivan Kochurkin 82591bb107 [FIR2IR] More accurate equals intrinsic for double/float types 2021-10-25 21:21:43 +03:00
Ivan Kochurkin b4fada82ae [FIR2IR] Fix conversion of loops with withIndex 2021-10-25 21:21:42 +03:00
Ivan Kochurkin a2ec99e38c [FIR2IR] Get rid of creating fake FirBlock in Fir2IrVisitor 2021-10-25 21:21:41 +03:00
Ivan Kochurkin 3210a2a950 [FIR2IR] Recognize postfix inc/dec pattern from block statements 2021-10-25 21:21:40 +03:00
Ivan Kochurkin 0d91e16a15 [FIR2IR] Fix considering of Contains intrinsic 2021-10-25 21:21:40 +03:00
Ivan Kochurkin 15d23f2a72 [FIR2IR] Fix applying of equals intrinsics 2021-10-25 21:21:39 +03:00
Ivan Kochurkin 31507e7e7e [FIR2IR] Fix origin for desugared blocks (to enable jvm optimization lowering)
Move getIrAssignmentOrigin to ConversionUtils
2021-10-25 21:21:37 +03:00
Ivan Kochurkin 4bafa8628e [FIR2IR] Fix generating of IINC instruction with FIR for inc/dec with constants 2021-10-25 21:21:35 +03:00
Ivan Kochurkin 98596eaa08 [FIR2IR] Fix generating of IINC instruction with FIR for inc/dec operations 2021-10-25 21:21:33 +03:00
Roman Golyshev 3148913e60 Fix test data
It is a follow-up commit for 9b3add0130,
where `CorrespondingProperty` property was added
2021-10-25 21:15:37 +03:00
Jinseong Jeon 9524825662 FIR LC: approximate local type only if it's necessary and out of scope 2021-10-25 20:24:48 +03:00
Jinseong Jeon 9ed2c9d371 FIR LC: add tests about type approximation in PsiType provider 2021-10-25 20:24:48 +03:00
Dmitry Petrov c441980c74 JVM_IR don't move inplace arguments with variable stores
KT-49370
KT-49407
2021-10-25 20:11:42 +03:00
Dmitry Petrov 45a4cea655 IR KT-49372 cache progression loop parameters if their values can change 2021-10-25 19:03:13 +03:00
Tianyu Geng 7fb82232cd FIR IDE: use correspondingProperty in ref shortener 2021-10-25 18:16:32 +03:00
Tianyu Geng 9b3add0130 FIR: add pointer from primary constructor param to correspondng property 2021-10-25 18:16:31 +03:00
Tianyu Geng 112f365414 FIR IDE: fix ref shortener on property in primary constructor
Currently the shortener ignores the created FirProperty, as a result,
any annotations declared on the getter or setter are ignored. The test
is added in Intellij repo.
2021-10-25 18:16:31 +03:00
Roman Artemev 9f52326d14 [JS IR] Fix default arguments in suspend functions
Don't forget to remap parameter references in default arg expressions

The issue originally discovered in kotlinx.coroutines tests.

 - add test
2021-10-25 12:56:16 +00:00
Roman Artemev 1d58fd159a [IR] Replace adhoc remappers to common one ValueRemapper 2021-10-25 12:56:16 +00:00
Roman Artemev 9490f9da43 [IR] Add ValueRemapper to avoid reimplementing it each time 2021-10-25 12:56:16 +00:00
Tianyu Geng 363b25504d FIR checker: report REDUNDANT_LABEL_WARNING
Since many labels are not present in the FIR tree, this checker is
implemented as a syntax checker. Comparing with FE1.0, this change
reports some REDUNDANT_LABEL_WARNING that FE1.0 has missed, especially
LHS of assignments.
2021-10-25 13:51:01 +03:00
Tianyu Geng cbc9d08623 FIR: [code clean up] force custom hashcode/equals for FirSourceElement 2021-10-25 13:50:59 +03:00
Tianyu Geng 809d518fcf FIR checker: refactor FirSyntaxChecker
Introduce a new checkPsiOrLightTree so the structure is more symmetric.
In addition, now implementation of `checkLightTree` has access to
`FirLightSourceElement` rather tha a generic `FirSourceElement`
2021-10-25 13:50:58 +03:00
Tianyu Geng 34071f285a RAW FIR: fix source kind in LT generation
PSI->FIR respects forced source kind but it appears LT ignores it.
2021-10-25 13:50:56 +03:00
Tianyu Geng 1fcebab827 Raw FIR: fix LT label source 2021-10-25 13:50:55 +03:00
Dmitriy Novozhilov 9e5f03dd7d [FE] Change version of ProhibitConfusingSyntaxInWhenBranches to 1.8
^KT-48385
2021-10-25 12:54:21 +03:00
Dmitriy Novozhilov f7bb55433d Add LanguageVersion and ApiVersion for 1.8 2021-10-25 12:54:10 +03:00
Anton Lakotka dbe134e8b2 [Gradle] KT-48818 Fix mpp13XFlagsSetByPlugin setter
Use mpp13XFlagsSetByPlugin to prevent false-positive "GranularMetadataTrueHasNoEffect" warning

#KT-48818 Fixed
2021-10-25 08:05:26 +00:00
Anton Lakotka 1057f24a69 [Gradle] KT-48818 Add tests for subprojects
Reuse already existing function to assert that
build log does not contain certain sub-strings
2021-10-25 08:05:26 +00:00
Anton Lakotka cb103dae75 [Gradle] Don't show false positive warning about old hmpp flags
When HMPP is enabled by default it is still printing warnings about
enableDependencyPropagation and enableGranularSourceSetsMetadata flags

#KT-48818 Fixed
2021-10-25 08:05:25 +00:00
Ilya Muradyan a22c8c8f2f [scripting] Fix script resolver options parsing
#KT-49400 Fixed
2021-10-25 04:15:35 +03:00
Ivan Kylchik 8a1362de03 [JS TESTS] Rewrite web demo tests using new test infrastructure 2021-10-25 00:14:21 +03:00
Dmitriy Novozhilov af0e40a0d2 [JS Test] Support RECOMPILE directive in js box tests in new infrastructure 2021-10-25 00:14:21 +03:00
Ivan Kylchik 13d3b7c0b8 [JS TESTS] Move generation of js tests to GenerateJsTests 2021-10-25 00:14:20 +03:00
Ivan Kylchik 225b064470 Implement new 'mix' test mode
This mode must be used when one configuration will run several tests
for different JUnit versions.
2021-10-25 00:14:20 +03:00
Ivan Kylchik a2d2ace71a [JS TESTS] Rewrite js tests using new test infrastructure 2021-10-25 00:14:20 +03:00
Ivan Kylchik 4deab9693e [JS TESTS] Remove LANGUAGE_VERSION directive
Some of them are not necessary at all, others can be replaced with
`!LANGUAGE` directive with exclusion of corresponding features.
2021-10-25 00:14:20 +03:00
Ivan Kylchik 9c3e93024b [JS TESTS] Explicitly specify module name for typescript-export tests 2021-10-25 00:14:19 +03:00
Ivan Kylchik 3e1563d46e [JS TESTS] Rename JS_TESTS module to main 2021-10-25 00:14:19 +03:00
Ivan Kylchik 32e6d3908d [JS TESTS] Move MODULE_KIND directive to module level 2021-10-25 00:14:19 +03:00
Ivan Kylchik aaab22a675 [JS TESTS] Move dependency modules higher than main in test files 2021-10-25 00:14:19 +03:00
Ivan Kylchik 2bea77d4e2 [JS TESTS] Replace - symbol in module name with _ 2021-10-25 00:14:19 +03:00
Ivan Kylchik 3cbeb08f79 [JS TESTS] Drop unused additionalCommonFileDirectories property 2021-10-25 00:14:19 +03:00
Ivan Kylchik 0d02b1d51c [TESTS] Remove ignore js backend directive from some tailRecursion tests
These tests were falling due to inserted diagnostics. New test
infrastructure can remove them before running test.
2021-10-25 00:14:19 +03:00
Ivan Kylchik f4bbcdc013 [TESTS] Move global directives outside file scope 2021-10-25 00:14:19 +03:00