Commit Graph

55950 Commits

Author SHA1 Message Date
Nikolay Krasko ba2ca5ae3c Fallback to simple oocb when per-language trackers are disabled (KT-32364) 2019-07-02 14:00:11 +03:00
Nikolay Krasko f605d4e73b Revise per module out-of-code-block (KT-32364) 2019-07-02 13:59:35 +03:00
Nikolay Krasko 73eea6f4b6 Minor: rename file before refactoring 2019-07-02 13:59:21 +03:00
Nikolay Krasko 4f678c8289 Create project service with Kotlin trackers (KT-32364) 2019-07-02 13:59:19 +03:00
Nikolay Krasko 263d8eea16 Use Kotlin oocb instead of platform oocb tracker (KT-32364) 2019-07-02 13:59:06 +03:00
Nikolay Krasko 557ea54a9f Introduce Kotlin specific out-of-code-block tracker (KT-32364) 2019-07-02 13:59:04 +03:00
Nikolay Krasko 12bb1a5bd1 Make invalidateOnOOCB explicit in ResolverForProjectImpl and remove usage in tests 2019-07-02 13:45:35 +03:00
Nikolay Krasko b32b362810 Extract KotlinModuleModificationTracker to separate file 2019-07-02 13:45:35 +03:00
Nikolay Krasko 26c7eddb03 Move trackers to caches.trackers package 2019-07-02 13:45:35 +03:00
Nikolay Krasko 2ddcd9f0af Minor: cleanup and reformat KotlinCodeBlockModificationListener.kt 2019-07-02 13:45:35 +03:00
Vladimir Dolzhenko 2029d16062 Add add-imports performance tests
Add missed auto generated perf tests
2019-07-02 09:58:04 +03:00
Dmitry Gridin 57a732c247 Minor: fixes after review 2019-07-02 11:54:38 +07:00
Dmitry Gridin 9316f45a5c Optimize Imports: improve tooltip information
#KT-21374 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 074829bcea Import: IDE should import class from root package
#KT-21422 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 148eed2a12 ShortenReferences: fix false negative for object call chain
#KT-32320 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 33914a3a94 ImportMemberIntention: make more flexible based on caret position
#KT-31924 Fixed
2019-07-02 11:54:38 +07:00
Dmitriy Dolovov 6f2f60869c Minor: Don't create unnecessary PluginId instances
(to avoid PluginId cache pollution)
2019-07-02 10:49:43 +07:00
Anton Bannykh 208c8f9339 JS: fix bootstrap 2019-07-01 20:22:05 +03:00
Svyatoslav Kuzmich 69962cbf8c [JS IR BE] Add JsExport annotations 2019-07-01 18:55:41 +03:00
Svyatoslav Kuzmich 685597d20a [JS IR BE] Codegen class model refactorings
Reduce JsScope usage
2019-07-01 18:55:41 +03:00
Steven Schäfer e7a5e5b4a0 JVM_IR: Handle annotation KClass fields in external declarations 2019-07-01 16:16:23 +02:00
Steven Schäfer 1ab0b76af3 Minor: use more descriptive argument name 2019-07-01 15:49:12 +02:00
Steven Schäfer 078ccbf077 JVM_IR: Implement name mangling exceptions for Result class. 2019-07-01 15:49:12 +02:00
Steven Schäfer d458e4a7b2 JVM_IR: Enable inlining for external declarations with inline class parameters. 2019-07-01 15:49:12 +02:00
Natalia Selezneva da86ef8454 Fix tests for long command line: create folder instead of file
Compiler doesn't allow files as classpath roots
2019-07-01 16:41:56 +03:00
Natalia Selezneva 30222582f4 Scratch tests: print test output at onFinish to avoid multiple calls of invokeLater
Multiple calls of invokeLater significantly affects test speed
2019-07-01 16:41:56 +03:00
Natalia Selezneva 85f07927c9 Minor: check output with errors in scratch tests 2019-07-01 16:41:55 +03:00
Natalia Selezneva 784cc17d21 Do not use deprecated UIUtil.invokeLaterIfNeeded. Use TransactionGuard instead 2019-07-01 16:41:55 +03:00
Natalia Selezneva 63246f57d2 Scripts: drop sdk caches on project root change event
Otherwise old invalid roots may be saved
2019-07-01 16:41:55 +03:00
Natalia Selezneva d981135c4b Scratch: finish execution if no new lines was executed
^KT-32062
2019-07-01 16:41:55 +03:00
Leonid Startsev 7ef9fb5511 Export deserialization constructor from JS module
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/443
2019-07-01 14:56:10 +03:00
Mark Punzalan 969478481e Move extension receiver to value parameters for static functions created
during InlineClassLowering phase.

