Commit Graph

35327 Commits

Author SHA1 Message Date
Alexey Andreev d2fdc7ffc0 JS: when both clauses of if become empty during optimization, remove if entirely. Make condition and then clause of JsIf non-nullable. Fix #KT-13912 2016-11-17 12:20:37 +03:00
Alexey Andreev b5358122e2 JS: unmute shared box tests 2016-11-16 19:50:10 +03:00
Alexey Andreev e2dc7ba37e JS: coroutines: fixes after code review 2016-11-16 19:29:39 +03:00
Alexey Andreev 43525abda3 JS: don't treat return, break and continue as split points when possible 2016-11-16 19:29:38 +03:00
Alexey Andreev 14729b0f0e JS: fix exception handling in coroutines when initializing via resumeWithException 2016-11-16 19:29:38 +03:00
Alexey Andreev bb61fb0a91 JS: refactor coroutine transformer 2016-11-16 19:29:37 +03:00
Alexey Andreev d41d09ffc4 JS: add metadata for generated continuation classes to properly implement RTTI 2016-11-16 19:29:37 +03:00
Alexey Andreev 6860b2c057 JS: prevent generation of excessive updates of state fields 2016-11-16 19:29:36 +03:00
Alexey Andreev 4c0eb8fc31 JS: prevent generation of excessive this.$result statements in coroutines 2016-11-16 19:29:36 +03:00
Alexey Andreev 2d315c3df8 JS: coroutines: fix translation of try/finally block without catch 2016-11-16 19:29:35 +03:00
Alexey Andreev 0015f7518e JS: improve dead code elimination to handle switch case bodies 2016-11-16 19:29:35 +03:00
Alexey Andreev 22aea1cf12 JS: fix translation of return statement surrounded by finally block. Temporarily suppress corresponding test case for JVM backend 2016-11-16 19:29:34 +03:00
Alexey Andreev eae0ceed86 JS: add coroutines tests 2016-11-16 19:29:34 +03:00
Alexey Andreev 2cc299fb40 JS: refactor coroutines to support inlining of suspend functions 2016-11-16 19:29:34 +03:00
Alexey Andreev e56d735723 JS: refactor how last argument to suspend call is substituted 2016-11-16 19:29:33 +03:00
Alexey Andreev 050a1e782e JS: fix translation of call to suspend function with optional parameters 2016-11-16 19:29:33 +03:00
Alexey Andreev 3e436d42bf JS: allow to call non-suspend controller functions from coroutine lambda 2016-11-16 19:29:32 +03:00
Alexey Andreev e7f044be92 JS: enable coroutine tests that don't enter infinite loop anymore 2016-11-16 19:29:32 +03:00
Alexey Andreev d5a808dff6 JS: implementing try/finally in coroutines 2016-11-16 19:29:31 +03:00
Alexey Andreev 23bddac4fe JS: fix translation of catch blocks so that all references to exception variable are referentially equivalent to each other 2016-11-16 19:29:31 +03:00
Alexey Andreev 674e5df7f1 JS: make coroutine tests cross-platform 2016-11-16 19:29:30 +03:00
Alexey Andreev c5999e8375 JS: prototyping coroutines 2016-11-16 19:29:27 +03:00
Alexander Udalov be8b1b7dfd Exclude org.jetbrains.kotlin.container.** from proguard
To mitigate #KT-14824
2016-11-16 19:07:03 +03:00
Ilya Gorbunov 4769ed5f79 Fix imports in tests: do not use java.util.* stuff 2016-11-16 18:47:42 +03:00
Ilya Gorbunov ae903e9ce7 QuickDocNavigationTest: use stdlib members instead of JDK ones. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov 8f3e6f38ed Select runtime with directive in test data file instead of test name in PsiChecker tests 2016-11-16 18:47:42 +03:00
Ilya Gorbunov d103657e07 Fix JS completion tests: remove unneeded imports, take care about type aliases looking different in completion. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov e787930673 Fix completion handler tests: use tail specifier to select one of multiple completion variants (eg 'kotlin.collections.ArrayList' vs 'java.util.ArrayList').
Replace aliased types imported by default with something else.
2016-11-16 18:47:42 +03:00
Ilya Gorbunov a62cda8365 Replace types that are imported by default via typealiases such as java.util.ArrayList with something else as it conflicts now with kotlin.collections.ArrayList and has to imported explicitly. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov b7e2649b91 Tests: ArrayList is now available by default, so change the type being imported.
Improve test to ensure it's found before removing import directive.
2016-11-16 18:47:42 +03:00
Ilya Gorbunov daac46bce5 Fix rendering in test output after introducing type aliases for the types used in those tests. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov ed3c54dbd0 Include new type aliases into mock runtime. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov b556adf8db Move/alias Appendable and StringBuilder to kotlin.text
#KT-2084
2016-11-16 18:47:42 +03:00
Ilya Gorbunov 5c2fe13a89 Refer to java.util.Arrays fully-qualified in generated code 2016-11-16 18:47:42 +03:00
Ilya Gorbunov fae5c88f22 Remove java.util references from the common code 2016-11-16 18:47:42 +03:00
Ilya Gorbunov 63535393e7 Move Comparator to kotlin.comparisons and make it imported by default.
#KT-2084
2016-11-16 18:47:42 +03:00
Ilya Gorbunov 090bd76ac9 Introduce type aliases for jvm collections in kotlin.collections
#KT-2084
2016-11-16 18:47:42 +03:00
Stanislav Erokhin 3d7d6e4204 Fix EA-86841 and EA-79267.
(cherry picked from commit fcf9bfd)
2016-11-16 18:13:05 +03:00
Vyacheslav Gerasimov c6d668e243 Fixed "should not analyze element" problem with destructuring declarations in uast 2016-11-16 18:05:31 +03:00
Vyacheslav Gerasimov 55f14ba8c0 Fixed method parameter default value processing in uast 2016-11-16 18:05:22 +03:00
Vyacheslav Gerasimov d90ec3e777 Fixed KotlinLintTestGenerated.testJavaPerformance + refactoring
Moved android lint tests from uast-kotlin to idea-android
2016-11-16 18:05:09 +03:00
Alexander Udalov 3d75b78dc5 Use IOUtil instead of DataOutput for readUTF/writeUTF in file based index
It uses less space and also may be a little bit faster
2016-11-16 16:30:34 +03:00
Natalia Ukhorskaya 0fb5a18a26 Debugger: refactor smart step into to use descriptors instead of psi elements (KT-13485)
#KT-13485 Fixed
2016-11-16 15:20:00 +03:00
Dmitry Petrov f7203da2d6 Type inference SHOULD NOT work for type alias constructor in supertypes list
(same as for classes: type arguments should be provided explicitly).
2016-11-16 14:11:14 +03:00
Dmitry Petrov cd8b5dcb00 Constructors for inner type aliases: add a failing test (no way to invoke such constructor at the moment). 2016-11-16 14:11:14 +03:00
Dmitry Petrov 718e8ebf9e Inner type aliases.
Type alias is considered "inner" if it captures outer class type parameters (implicitly or explicitly).
2016-11-16 14:11:14 +03:00
Mikhael Bogdanov 63fed20249 Fix VerifyError on android with 'inv' operation on Byte and Short 2016-11-16 09:42:26 +01:00
Dmitry Jemerov 5b44343d15 Fix compilation: add required transitive dependency 2016-11-15 22:05:35 +01:00
Zalim Bashorov eda8749b91 Mute without checks all diagnostic tests for tailrec since it's not supported in JS yet and it takes too much time when muted with checks 2016-11-15 22:11:09 +03:00
Zalim Bashorov bde9f99d7c Unmute already worked tests and regenerate tests 2016-11-15 22:11:09 +03:00