Alexey Andreev
f42a15bc4f
Fix test data for light analysis test
2016-12-21 17:31:29 +03:00
Dmitry Petrov
8fe9de1d35
Generate toArray methods defined in classes inherited from collections as public even if they are declared with different visibility in Kotlin.
2016-12-21 10:50:17 +03:00
Alexey Andreev
eb5c79c70d
JS: support int overflow behaviour in augmented assignment
2016-12-20 15:47:38 +03:00
Alexey Andreev
c411a8febe
JS: update tests
2016-12-20 15:47:37 +03:00
Ilya Gorbunov
10f8e70322
Rename ClosedComparableRange to ClosedFloatingPointRange
2016-12-19 18:36:52 +03:00
Denis Zharkov
a1ac77d382
Support async iterator case with coroutines
...
Not all the `hasNext` operators return types is exactly Z,
suspend operators return boxed versions.
So the fix is just coercing result value after invoked function to Z
2016-12-19 11:07:33 +03:00
Denis Zharkov
5dbc04abbb
Refine returns codegen for suspend functions
...
This change should make the logic a bit more simple.
For all suspend functions/coroutines treat them in expression codegen
like they return boxed version of the original type.
Everything works fine then, except Unit type functions:
their bodies must be generated just like they're VOID and then load
Unit on stack manually.
2016-12-19 11:07:32 +03:00
Denis Zharkov
01ff975cc0
Minor. Update tests on coroutines
2016-12-16 13:27:11 +03:00
Alexander Udalov
49de52e7ef
Fix kotlinFunction for inline reified methods in reflection
...
Inline functions with reified type parameters are generated as private (see
AsmUtil.specialCaseVisibility), so we should treat them as "declared" in
reflection to look them up via getDeclaredMethod, not getMethod
#KT-14721 Fixed
2016-12-16 13:12:41 +03:00
Stanislav Erokhin
d7566d84d0
Fixed testdata.
2016-12-16 02:01:12 +03:00
Stanislav Erokhin
b527a4d158
Global rename in test data for coroutines
...
(cherry picked from commit 132f97b)
2016-12-15 23:58:26 +03:00
Alexey Andreev
e2d969d8b0
JS: implement new coroutine convention
2016-12-15 23:58:20 +03:00
Dmitry Petrov
9fd1ac72a9
Purge remaining traces of @AllowSuspendExtensions.
2016-12-15 23:58:19 +03:00
Denis Zharkov
845e116aa9
Update bytecodeText and bytecodeListing tests on coroutines
2016-12-15 23:58:00 +03:00
Denis Zharkov
8387d04425
Revert "Add special tests for interceptRun support"
...
This reverts commit 01c21e218a .
2016-12-15 23:57:59 +03:00
Denis Zharkov
7ffefb515f
Update test data for LightAnalysis/Coroutines
2016-12-15 23:57:58 +03:00
Stanislav Erokhin
e014fb7181
Added coroutine import to back-end test.
2016-12-15 23:57:52 +03:00
Stanislav Erokhin
7d1b883171
Replace @Suspend to suspend in box tests.
2016-12-15 23:57:50 +03:00
Denis Zharkov
6649f64e9f
Support new coroutine convention in JVM backend
2016-12-15 23:57:40 +03:00
Alexey Andreev
1bcb225afa
JS: fix translation of invoke convention call when it is declared as extension member inside class. See KT-15073
2016-12-15 19:53:37 +03:00
Alexey Andreev
c82f8213b0
JS: extract outer class reference as dispatchReceiver from ResolvedCall, to include it into UsageTracker mechanism. This allows to capture outer class of super class in local classes. See KT-13166
2016-12-15 19:05:34 +03:00
Alexey Andreev
87f4e53544
JS: when translating nested classes of local classes, capture closure variables via outermost local class. See KT-12566
2016-12-15 19:05:34 +03:00
Alexey Andreev
b50bfaf071
JS: add test to prove that KT-14419 is not more reproducible. Add test to prove that extension delegate with extension getValue is translated correctly.
2016-12-15 19:05:33 +03:00
Alexey Andreev
b21f906856
JS: add tests to prove that compiler does not optimize RTTI and safe calls based on type information. Remove corresponding optimization for !! operation. See KT-14033
2016-12-15 19:05:33 +03:00
Anton Bannykh
1957ac347a
JS: make enum valueOf() throw if not found.
2016-12-15 17:58:40 +03:00
Mikhail Zarechenskiy
5a829809d9
Add operator 'rem' as extension to BigInteger
...
#KT-14650 Fixed
Note that after this change behaviour of '%' on BigInteger is changed,
now it works like a proper remainder
2016-12-14 15:29:00 +03:00
Mikhael Bogdanov
268d55104c
Don't generate delegation to java default methods
...
#KT-15226 Fixed
2016-12-14 11:20:04 +01:00
Alexey Andreev
d9cf15a665
JS: deparenthesize LHS of assignment before choosing appropriate AccessTranslator. Fix KT-15169
2016-12-13 14:05:25 +03:00
Stanislav Erokhin
9dc9fb578f
Rename toDelegateFor to provideDelegate.
2016-12-12 23:14:07 +03:00
Alexey Andreev
a01fac9d10
JS: support toDelegateFor in JS backend (see KT-15163)
2016-12-12 23:14:05 +03:00
Mikhael Bogdanov
937a933150
Support local 'toDelegatedFor' properties
2016-12-12 23:14:02 +03:00
Mikhael Bogdanov
c5e14a2059
Some new tests for 'toDelegateFor'
2016-12-12 23:14:01 +03:00
Dmitry Petrov
97d5bbf1c2
toDelegateFor: JVM BE implementation
2016-12-12 23:13:59 +03:00
Dmitry Petrov
5ddf8e60e6
Use delegate initializer expression resolution scope for 'toDelegateFor' resolution.
2016-12-12 23:13:57 +03:00
Alexey Andreev
1db4765801
JS: unmute shared box test that now passes
2016-12-12 14:30:43 +03:00
Ilya Gorbunov
b3b2a5eb91
Update ranges codegen light-analysis testData.
2016-12-11 21:26:06 +03:00
Yan Zhulanow
2f50bd8c80
Minor: Fix light analysis tests (rebase to master)
2016-12-11 21:03:05 +03:00
Mikhail Zarechenskiy
97ca51381a
Gradual migration of operator 'mod' to 'rem'
...
- Introduce new 'rem' operator convention
- Prefer 'rem()' to 'mod()' when both are available, even if mod() is a
member, and rem() -- an extension
- Place operator 'rem' under the language feature
2016-12-09 16:43:35 +03:00
Alexey Andreev
cf25e17209
JS: add tests that emulates promises and wraps them in coroutines, using suspend functions outside of controller
2016-12-09 14:56:21 +03:00
Alexey Andreev
060f08a8dd
JS: add support of interceptResume function in coroutine controller
2016-12-09 14:56:20 +03:00
Alexey Andreev
9eff193ea4
JS: support stack unwinding convention in coroutines
2016-12-09 14:56:20 +03:00
Alexey Andreev
bf74400776
JS: re-enable coroutine tests for JS backend
2016-12-09 14:56:19 +03:00
Mikhael Bogdanov
18cb734c58
Do not mangle internal @PublishedApi functions
2016-12-09 11:55:16 +01:00
Mikhael Bogdanov
627dd66ed5
New ieee754 arithmetic, Fix for KT-14651: Floating point comparisons shall operate according to IEEE754
2016-12-09 09:48:46 +01:00
Mikhael Bogdanov
f9b40585cd
Partial fix for KT-14989: Missed null check for platform type
2016-12-09 09:46:38 +01:00
Ilya Gorbunov
d60fc7d9a8
Introduce ClosedComparableRange interface which inherits ClosedRange to provide special comparison operation for double and float.
2016-12-08 20:50:11 +03:00
Ilya Gorbunov
d91f3cba0b
Add additional invariant to check in Range.contains optimization tests.
...
Change expectations for double and float ranges according to #KT-4481
#KT-5044 #KT-4481
Custom 'rangeTo' might be unoptimized, but still 'in' should not diverge from 'contains'.
2016-12-08 20:47:25 +03:00
Alexey Andreev
68412ae94f
JS: replace all usages of @native annotation with external modifier, in tests, stdlib, etc
2016-12-08 15:41:39 +03:00
Alexander Udalov
c811c1bea5
Reflection: add KAnnotatedElement.findAnnotation
...
#KT-12250 Fixed
2016-12-07 21:45:24 +03:00
Mikhail Zarechenskiy
0134b8819b
Optimize const vals by inlining them at use sites
...
#KT-11734 Fixed
#KT-13570 Fixed
2016-12-05 22:11:33 +03:00