Commit Graph

512 Commits

Author SHA1 Message Date
Alexey Andreev 322f6fe7ac KT-2752: fix translation of call to internal function from subclass 2016-10-08 19:25:53 +03:00
Alexey Andreev c814a9d1d2 KT-2752: fix support of typealiases 2016-10-08 19:25:52 +03:00
Alexey Andreev 831ac97ecd KT-2752: fix some tests and make them slightly less fragile 2016-10-08 19:25:51 +03:00
Alexey Andreev 9c7c82b151 KT-2752: refactor NameSuggestion, change rules for determining name stability and applying mangling 2016-10-08 19:25:50 +03:00
Alexey Andreev 6f7e7d8504 KT-2752: fixes after code review 2016-10-08 19:25:49 +03:00
Alexey Andreev ba9c908875 KT-2752: export JsName on class via JS reflection 2016-10-08 19:25:45 +03:00
Alexey Andreev aa5d15cff7 KT-2752: minor fixes after code review 2016-10-08 19:25:43 +03:00
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 33daf83f14 KT-2752: refactoring:
1. Get rid of most of ManglingUtils
2. Use simple mangling for delegated properties instead of stable mangling
3. Use stable mangling for public declarations of open non-public classes
4. When generating a fresh name in a JsScope, check it for clashing against parent scopes
5. JsFunctionScope does not generate fresh name instead of stable names
6. Function scopes inherit directly from global scope
7. Generate simple mangled names for backing fields of properties
2016-10-08 19:25:36 +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 be0013d9f2 KT-2752: declare properties as a pair of functions when accessors are marked with @JsName 2016-10-08 19:25:32 +03:00
Alexey Andreev 6e1a0901ac KT-2752: add checkers for inconsistent usage of JsName 2016-10-08 19:25:31 +03:00
Alexey Andreev 638952e96e KT-2752: JsName renames native declarations 2016-10-08 19:25:31 +03:00
Alexey Andreev 7a7a6914a6 KT-2752: fix old tests, add test for clashing between class and its companion object 2016-10-08 19:25:30 +03:00
Alexey Andreev 50dd1e31c3 KT-2752: move tests, that check whether there's no name clash, to JS backend tests 2016-10-08 19:25:29 +03:00
Alexey Andreev 5ce158f297 KT-2752: add basic tests for JsName 2016-10-08 19:25:28 +03:00
Alexey Andreev 5e3aa33b13 KT-2752: add draft implementation of JsName annotation. Fix some tests using the annotation 2016-10-08 19:25:27 +03:00
Alexey Andreev f70b50b6e2 KT-2752: refactor generation of FQN in JS. Move backend-independent code to generic code in frontend. 2016-10-08 19:25:25 +03:00
Ilya Gorbunov 1af3b50e3d Remove obsolete testData (Filter.kt — didn't run even once). 2016-10-03 17:25:26 +03:00
Ilya Gorbunov 2aa60adbca Remove 'import java.util' from js tests. 2016-10-03 17:25:26 +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 c1e13cc788 JS: describe how to run tests in node.js 2016-09-29 12:00:45 +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 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
Ilya Gorbunov 8627547a63 Provide java.util.AbstractCollection and AbstractList as deprecated classes with implemented abstract methods rather than as typealiases to smooth migration.
This comes at price that `ArrayList is java.util.AbstractColleciton` is false.
2016-09-28 22:06:03 +03:00
Ilya Gorbunov a5c0f11d60 Split AbstractCollection, List, Set in JS to readonly Abstract[Collection] and mutable AbstractMutable[Collection].
Update compatibility type aliases.
2016-09-28 22:06:03 +03:00
Ilya Gorbunov bf56f04368 Simplify Kotlin.collectionsSort as it always being provided with MutableList. 2016-09-24 07:08:21 +03:00
Ilya Gorbunov 54a640d733 Cleanup: remove unused code from HashMap, remove commented out specialization intrinsics. 2016-09-24 07:08:21 +03:00
Ilya Gorbunov d1a24de278 Consequences of map/set specializations removal:
- NaNs are no longer usable as keys in maps or elements in sets.
- Chars are stored as their underlying type string, and Longs are stored as objects.
Opened #KT-13610
2016-09-24 07:08:21 +03:00
Ilya Gorbunov ea82c20692 Remove js implementations of java.util maps and sets, disable intrinsic to select specialized implementations.
#KT-12386
2016-09-24 07:08:21 +03:00
Ilya Gorbunov 5cd3417d4c Maps and sets: cleanup, simplify, refactor.
#KT-12386
2016-09-24 07:08:21 +03:00
Ilya Gorbunov 75069143c7 Rewrite ArrayList, AbstractList, AbstractCollection in kotlin.
AbstractList is imported from GWT.
#KT-12386
2016-09-24 07:08:21 +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 dd062bfd6d JS: add explanation to inline/arrayLiteralAliasing.kt test 2016-09-14 16:37:54 +03:00