Commit Graph

2129 Commits

Author SHA1 Message Date
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 68b35aa0ac JS inliner: Don't treat 'bar' as unused in the presence of 'bar.call' expressions 2016-11-18 20:55:07 +03:00
Anton Bannykh 2f0bccfb09 JS: chained reified function calls (KT-12527) fixed 2016-11-18 13:48:16 +03:00
Dmitry Jemerov a57748f4f4 @JvmOverloads-generated overloads of final methods are also final; test to verify that overloads of deprecated methods are deprecated 2016-11-18 11:05:03 +01: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
Anton Bannykh 0dc9121a91 JS property accessors inlining (KT-13456) 2016-11-17 15:25:29 +03:00
Alexey Andreev f2d7b1a5fd JS: unmute shared box tests 2016-11-17 13:29:26 +03:00
Anton Bannykh 5b078fb236 JS: augmented assignments and increments (KT-14810) fixed 2016-11-17 13:21:49 +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 d41d09ffc4 JS: add metadata for generated continuation classes to properly implement RTTI 2016-11-16 19:29:37 +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 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 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 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
Ilya Gorbunov 4769ed5f79 Fix imports in tests: do not use java.util.* stuff 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
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
Alexander Udalov eedad9194e Drop KParameter.isNoinline, KParameter.isCrossinline
There seems to be no valuable use cases for them at the moment
2016-11-15 11:01:17 +03:00
Alexander Udalov 7e82d139cf Drop KFunction.isTailrec
The fate of this modifier seems unclear, and there doesn't seem to be any
valuable use cases for it in reflection
2016-11-15 11:01:16 +03:00
Denis Zharkov 6fca46a452 Allow inferring property type from its getter
#KT-550 Fixed
2016-11-15 09:30:13 +03:00
Mikhael Bogdanov 61da8be260 Generate parameters metadata for java 8 reflection 2016-11-14 14:27:08 +01:00
Dmitry Petrov b429f7bc86 KT-14581 Make FixStackAnalyzer tolerant to uninitialized values 2016-11-11 13:30:15 +03:00
Dmitry Petrov 6876f0e4d2 Support type aliases as bare types after 'is/as'. 2016-11-10 18:33:50 +03:00
Mikhael Bogdanov 21f2febf82 Fix for KT-13557: VerifyError with delegated local variable used in object expression
#KT-13557 Fixed
2016-11-10 15:12:16 +01:00
Zalim Bashorov afa58599ec Specify target backend as JVM for SAM tests; mute other failed tests and regenerate tests. 2016-11-10 13:27:54 +03:00