Commit Graph

57266 Commits

Author SHA1 Message Date
Dmitriy Novozhilov fc43c8a74b [FIR] Add inlining of control flow graphs of in-place anonymous functions 2019-09-02 10:43:08 +03:00
Dmitriy Novozhilov e72d8e675a [FIR] Add invocation kind to anonymous functions 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov e937e4b261 [FIR] Add bound smartcasts 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov e6c04c0454 [FIR] hold one-to-one mapping for data flow variable and Fir 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov bda8c7ee1c [FIR] Fix smartcasts on when subject 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov 200c13baf5 [FIR] Add tests for smartcasts 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov 7a81c37f5c [FIR] Fix building cfg for binary or 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov 2d3e9fe539 [FIR] Add creating simple type for type parameters symbols 2019-09-02 10:43:07 +03:00
Mikhail Glukhikh b1731749c0 Add failing test for smart-cast branch 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov b4a4d4d709 [FIR] Add renderer to .dot for control flow graph tests 2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov 2e501e0f97 [FIR] Implement Data Flow Analysis 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 216b9ad933 [FIR] Add logic system for data flow analysis 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 6e0f4f140f [FIR] Minor. Add set of type operations to FirOperation 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 6b4e95ec52 [FIR] Add tests for control flow graph building 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov fc982cc7e8 [FIR] Add data flow analyzer that delegates to CFG builder 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 9f0781c9de [FIR] Add references to control flow graph to FirFunction and FirProperty
Also add updating CFG references anfter data flow analyzer builds graph
That graph is needed for further control flow analysis
2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 56ac1201b6 [FIR] Add abstract data flow analyzer with callbacks for body resolve transformer 2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov dcfc75a58f [FIR] Add control flow graph and infrastructure for building it
For some of language constructions cfg is dummy (e.g. for finally blocks
  or anonymous initializers)
2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov 198599f3c7 [FIR] Add builtins types to FirSession 2019-09-02 10:43:05 +03:00
Dmitriy Novozhilov 7d4c635e85 [FIR] Minor. Add util functions for checks that type is builtin 2019-09-02 10:43:05 +03:00
Dmitriy Novozhilov 38fa0122e8 [FIR] Add synthetic else branch to when if it's missing
This change is needed for correct work of data flow, because for
  non-exhaustive when there is a else branch in terms of control flow
  graph.

This change leads to some errors when when is actually exhaustive, but
  we still add else branch. Those errors will be gone when exhaustive
  checker will be introduced
2019-09-02 10:43:05 +03:00
Anton Yalyshev e904e638e9 LookupCancelWatcher bunches update 2019-09-01 08:22:40 +03:00
Anton Yalyshev 7b769b74a1 Add bunches for AS ans 183 2019-09-01 08:22:39 +03:00
Anton Yalyshev a962dd7155 Add a bunch for as33 2019-09-01 08:22:38 +03:00
Anton Yalyshev fa1a558b76 Exclude logging in case of non-kotlin files 2019-09-01 08:22:37 +03:00
Anton Yalyshev cd78f3d9d7 Add finish_reason and invocation_count to context 2019-09-01 08:22:36 +03:00
Anton Yalyshev 3926b91bb1 Add window appearance time. Fix final context data structure. 2019-09-01 08:22:34 +03:00
Anton Yalyshev 7afa75e802 Set event context structure 2019-09-01 08:22:33 +03:00
Anton Yalyshev e99395e548 Register FUS collector for Code Completion 2019-09-01 08:22:03 +03:00
Alexander Podkhalyuzin ac7c89b3b5 Completions stats physical part, collector part left
#KT-33090 Comment
2019-09-01 08:19:35 +03:00
Nikolay Krasko edd2cedfd3 Disable GradleConfiguratorPlatformSpecificTest in AS 3.6 2019-08-30 22:26:00 +03:00
Nikolay Krasko 5fa2b62de4 Fix test failures in AS 3.6 because of InjectedLanguageManager (KT-33606)
Advance android studio to 3.6 Canary 8 where problem with
InjectedLanguageManager is already fixed.
2019-08-30 22:26:00 +03:00
Nikolay Krasko c0270ef47b More plugins registration for Android Studio 3.6 2019-08-30 22:26:00 +03:00
Nikolay Krasko e28802fbfa Fix test failure because of duplicates file templates in classpath
There're two ways for getting templates in test runtime. One is from
sources resource files, the second one is from compiled jar.

Remove the first entry manually.

A better fix is to extract tests to separate module. This will leave
only jar in the test runtime classpath.
2019-08-30 22:25:59 +03:00
Igor Yakovlev 0eea2479fc Added possibility to override Path Chooser for MoveKotlinNestedClassesToUpperLevelModel 2019-08-30 20:59:53 +03:00
Simon Ogorodnik 99972a08a1 [FIR] Fix table rendering 2019-08-30 16:51:25 +03:00
Simon Ogorodnik 438c90b477 Silence fir bench output for diagnostic smoke tests 2019-08-30 16:32:48 +03:00
Simon Ogorodnik 312e93859b Add more info to fir bench report & format as table
Properly measure raw fir builder time in fir benchmark
2019-08-30 16:32:48 +03:00
Vladimir Krivosheev dca88db16a remove unused org.jetbrains.kotlin.idea.inspections.gradle.KotlinPlatformGradleDetector EP
Not required after https://github.com/JetBrains/kotlin/commit/cc85ac44b30efbee2aff6664b30249fac931344b

Leads to warning in IDEA 2019.3
2019-08-30 16:15:27 +03:00
Igor Yakovlev 02a6a1ea49 Fix ExtractDeclarationFromCurrentFileIntention assertion
Refactorings should be invoked inside transaction 'exception occurs when extracting sealed class from file with the same name assertion failed when refactoring tries to use MoveKotlinTopLevelDeclarationsDialog
+ move refactorings
+ small improvement of applicability range calculation

Fixed #KT-33357
2019-08-30 14:31:34 +03:00
Svyatoslav Kuzmich 9594e9b3b1 [JS IR BE] Initial export generation 2019-08-30 13:15:37 +03:00
Svyatoslav Kuzmich 6670180782 [JS IR BE] Use internal visibility for generated helper methods 2019-08-30 13:15:37 +03:00
Vasily Levchenko 22c53e14e6 [IR][inliner] fixed occasional endless recursion in InlinerExpressionLocationHint::toString 2019-08-30 12:23:18 +03:00
Nikolay Krasko 8218ca5bae More 182 branch mentioning remove
#KT-33536 Fixed
2019-08-30 12:14:58 +03:00
Nikolay Krasko 8ae4293a0f Remove 181 branch from build scripts
#KT-33536 Fixed
2019-08-30 12:14:54 +03:00
Nikolay Krasko 0ae9240e5f Remove 182 and AS33 from build scripts
#KT-33536 Fixed
2019-08-30 12:14:50 +03:00
Nikolay Krasko 51cfafc619 Minor: advance comment
#KT-33536 Fixed
2019-08-30 12:14:46 +03:00
Nikolay Krasko 3989f5244f Minor: Fix comment about absent method
#KT-33536 Fixed
2019-08-30 12:14:42 +03:00
Nikolay Krasko d04749dd3f Remove other specific code after removing 182
#KT-33536 Fixed
2019-08-30 12:14:38 +03:00
Nikolay Krasko 63f0eae7e2 Remove CodeStyleSettingsProviderCompat.java after removing 182
#KT-33536 Fixed
2019-08-30 12:14:34 +03:00