This was the only place where both dispatch and extension receivers were
NOT moved to value parameters, which meant that the receivers were not
following the conventional ordering.

Merged createStaticBodilessMethod with createStaticFunctionWithReceivers
and the latter was moved to backend/common/ir/IrUtils.kt.
2019-07-01 13:24:08 +02:00
Mark Punzalan 1abdf0561a Generate synthetic functions for local functions with default values, by
re-ordering the lowering phases.

The changes in InterfaceLowering are necessary so that IrElements that
target the removed functions are re-targeted to the new functions in
DefaultImpls. This affects local functions in interface functions since
now LocalDeclarationsLowering comes before InterfaceLowering.
2019-07-01 13:24:08 +02:00
Vyacheslav Gerasimov d2f1852c5e Build: Upgrade gradle to 5.4.1 2019-07-01 14:14:55 +03:00
Alexey Tsvetkov ffa191d91d Fix filling Main-Class attribute in manifest file of output jar
Before 5b7cee6221 JVM CLI compiler
was calling `KotlinToJVMBytecodeCompiler.compileBunchOfSources`.
`compileBunchOfSources` detected possible main classes,
and filled the Main-Class attribute in output jar
if if there was only one candidate.

After the change JVM CLI began calling
`KotlinToJVMBytecodeCompiler.compileModules`, which was not searching for a main class.

This change adds searching for main classes to `compileModules`.
We search for a main class only when one module is compiled,
and an output is written a jar file (so the change only affects JVM CLI compilation).

    #KT-32272 Fixed
2019-07-01 13:57:04 +03:00
Mikhail Zarechenskiy 515e666733 [NI] Fix exception on incomplete try/catch block
There was an inconsistency on creating PSI call and corresponding
 descriptor. See variable `catchBlocks` from visitor, it's created
 only if PSI elements are not null, but for descriptor parameters
 there wasn't such check

 #KT-32134 Fixed
 #EA-139748 Fixed
2019-07-01 12:59:37 +03:00
Mikhail Zarechenskiy 42a5c488c1 [NI] Fix OnlyInputTypes annotation support for top-level captured types
#KT-32157 Fixed
 #KT-32116 Fixed
 #KT-32235 Fixed
 #KT-32218 Fixed
2019-07-01 12:59:35 +03:00
Mikhail Zarechenskiy c2cf4aa2b5 [NI] Move ability to convert standalone SAM-argument under the feature
If new inference is enabled only for IDE analysis, then this feature
 will be disabled to reduce difference between new and old inference,
 but if new inference is enabled in the compiler, then this feature
 will be enabled too to preserve behavior of new inference for
 compilation

 #KT-32175 Fixed
 #KT-32143 Fixed
 #KT-32123 Fixed
 #KT-32230 Fixed
2019-07-01 12:53:33 +03:00
Mikhael Bogdanov 4d82b02f83 Properly set parent inside copied bodies 2019-07-01 07:56:32 +02:00
Toshiaki Kameyama 3a77b63c85 Completion: don't propose the same name for arguments of lambda (KT-9792)
#KT-9792 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama c442d69db6 Extend selection: select just KDoc if cursor is just before the KDoc (KT-16476)
#KT-16476 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama 8afa938723 Extend selection: select escaped identifier name without backticks (KT-31499)
#KT-31499 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama 9b04af9968 Complete statment for function call: fix wrong right parenthesis place (KT-31595)
#KT-31595 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama bd661fcf82 Method sepatators: separate single-expression functions (KT-30782)
#KT-30782 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama ade51588f9 Insert paired brackets: insert space after right brace of nested lambda (KT-28098)
#KT-28098 Fixed
2019-06-29 20:36:54 +03:00
Toshiaki Kameyama 49d6bbbd6b Quick doc: fix missing line break for enum constant (KT-30985)
#KT-30985 Fixed
2019-06-29 20:36:54 +03:00
Georgy Bronnikov f332aff4ce Mute back tests that still fail 2019-06-28 19:44:04 +03:00
Georgy Bronnikov 3a9b94235f JVM_IR: generate facade classes for imported toplevel declarations 2019-06-28 17:34:49 +03:00
Sergey Rostov bb0f467f63 Gradle, JS: don't project.getTasksByName inside task realization callback
Or project evaluation would be called

#KT-32072 Fixed
2019-06-28 15:28:21 +03:00
Anton Bannykh fadeac083f JS: fix reified T::class for primitive T (e.g. Int) (KT-32215 fixed) 2019-06-28 13:49:22 +03:00