Commit Graph

86903 Commits

Author SHA1 Message Date
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
Ivan Kylchik 596cbdfb71 [TESTS] Remove jvm specific annotations from coroutine helpers 2021-10-25 00:14:18 +03:00
Ivan Kylchik 410a6e7ef8 [TESTS] Change pattern for module name
For now, it is allowed to use any characters, except for round brackets
and new line.
2021-10-25 00:14:18 +03:00
Tianyu Geng 8bec5cec61 FIR LL: fix KtDeclarationAndFirDeclarationEqualityChecker
1. Nullable function type is not rendered correctly.
2. Bounds of type parameters are not considered during comparison, this
   would incorrectly treat different declarations as the same, for
   example
   ```
   fun <C: List<String>> C.foo() {}
   fun <C: Set<String>> C.foo() {}
   ```
2021-10-23 15:33:32 +02:00
Tianyu Geng f23256bf49 FIR: filter out builtin symbols in JvmClassFileBasedSymbolProvider
These symbols are already provided by FirBuiltinSymbolProvider.
2021-10-23 15:33:31 +02:00
Tianyu Geng 5a1680ca3b FIR LL: fix resolving proerties in library
Property can be overloaded with different extension receiver type.
2021-10-23 15:33:31 +02:00
Dmitry Petrov b03c9b6fc6 JVM_IR additional tests for indy lambda serialization 2021-10-23 11:21:27 +03:00
Dmitry Petrov 6e9cbf52b1 JVM_IR make $deserializeLambda$ method synthetic 2021-10-23 11:21:26 +03:00