Commit Graph

6144 Commits

Author SHA1 Message Date
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
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
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
Anton Bannykh 334ae72957 Moved checking that reified is used in inlines only to the main frontend (KT-12695, KT-13697 fixed) 2016-11-15 13:44:48 +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 Jemerov 978b70e50b Add test for KT-14751 2016-11-11 18:15:24 +01:00
Alexey Andreev a72ea64142 JS: fix translation of lambdas in public inline functions; fix AMD emulation for Ant test 2016-11-11 16:26:39 +03:00
Dmitry Petrov b429f7bc86 KT-14581 Make FixStackAnalyzer tolerant to uninitialized values 2016-11-11 13:30:15 +03:00
Alexey Andreev 71ef8c4f89 JS: fix exception in JS front-end when checking JsName that was resolved with errors 2016-11-11 11:11:19 +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
Dmitry Petrov 37eedc3703 Hack: do not add trivial constraints (t <: Any?) for constituent types,
otherwise nested calls handling logic in old inference wouldn't work for type alias constructors.
2016-11-10 14:54:11 +03:00
Dmitry Petrov 549ae59562 Inference for type alias constructor type arguments: better error reporting. 2016-11-10 14:54:11 +03:00
Dmitry Petrov 94d7bd7a6b KT-14641: Nested type alias reference via an instance is an error. 2016-11-10 14:54:11 +03:00
Mikhail Glukhikh ce72337ebd Effective visibility is now considered private for invisible fake #KT-14469 Fixed 2016-11-10 13:42:58 +03: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
Denis Zharkov 24819a079b Change resolution scope for componentX in lambda parameters
Component-functions are resolved in the same scope as the first statement of the lambda, but lambda receiver was not available

 #KT-14692 Fixed
2016-11-10 10:33:42 +03:00
Zalim Bashorov 41bd276814 Mute some new tests for JS and regenerate tests 2016-11-09 21:51:33 +03:00
Zalim Bashorov a27572af49 Fix failed tests 2016-11-09 21:41:12 +03:00
Zalim Bashorov afe6ec92a4 Break infinity loop in the test 2016-11-09 21:41:12 +03:00
Zalim Bashorov ee129bebb6 Automatically mute failed generated tests from compiler/testData/codegen/box/ranges 2016-11-09 21:41:12 +03:00
Zalim Bashorov 596f3364c6 Automatically mute failed tests 2016-11-09 21:41:12 +03:00
Denis Zharkov 55508afb8c Make initial continuation able to be resumed with exception
#KT-14719 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov ae70a60a0a Validate label value of coroutine in case of no suspension points
#KT-14718 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov bd5c08f598 Make fields for storing lambda parameters non-final
Because they get assigned within `invoke` call that contradicts with JVM spec
where it's told that they must not be assigned outside of constructors
2016-11-09 12:25:31 +03:00
Denis Zharkov e54b466010 Make fields representing variables in coroutines non-volatile
#KT-14636 Fixed
2016-11-09 12:25:31 +03:00
Denis Zharkov 7e49db8768 Introduce CoroutineImpl as a common super class for coroutines
The main benefit are class-files sizes for them
(not repeating the same declaration for each coroutine)
Also it helped to simplify coroutine codegen code a little

Note that controller/label field become non-volatile (see KT-14636)

 #KT-14636 In Progress
2016-11-09 12:25:31 +03:00