Commit Graph

65005 Commits

Author SHA1 Message Date
Roman Artemev 8335ce8665 [IR] Fix to make K/N work 2020-05-12 14:29:53 +03:00
Roman Artemev aac4649845 [JS IR] Remove usage of LazyIr from JS 2020-05-12 14:29:53 +03:00
Roman Artemev 3d24665c0d [IR] Use ReferenceSymbolTable in BuiltinSymbolsBase 2020-05-12 14:29:53 +03:00
Roman Artemev 3c50b47333 [IR] Add new API into IrBuiltIns to access functional interfaces 2020-05-12 14:29:53 +03:00
Roman Artemev a477aa7289 [KLIB] Pass IrFunctionFactory from outside 2020-05-12 14:29:53 +03:00
Roman Artemev 318568636e [IR] Pass IrBuiltIns to BuiltinSymbolsBase 2020-05-12 14:29:53 +03:00
Roman Artemev da661e4db7 [IR BE] Remove usage of KotlinType from ir loop optimization 2020-05-12 14:29:53 +03:00
Roman Artemev c38ba45c1b [JVM IR] Fix jvm linker 2020-05-12 14:29:52 +03:00
Roman Artemev 5ea309d578 [PSi2IR] Generate synthetic declaration during psi2ir
- Make sure any declaration from currently generating module is bound.
 - Implement standalone declaration generator
2020-05-12 14:29:52 +03:00
Roman Artemev 66543131c2 [IR] Add referenceScript to SymbolTable 2020-05-12 14:29:52 +03:00
Pavel Kirpichenkov 003ba1c8f5 [NI] CST: add preemptive recursion detection
For single super type constructor create star projection argument when types for that argument are equal to the original types.
Captured star projections are replaced with their corresponding supertypes during this check.
Skip check for `in` parameters, for which recursive cst calculation does not happen.
Adjust constant in fallback recursion condition.

^KT-38544 Fixed
2020-05-12 11:13:43 +03:00
Ilya Muradyan 7cde9b4355 Add tests for analyze return type in REPL IDE services
also refactor existing tests infrastructure
2020-05-11 10:45:49 +02:00
Ilya Muradyan 8a1b44cc2b Add snippet result type to analysis output of REPL IDE services 2020-05-11 10:45:49 +02:00
Ilya Chernikov c496b93218 [minor] refactor repl API file layout 2020-05-11 10:45:48 +02:00
Dmitriy Novozhilov a47bab2466 [FIR] Fix build scripts for plugin prototype 2020-05-10 22:52:00 +03:00
Abduqodiri Qurbonzoda 0c7b04a495 Document fromIndex and toIndex parameters #KT-38388 2020-05-09 23:34:03 +03:00
Toshiaki Kameyama 3c1b41c020 Move statement: move into lambda correctly
#KT-17887 Fixed
2020-05-09 22:08:02 +02:00
Toshiaki Kameyama 19824201e2 Move statement: do not move into lambda beyond 'if/when/try/for/while'
#KT-9065 Fixed
2020-05-09 22:08:02 +02:00
Nikolay Krasko ee5ecb232a Long test execution on 201: remove repeating calls to startup activities (KTI-185)
Method was refactored in https://github.com/JetBrains/intellij-community/commit/735c98d153779997b208c2c600c07a12a79ad0de

 #KTI-185 Fixed
2020-05-09 22:12:16 +03:00
Jinseong Jeon fd584e6f13 FIR2IR: fix offsets for calls. 2020-05-09 21:11:40 +03:00
Victor Petukhov b49dc46e6c NI: improve reporting errors about mismatch number of anonymous function parameters 2020-05-09 12:34:08 +03:00
Victor Petukhov 585e98a835 NI: support inferring lambda receiver type by explicit receiver of anonymous function (which is another postponed argument) 2020-05-09 12:34:06 +03:00
Kirill Shmakov a590fe3d65 Wizard: Use simpler debug information settings 2020-05-08 23:23:52 +03:00
Nikolay Krasko 67fdc5db3b Update to 201.7223.91 (KT-38561)
#KT-38561 Fixed
2020-05-08 22:13:34 +03:00
Ilmir Usmanov d6d331de2a Minor. Fix test 2020-05-08 19:36:02 +02:00
Dmitriy Dolovov e92adf3d4e [Commonizer] Don't preserve annotations on types
This may lead to leakage of specific annotation classes to common module

