Alexey Andreev
|
7d170c0fcd
|
JS: fix translation of reassignment of inline properties. See KT-15590
|
2017-01-12 18:12:38 +03:00 |
|
Alexey Andreev
|
d2050ace72
|
JS: refactor generation of functions with optional parameters. Fix #KT-7302, #KT-13888
|
2017-01-12 18:12:35 +03:00 |
|
Alexey Andreev
|
900adcf29b
|
JS: prohibit stable (public) names with non-identifier chars. Rewrite unstable (private) names with non-identifier chars. See KT-4160
|
2016-12-30 16:21:18 +03:00 |
|
Alexey Andreev
|
7f0166623d
|
JS: when none of exhaustive when clauses match, generate code that throws exception. See KT-12194
|
2016-12-30 16:20:00 +03:00 |
|
Alexey Andreev
|
27c2a4f6a8
|
JS: disable mangling for PublishedApi. Export declarations marked with PublishedApi. See KT-15442
|
2016-12-29 16:00:51 +03:00 |
|
Alexey Andreev
|
79ba6a57d6
|
JS: report errors on different external items:
* data classes
* val/var parameters of primary constructors
* enum entry with body
* anonymous `init {}` block in classes
|
2016-12-29 16:00:35 +03:00 |
|
Alexey Andreev
|
1a7e8b0690
|
JS: allow to omit delegated constructor call for external classes in common FE. Prohibit delegated constructor call for external classes in JS FE.
|
2016-12-29 16:00:33 +03:00 |
|
Alexey Andreev
|
06e83e895f
|
JS: update backend tests to respect new front-end rules for external declarations
|
2016-12-29 16:00:31 +03:00 |
|
Ilya Gorbunov
|
b2a4c27709
|
Provide extension unsafeCast for dynamic.
#KT-15310
|
2016-12-23 20:16:21 +03:00 |
|
Alexey Andreev
|
9b4b7960d3
|
JS: prevent compiler from importing module more than once if not necessary. See KT-15260
|
2016-12-22 17:19:25 +03:00 |
|
Ilya Gorbunov
|
6ee8a23ddd
|
JS: Drop native map get/set intrinsics altogether.
MutableMap.set extension operator is now common among stdlib and stdlib-js.
#KT-2323
|
2016-12-20 18:00:19 +03:00 |
|
Alexey Andreev
|
e02d281ed4
|
JS: don't use strict comparison (===) for enums when both left-hand side and right-hand side are nullable. See KT-12598
|
2016-12-20 15:47:39 +03:00 |
|
Alexey Andreev
|
c285e5ba3b
|
JS: add tests too prove that operator conventions are correctly inlined. Support inlining of invoke operator. See KT-7588
|
2016-12-20 15:47:39 +03:00 |
|
Alexey Andreev
|
d3d406356c
|
JS: use optimized emulation of int32 multiplication. Add test for emulated int32 multiplication
|
2016-12-20 15:47:39 +03:00 |
|
Alexey Andreev
|
7d8df5c81c
|
JS: optimize integer overflow emulation when possible
|
2016-12-20 15:47:38 +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 |
|
Alexey Andreev
|
c854b81a09
|
JS: trying to implement integer overflow for increment and decrement
|
2016-12-20 15:47:37 +03:00 |
|
Alexey Andreev
|
446c4c0a33
|
JS: provide overflow behaviour for int binary operations (see KT-7733)
|
2016-12-20 15:47:36 +03:00 |
|
Dmitry Petrov
|
33ed98a0d3
|
Update typing rules for class literal expressions.
C::class : KClass<C>
expr: T => expr::class : KClass<out T>
NB: this means Obj::class : KClass<out Obj> for object Obj.
|
2016-12-19 10:41:49 +03:00 |
|
Alexey Andreev
|
22ff7c6c45
|
JS: when translating content of js() function, rename all free references if they point to Kotlin local variable with the same name. See KT-15212
|
2016-12-17 12:12:36 +03:00 |
|
Alexey Andreev
|
91aeeb20e8
|
JS: add test to prove that anonymous function that declares lambda is translated correctly. See KT-11589
|
2016-12-15 19:53:37 +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 |
|
Alexey Andreev
|
e6501591fa
|
JS: serialize type of local anonymous class as its denotable supertype. See KT-14888
|
2016-12-15 19:05:32 +03:00 |
|
Zalim Bashorov
|
2277239ab3
|
KJS: don't export declarations marked as external or annotated by native or library annotations
|
2016-12-15 14:49:31 +03:00 |
|
Zalim Bashorov
|
b42fe06933
|
KJS: fix compiler crash when using inline function inside string template
#KT-12586 Fixed
|
2016-12-15 14:49:31 +03:00 |
|
Zalim Bashorov
|
8ccc00f3d4
|
KJS: deprecate enumerable annotation since it's no longer has any effect and rewrite test which checks enumerability of members
|
2016-12-15 14:49:31 +03:00 |
|
Alexey Andreev
|
39de1a7659
|
JS: generate temporary names for function parameters. Remove tests for js() function that references parameters. Remove such usages of js() function from stdlib
|
2016-12-12 14:30:45 +03:00 |
|
Alexey Andreev
|
b634c2cbe3
|
JS: declare names for native declaration in root scope, to avoid clashing between inner names and global native names. Fix KT-14806
|
2016-12-12 14:30:45 +03:00 |
|
Alexey Andreev
|
9c9b23a0fb
|
JS: fix translation of local function in lambdas
|
2016-12-12 14:30:44 +03:00 |
|
Alexey Andreev
|
8ef72935a8
|
JS: fix translation of try statements with multiple catches
|
2016-12-12 14:30:44 +03:00 |
|
Alexey Andreev
|
fff1af4ff6
|
JS: allow to inherit external classes with overloaded functions in case we don't override them (see KT-13910).
|
2016-12-09 15:13:09 +03:00 |
|
Alexey Andreev
|
ecb498717a
|
JS: rework diagnostics names. Prohibit external inner classes (see KT-14027)
|
2016-12-09 15:13:08 +03:00 |
|
Alexey Andreev
|
3882bf7564
|
JS: prohibit native (external) extension properties and functions. See KT-13896
|
2016-12-09 15:13:07 +03:00 |
|
Alexey Andreev
|
cc819928de
|
JS: prevent Any.equals from mangling
|
2016-12-09 12:04:31 +03:00 |
|
Alexey Andreev
|
a2d45153ba
|
JS: prohibit dynamic on RHS of in and !in operators (see KT-6579)
|
2016-12-09 12:03:52 +03:00 |
|
Alexey Andreev
|
d0ffb5bd32
|
JS: add restrictions to external modifier according to KT-13893
|
2016-12-08 15:41:42 +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 |
|
Alexey Andreev
|
0302fcbb72
|
JS: don't write native superclass to metadata. Fix KT-15007
|
2016-12-06 15:42:34 +03:00 |
|
Alexey Andreev
|
d63a727474
|
KT-12877: support plain reference to declaration in UMD wrapper, support plain reference to package
|
2016-12-03 17:15:09 +03:00 |
|
Alexey Andreev
|
495c876b3b
|
KT-12877: add tests for UMD modules
|
2016-12-03 17:15:09 +03:00 |
|
Alexey Andreev
|
08a7f9c298
|
KT-12877: reorganize JS module tests to support different module systems. Test JsModule in conjunction with JsNonModule and plain module type
|
2016-12-03 17:15:08 +03:00 |
|
Alexey Andreev
|
7be872ebca
|
KT-12877: modify tests to check whether mutable top-level properties of JsModule files are supported
|
2016-12-03 17:14:29 +03:00 |
|
Alexey Andreev
|
b1d8f91212
|
KT-12877: fix how native calls and property references are translated to be make them work with JsModule annotation
|
2016-12-03 17:14:29 +03:00 |
|
Alexey Andreev
|
ac703dfda6
|
KT-12877: serialize information about file annotations. For each top-level declaration store containing file. Use this information to properly handle file-targeted JsModule.
|
2016-12-03 17:14:29 +03:00 |
|
Anton Bannykh
|
3e4376f4ba
|
JS: don't omit guard for catch with Throwable type (KT-13616); don't generate guard for catch with dynamic type (KT-13615)
|
2016-12-02 17:13:02 +03:00 |
|
Anton Bannykh
|
6301e3ec30
|
JS: Fix capturing class construction function for lambdas inside inline functions with reified type parameters (KT-13522).
|
2016-12-02 13:42:42 +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
|
46242f4430
|
JS: when RHS of as cast is non-nullable native interface, check LHS for null
|
2016-11-25 14:07:30 +03:00 |
|
Alexey Andreev
|
2eb54f234c
|
JS: prohibit passing native interfaces to reified type parameters
|
2016-11-25 14:07:29 +03:00 |
|