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
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
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
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
Alexey Andreev
784fe31053
JS: fix translation of calls with aliased labeled lambda arguments. Fix KT-14999
2016-12-05 09:19:06 +03:00
Denis Zharkov
b8e1ce7a05
Report error on non-tail suspend-calls
...
It only concerns calls inside another suspend function
#KT-14924 In Progress
2016-12-01 10:11:37 +03:00
Denis Zharkov
fcd9ee037e
Support coroutines stack-unwinding in JVM backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Denis Zharkov
27e4caf046
Temporary disable coroutine tests in JS backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Denis Zharkov
1f98accad2
Support new suspend convention in JVM backend partially
...
Stack-unwinding does not work yet
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Anton Bannykh
159df7964a
JS: bound callable references (KT-13573).
2016-11-28 16:33:58 +03:00
Dmitry Petrov
3d2696c81b
KT-13440 Bound callable references in reflection
2016-11-25 16:11:18 +03:00
Dmitry Petrov
5879e201cd
Proper equality comparison for bound callable references represented as reflection objects
...
(including references to property accessors).
2016-11-25 14:49:24 +03:00
Dmitry Petrov
3dd0c9d1c7
Equality comparison for bound callable references takes into account bound receiver.
...
Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.
TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
2016-11-25 14:49:24 +03:00
Alexey Andreev
66c78be10f
JS: don't optimize RTTI when possible, i.e. don't remove is and as when object is known at compile time to have type in RHS of expression. Substitute kotlin.Any with Object. Fix #KT-7665, #KT-7664
2016-11-25 14:08:13 +03:00
Alexey Andreev
23428c9544
JS: fix coroutine test. Fix hanging IDEA tests
2016-11-23 17:01:03 +03:00
Alexey Andreev
40e00a62f5
JS: fix translation of augmented assignment when RHS changes value of LHS
2016-11-23 12:19:03 +03:00
Alexey Andreev
dc8e90809c
JS: coroutines: fix handling of throw statement inside try/catch block when controller has handleSuspend function
2016-11-23 12:19:02 +03:00
Alexey Andreev
e44edf12e0
JS: coroutines: fix inlining of suspend functions
2016-11-23 12:13:54 +03:00
Denis Zharkov
01c21e218a
Add special tests for interceptRun support
...
Basically they're built upon basic coroutine tests, but for each of them
different interceptResume implementation are injected
(currently there are 12 of them).
It might be more simple just to generated additional testData, but I see this
more problematic in a sense of further maintenance
Note that all tests add idempotent 'interceptRun' operators,
which just execute given lambda in the current thread
#KT-14891 Fixed
2016-11-22 14:33:40 +03:00
Ilya Gorbunov
49756a897e
Just refactor tests that require further investigation
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
62fe89b536
Make several tests running on JS backend.
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
0899a0fdda
Make some tests JVM only
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
38840bb529
Do not reference java.util in tests that run on JS backend.
2016-11-21 18:20:33 +03:00
Dmitry Petrov
d665193c20
Type alias constructors for inner classes in expressions ans supertype lists.
2016-11-21 10:25:51 +03:00
Dmitry Petrov
4c47d77a9f
Report error on non-top-level type aliases (unsupported in 1.1).
...
Get rid of nested type aliases in project.
2016-11-21 10:25:51 +03:00
Anton Bannykh
2f0bccfb09
JS: chained reified function calls (KT-12527) fixed
2016-11-18 13:48:16 +03:00
Dmitry Jemerov
d3ccbe8172
Generate correct varargs flag for @JvmOverloads-generated methods
...
#KT-14186 Fixed
2016-11-18 11:04:59 +01:00
Dmitry Jemerov
16a133bf5c
Generate default constructor also for private classes when all parameters have default values
...
#KT-14408 Fixed
2016-11-18 11:04:51 +01:00
Dmitry Jemerov
248185943c
Handle @JvmOverloads on inner class constructors correctly
...
#KT-14678 Fixed
2016-11-18 11:04:49 +01:00
Dmitry Petrov
8b99141030
KT-14839 Do not coerce after remapped variable store.
2016-11-18 09:35:31 +03:00
Zalim Bashorov
aa2a4f0794
KJS: implement Throwable in Kotlin instead of use it as alias of JS Error
...
* Make it an inheritor of JS Error. Otherwise, Chakra engine doesn't fill stack trace of exception; In other engines inheritance has some good effects too.
* Copy all properties from internally created instance of JS Error
#KT-6985 Fixed
#KT-2328 Fixed
#KT-8019 Fixed
#KT-10911 Fixed
2016-11-17 16:22:27 +03:00
Alexey Andreev
f2d7b1a5fd
JS: unmute shared box tests
2016-11-17 13:29:26 +03:00