Commit Graph

778 Commits

Author SHA1 Message Date
Alexey Andreev 7956b038fd KT-2752: add test to prove that KT-13024 is no longer reproducible with new implementation of name mangling 2016-10-08 19:25:43 +03:00
Alexey Andreev fb7f221158 KT-2752: add test to ensure that JsName affects classes 2016-10-08 19:25:40 +03:00
Alexey Andreev 1dcb037aee KT-2752: remove diagnostic that reports about overridden method having several names from different sources. Generate proxies instead. Fix reporting name clash when two distinct fake overrides require same name. 2016-10-08 19:25:35 +03:00
Alexey Andreev c5087779e4 KT-2752: add diagnostics that reports about conflicting overridden declarations 2016-10-08 19:25:34 +03:00
Alexey Andreev 725d13b72e KT-2752: fix JsName with explicit use target. Add some tests for JsName with use targets 2016-10-08 19:25:33 +03:00
Alexey Andreev 6e1a0901ac KT-2752: add checkers for inconsistent usage of JsName 2016-10-08 19:25:31 +03:00
Alexey Andreev 5ce158f297 KT-2752: add basic tests for JsName 2016-10-08 19:25:28 +03:00
Alexey Andreev ea18ea0b8c KT-13825: write simple name of class to constructor.$metadata$.simpleName. 2016-09-30 12:00:49 +03:00
Alexey Andreev 9797a1c35c JS: move RTTI tests to proper location 2016-09-29 12:00:46 +03:00
Alexey Andreev 0c3c2af76d JS: fix remaining tests. Suppress extensionFromTopLevelUnitOneStringArg.kt, use another approach to check whether object's property accessed via this 2016-09-29 12:00:45 +03:00
Alexey Andreev 44f7a94380 JS: fix bugs in test environment for mocha.js 2016-09-29 12:00:45 +03:00
Alexey Andreev aa1a0307a6 JS: make most of box tests running in mocha.js 2016-09-29 12:00:44 +03:00
Alexey Andreev 9da1a50cae JS: move more test to box tests 2016-09-29 12:00:44 +03:00
Alexey Andreev 34bf3e6e56 JS: move more test to box tests 2016-09-29 12:00:43 +03:00
Alexey Andreev 3801052460 JS: move more test to box tests 2016-09-29 12:00:43 +03:00
Alexey Andreev 7e2d5b04de JS: move more test to box tests 2016-09-29 12:00:42 +03:00
Alexey Andreev 9bf124af3f JS: move more test to box tests 2016-09-29 12:00:42 +03:00
Alexey Andreev a18f5eca2d JS: move more test to box tests 2016-09-29 12:00:41 +03:00
Alexey Andreev cdf2212c73 JS: move more test to box tests 2016-09-29 12:00:41 +03:00
Alexey Andreev efb82a044f JS: move inline test to box tests 2016-09-29 12:00:40 +03:00
Alexey Andreev b159049be8 JS: move expressions test to box tests 2016-09-29 12:00:40 +03:00
Alexey Andreev 2bf0199959 JS: create new common directory for all generated tests, migrate several tests there 2016-09-29 12:00:39 +03:00
Alexey Andreev 34a57f863b JS: refactor test classes 2016-09-29 12:00:39 +03:00
Alexey Andreev db86d34699 JS: move InlineMultiModuleTestGenerated under new test class 2016-09-29 12:00:38 +03:00
Alexey Andreev dc0d7114be JS: introduce a new base class for generated tests 2016-09-29 12:00:38 +03:00
Pavel V. Talanov 24d805d2c1 Minor: remove code commited by mistake 2016-09-26 14:46:39 +03:00
Simon Ogorodnik 47bfb8133d KT-13146 J2K recursion while converting self-referenced anonymous functions (#956) 2016-09-26 13:47:31 +03:00
Alexey Andreev 7dbada0d06 JS: repair serialization of type aliases 2016-09-19 12:30:32 +03:00
Alexey Andreev 9dd6c9a65c KT-13664: write values of long compile-time constants as constants. Fix #KT-13664 2016-09-19 12:29:58 +03:00
Alexey Andreev a9330057cc KT-8283: fix Kotlin.equals method to compare arrays by reference 2016-09-14 16:37:53 +03:00
Alexey Andreev 5534350fd6 KT-7397: use reference comparison (===) when translating a is A, where A is an object. Use more sophisticated check for reified parameters. 2016-09-14 13:16:24 +03:00
Alexey Andreev 5d34f5fb75 KT-13836: fix generation of FQN of secondary constructor when it's called via typealias. Fix #KT-13836 2016-09-14 12:40:01 +03:00
Denis Zharkov 6269f890c8 Minor. Regenerate tests for type aliases in JS 2016-09-12 10:26:06 +03:00
Alexey Andreev b91ed1e02a KT-13544: support typealiases in JS backend 2016-09-09 14:38:11 +03:00
Alexey Andreev 16af7d667f KT-12868: if a property initializer is a complex expression that emits additional statements, emit these statements directly before assignment to the property, not at the beginning of constructor 2016-09-09 13:54:03 +03:00
Alexey Andreev 80361bf2fb KT-13583: allow local classes to capture members of outer classes 2016-09-09 13:07:08 +03:00
Alexey Andreev 43abdaa894 KT-13658: don't capture FakeCallableDescriptorForObject in closure 2016-09-06 10:59:56 +03:00
Alexey Andreev 60a09ecb45 KT-12873: add temporary variables generated by delegation expression to class initializer. Fix #KT-12873 2016-08-30 12:26:06 +03:00
Ilya Gorbunov 25d8af3112 JS: Implement Long.hashCode function.
#KT-13756 Fixed
2016-08-26 05:28:48 +03:00
Alexey Andreev 7016ce9b41 JS: refactor how cached access translators work. Fix cached access translator in case of arrays. Use cached access translator to translate reassignments 2016-08-23 18:06:51 +03:00
Alexey Andreev cb2c8edaf9 JS: don't translate RHS of overloaded assignment operators twice. It can break compilation in some cases, for example, when there are lambdas in RHS.
Fix #KT-12808 #KT-12807
2016-08-23 18:06:51 +03:00
Alexey Andreev df86840515 KT-13025: when receiver of call of 'invoke' method is a Function, check whether receiver is an extension function and generate additional '.call' invocation. Fix #KT-13025 2016-08-23 15:45:48 +03:00
Alexey Andreev c767b3d0ac KT-13043: fix translation of super call from secondary constructor when base constructor has default arguments 2016-08-23 15:44:27 +03:00
Zalim Bashorov 33e96fcb9a JS: fix runtime type checking for native non-fake interfaces on WebKit (JavaScriptCore); add tests for object and object expressions. 2016-08-17 14:25:29 +03:00
Zalim Bashorov 88ad00b0bc JS backend: add the ability to get JS constructor function by class name and from instance. Support it for reified type parameters too. Add ability to get name of class.
#KT-5987 Fixed
 #KT-4115 Fixed
2016-08-05 18:13:05 +03:00
Alexey Andreev 19cea48637 JS: add tests to show that #KT-12865 fixed as well 2016-08-05 16:32:27 +03:00
Alexey Andreev 4ff2b62bc0 KT-12864: add Comparable interface to Enum metadata so that RTTI should handle is Comparable case correctly 2016-08-05 16:32:27 +03:00
Alexey Andreev efb5a9eca6 KT-13160: when decomposing assignment with lhs like array[index], extract array instead of supporting only qualifier.name` 2016-07-27 18:28:28 +03:00
Alexey Andreev 05dd039151 KT-12275 Add JS optimization that transforms the following code
```
do {
    X
    if (B) break;
} while (A)
```

to

```
do {
    X
} while (!B && A)
```

Add inversion that takes boolean expression and applies negation to it, simplifying if possible (like !!a => a).
2016-07-25 18:46:46 +03:00
Alexey Andreev b3d29adad9 KT-12275 Add JS optimization that transforms the following code
```
do {
    guard: {
        // do something
        break guard;
        // do something
    }
} while (condition)
```

to

```
do {
    // do something
    continue;
    // do something
} while (condition)
```
2016-07-25 18:32:10 +03:00