Denis Zharkov
00a70c51f0
FIR: Generate fake overrides always if there are type parameters
...
See the comment
2019-11-27 11:20:52 +03:00
Denis Zharkov
8efd59403d
FIR: Avoid redundant substitution when type parameters don't change
2019-11-27 11:20:52 +03:00
Denis Zharkov
07a4352809
FIR: Add hack for Fir2IrVisitor
...
See the comment
2019-11-27 11:20:52 +03:00
Denis Zharkov
3b7ad066fc
FIR: Substitute type alias constructors properly
2019-11-27 11:20:52 +03:00
Denis Zharkov
f68929fe74
FIR: Leave functions type parameters in subsituting scope
2019-11-27 11:20:52 +03:00
Denis Zharkov
b5ef063b0f
FIR: Cache functions in use-site member scope
2019-11-27 11:20:52 +03:00
Denis Zharkov
f659dc0bea
FIR: Add synthetic values/valueOf methods to Java classes
2019-11-27 11:20:52 +03:00
Denis Zharkov
256f5ca0a1
FIR: Support inherited default parameters
2019-11-27 11:20:52 +03:00
Natalia Selezneva
c9cb4dff52
Scripting: introduce ide-specific comparision of script compilation configurations (KT-34626)
...
Do not take into account fields that doesn't affect IDE
Also it will threat configurations from old and new scripting API as similar
FIt will make sense for script dependencies loaded using Gradle TAPI (new Scripting API) and Old Scripting API
^KT-34626
2019-11-27 11:08:45 +03:00
Natalia Selezneva
07b6dadbf0
Scripting: move additional classpath to the end of script classpath (KT-34626)
...
Do not add duplicated entries
Original script dependencies should go first
2019-11-27 11:08:44 +03:00
Natalia Selezneva
72e99b5863
Scripting: avoid just in case configuration requests to Gradle (KT-34442)
...
Listen to changes in files that may affect gradle configuration
Remove configuration request if none of such file was changed since last request
^KT-34442 Fixed
2019-11-27 11:08:44 +03:00
Natalia Selezneva
f27e13035a
Minor: introduce helper method to check registry option
2019-11-27 11:08:44 +03:00
Natalia Selezneva
7ade2ec576
Scripting: configurations from gradle import should be always taken into account (KT-34442)
...
Do not rely on registry option
^KT-34442
2019-11-27 11:08:44 +03:00
Natalia Selezneva
2f1915d85e
Scripting: check that kotlin dsl models are provided during import as soon as possible
2019-11-27 11:08:44 +03:00
Dmitry Gridin
249789d6eb
Formatter: add test for enum entry with comment
...
Relates to #KT-15980
2019-11-27 15:01:44 +07:00
Roman Artemev
97c8b2074e
[JS] Set correct EXPECTED_REACHABLE_NODES
2019-11-27 00:06:42 +03:00
Igor Yakovlev
12f29bacab
Exclude checking for unimplemented method for binary origin classes
...
Fixed #KT-34971
2019-11-26 21:13:10 +03:00
Mads Ager
8d5e5210a6
JVM_IR: Copy annotations to suspend function views.
2019-11-26 21:00:50 +03:00
Nicolay Mitropolsky
3d1061ee3c
Uast: KotlinUMethodWithFakeLightDelegate 183-related fixes
2019-11-26 19:42:30 +03:00
Nicolay Mitropolsky
c5fb51bd85
191: Uast: KotlinUMethod compilation fix
2019-11-26 19:42:29 +03:00
Leonid Startsev
19c28c55c5
Allow serialization plugin to work with inline types which are primitives (e.g. Char in JS IR)
2019-11-26 19:34:49 +03:00
Leonid Startsev
ed786c4daf
Enable compiler plugins in JS IR backend (and WASM too, since they use same loadIr function)
2019-11-26 19:34:48 +03:00
Jiaxiang Chen
0441e484a6
PSI2IR: For implicit function return, use expression's end offset as start offset of the IrReturn to generarate correct line number.
2019-11-26 17:59:28 +03:00
Jiaxiang Chen
e49431a12c
Debug information test: make stepping information more readable.
2019-11-26 17:59:28 +03:00
Jiaxiang Chen
331b085b2f
JVM_IR: Fix line number for catch clause.
2019-11-26 17:59:28 +03:00
Jiaxiang Chen
3ea878b1c6
JVM_IR: Fix line number for varible initializer
2019-11-26 17:59:28 +03:00
Natalia Selezneva
8bb9c572ac
Move inProgress lock at the onFinish of background task (KT-34688)
...
Setting inProgress to false inside run method can lead to multiple notifications because of delay between run method end and progress hide
^KT-34688 Fixed
2019-11-26 16:35:59 +03:00
Ilya Goncharov
ad09492eb0
[Gradle, JS] Migrate on only name-version npm dependencies
...
#KT-32179 fixed
2019-11-26 16:05:17 +03:00
Ilya Goncharov
95b56e10b4
[Gradle, JS] Activate root npm dependency declaration for multiplatform
2019-11-26 16:04:37 +03:00
Ilya Goncharov
5397023f71
[Gradle, JS] Add Groovy Closure support
2019-11-26 16:04:37 +03:00
Ilya Goncharov
028c73d959
[Gradle, JS] Add compatible operators for npm dependencies
2019-11-26 16:04:37 +03:00
Ilya Goncharov
26cd392a9a
[Gradle, JS] First steps for npm dependencies in root
2019-11-26 16:04:37 +03:00
Ilya Goncharov
f73fc5199b
[Gradle, JS] Mute testWeb false positive test
2019-11-26 16:03:26 +03:00
Ilya Goncharov
be5b8c1bdb
[Gradle, JS] Mute false positive test for MPP JS-JVM
2019-11-26 16:03:26 +03:00
Dmitry Gridin
b40a888f1d
Formatter: fix line break between declarations with annotations
...
#KT-35093 Fixed
#KT-35106 Fixed
2019-11-26 19:40:51 +07:00
Dmitry Gridin
bfd539d5d1
Formatter: fix line break between declarations with comment
...
#KT-12490 Fixed
#KT-35088 Fixed
2019-11-26 19:40:51 +07:00
Dmitry Gridin
b6b755506c
Formatter: support Chop down if long for Chained method calls
...
#KT-23929 Fixed
#KT-33553 Fixed
2019-11-26 19:40:51 +07:00
Dmitry Gridin
351fef5628
DoubleBangToIfIntention: fix invalid psi tree
2019-11-26 19:40:50 +07:00
Svyatoslav Kuzmich
f48ad25626
Advance bootstrap to 1.3.70-dev-1806
...
Due to updated K/JS klib ABI
(cherry picked from commit bffbe89f53 )
2019-11-26 15:39:28 +03:00
Nikolay Krasko
8185c452fe
Ignore jarRepositories.xml
2019-11-26 15:39:28 +03:00
Nikolay Krasko
13b0054e0a
Fix compilation for service messages tests in 193 branch
2019-11-26 15:39:28 +03:00
Nikolay Krasko
89f26cc89d
Minor: Make diff function for AbstractKotlinFoldingTest
...
~true~ and ~false~ cases left unresolved
2019-11-26 15:39:27 +03:00
Nikolay Krasko
5d6333f0f4
193: Better services registration for parser tests
2019-11-26 15:39:27 +03:00
Leonid Startsev
3d2800f99b
Move out symbols that do not depend on a BackendContext to a separate BuiltinSymbolsBase class.
...
The goal was to be able to use such symbols before BackendContext is even created – in psi2ir postprocessing step (i.e., IR compiler plugins).
Remove old code from serialization ir plugin.
2019-11-26 15:26:35 +03:00
Leonid Startsev
3e18350a1f
Rewrite IR plugin infrastructure (and serialization plugin) so it won't emit LazyIR.
...
LazyIR was emitted because plugin was not able to declare symbols, only to reference them.
Moreover, declarations added by frontend plugin were also unbound symbols produced by psi2ir,
and declaration stub generator was stubbing them with LazyIR – therefore access to global symbol table is not enough for plugins. IrProvider won't help here, because some functions produced by plugin have circular dependencies.
By moving compiler plugins step between psi2ir and declaration stub generator, both problems are resolved
– unbound symbols produced by psi2ir and compiler plugins are declared where they would be declared if this was a user code,
and only unbound symbols left are external dependencies, which is a correct input for lazy ir.
2019-11-26 15:26:28 +03:00
Nicolay Mitropolsky
e4d0d450ab
Uast: keeping annotations from sources in non-light-methods backed UMethods (KT-27806)
2019-11-26 15:13:40 +03:00
Nicolay Mitropolsky
833571d8b2
Uast: tests for suspend and DeprecationLevel.HIDDEN functions appears in Uast tree (KT-27806, KT-32031)
2019-11-26 15:13:40 +03:00
Nicolay Mitropolsky
2772659ed2
Uast: Uast produces reified methods on his own because light-classes doesn't (KT-34316)
2019-11-26 15:13:40 +03:00
Nicolay Mitropolsky
9c18df61ca
Uast: KotlinUMethod and KotlinUAnnotationMethod are separated (KT-30489)
2019-11-26 15:13:40 +03:00
Anton Bannykh
9fec2c78d1
JS IR: apply forLoopsLowering
...
Replaced createTemporaryVariable usages with createTmpVariables.
The latter doesn't rely on KotlinType's. Using KotlinType with
JS_IR backend causes runtime excpetions, as some expected descriptor
API is not implemented, because it avoids descriptors as much as
possible.
2019-11-26 15:08:10 +03:00