^KMM-53
2020-05-08 23:52:24 +07:00
Dmitriy Dolovov 5bb5d7f892 [Commonizer] Limited annotation commonization. Tests
^KMM-238
^KMM-53
2020-05-08 23:52:17 +07:00
Dmitriy Dolovov 600daaa320 [Commonizer] Reformat tests 2020-05-08 23:52:10 +07:00
Dmitriy Dolovov 413e6552ef [Commonizer] Simplify creation of individual commonizers 2020-05-08 23:52:04 +07:00
Dmitriy Dolovov 735387b685 [Commonizer] Limited annotation commonization (@Deprecated for functions)
^KMM-238
^KMM-53
2020-05-08 23:51:58 +07:00
Dmitriy Dolovov be04fbd5bb [Commonizer] More accurate verification of annotations in tests 2020-05-08 23:51:52 +07:00
Dmitriy Dolovov ae570e4acf [Commonizer] Don't filter out @Deprecated non-top-level functions
^KMM-238
2020-05-08 23:51:46 +07:00
Svyatoslav Kuzmich 312072d6ce Revert accidental .idea/misc.xml change 2020-05-08 18:49:17 +03:00
Mikhail Glukhikh 1dd50ba1f2 [FIR] Use JvmGeneratorExtensions also from CLI 2020-05-08 17:57:55 +03:00
Jinseong Jeon eac9af521e [FIR2IR] differentiate external Java stub origin from external stub 2020-05-08 17:45:39 +03:00
Mikhail Glukhikh b271b6d7a8 [FIR2IR] Add conversion of value parameter annotations 2020-05-08 17:30:28 +03:00
Mikhail Glukhikh 76f6e27e37 [FIR2IR] Add initial support of collection literals 2020-05-08 17:30:24 +03:00
Mikhail Glukhikh f3e2dbf360 [FIR2IR] Add conversion of function annotations 2020-05-08 17:30:19 +03:00
Dmitry Gridin ad00d28631 TypingIndentation: add large test 2020-05-08 20:15:49 +07:00
Mikhail Zarechenskiy 36f6ccffde Add test for obsolete issue
#KT-38667 Obsolete
2020-05-08 15:42:43 +03:00
Alexander Udalov 91ef053fbc IR: keep local scope with counter maps across LDL invocations
Since LocalDeclarationsLowering is a BodyLoweringPass, local
functions inside one declaration are handled independently of local
functions in the other declaration. This can lead to name clashes, in
case a local function with the same name and signature is declared in
overloads in the same container, which results in a signature clash
error in JVM IR.

The issue became more common with the introduction of adapted function
references, where psi2ir generates a local adapter-function with a
predefined name, which can easily clash with another reference to the
same target in an overload. This led to a compilation error when
bootstrapping Kotlin with JVM IR, for example in GradleIRBuilder.kt
where there are a lot of references to the same function.
2020-05-08 14:33:34 +02:00
Dmitry Gridin 50506658c0 fix some tests for as36 2020-05-08 19:13:28 +07:00
Dmitriy Novozhilov ad09eb5416 [FIR] Add ability to rewrite attributes in FirDeclarationAttributes 2020-05-08 15:10:13 +03:00
Dmitriy Novozhilov 239837fd14 [FIR] Introduce FirDeclarationAttributes for FirDeclaration 2020-05-08 15:10:12 +03:00
Dmitriy Novozhilov b348ae689a [FIR] Introduce different implementations of ArrayMapOwner
- ComponentArrayOwner for services
- AttributeArrayOwner for attributes like userdata or type attributes
2020-05-08 15:10:12 +03:00
Dmitriy Novozhilov edd7d5b0b0 [FIR-TEST] Add tests of compiler plugin prototype to :firAllTest 2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov 959ecceaf7 [FIR-PLUGIN] Move fir plugin prototype out from :compiler module 2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov ab7613f6a4 [FIR-PLUGIN] Rename FirExtensionPoint to FirExtension 2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov 4eb9eb0537 [FIR] Rename FirExtensionPoint to FirExtension
Also rename `FirExtensionPointService` to `FirExtensionsService`
2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov a1e719a127 [FIR] Register extensions in CLI 2020-05-08 15:10:01 +03:00