Commit Graph

637 Commits

Author SHA1 Message Date
Alexey Andreev 4a53f5c0b8 Don't relocate temporary variable which receives property access, unless it's provable that this property don't have side effects 2016-04-05 14:40:25 +03:00
Alexey Andreev cfdce8eaca Rewrite temporary variable elimination 2016-04-05 14:40:25 +03:00
Alexey Andreev 8709289b0a Prohibit from eliminating non-local temporary variables 2016-04-05 14:40:24 +03:00
Alexey Andreev af7ddb4572 Adds test infrastructure for JS optimizer. Adds simple tests 2016-04-05 14:40:24 +03:00
Alexey Andreev 3571201e9c Prevent JS optimizer from inserting duplicate variable declarations 2016-04-05 14:40:23 +03:00
Alexey Andreev 4d7906fe44 Prevent temporary variable from substituting to branches of ternary conditional expression, since it can sometimes violate evaluation order 2016-04-05 14:40:23 +03:00
Alexey Andreev e6e3275906 Implement reduction of if statement to ternary conditional expression 2016-04-05 14:40:23 +03:00
Alexey Andreev 3ceea68859 Remove optimizations performed during JS inlining. Implement several optimizations as a separate pass 2016-04-05 14:40:22 +03:00
Nikolay Krasko 9fd5568425 Uncomment and move AntTaskJsTest test to js module 2016-04-05 00:39:46 +03:00
Nikolay Krasko f80aaa97a6 Extract plugins tests to separate module with JDK 1.8 2016-04-05 00:39:46 +03:00
Alexander Udalov 348125acb3 Fix visibility of protected classes in bytecode
Protected should be translated to public as in Java so that everything would
work at runtime. The real visibility is still saved to an InnerClasses
attribute

 #KT-8269 Fixed
 #KT-9246 Fixed
 #KT-10143 Fixed
2016-03-22 18:42:34 +03:00
Alexey Tsvetkov df3f163ee2 JS: inline safe calls
#KT-6912 fixed
2016-03-09 16:25:01 +03:00
Alexander Udalov f8dfaf4599 Merge boxWithJava testData into box, delete BoxWithJava test 2016-03-09 10:25:38 +03:00
Alexander Udalov 06a67e6602 Merge boxWithStdlib testData into box, delete BoxWithStdlib test 2016-03-09 10:25:38 +03:00
Alexander Udalov 20e36438e2 Move some tests from boxWithStdlib/ to box/
Move those tests which do not require neither stdlib nor reflect
2016-03-09 10:25:38 +03:00
Alexey Andreev 550c8b12d1 KT-10667 Fix building qualified references to nested type of built-ins, e.g. Map.Entry 2016-03-02 10:31:05 +03:00
Alexander Udalov c72f29b13a Move KotlinTestWithEnvironment to org.jetbrains.kotlin.test
It's not really related to lazy-resolve and should be also probably located
near KotlinTestWithEnvironmentManagement
2016-02-27 15:40:07 +03:00
Denis Zharkov 4c88e2a0bc Use original descriptor when mapping fake override
Otherwise wrong CONFLICTING_INHERITED_JVM_DECLARATIONS were reported

 #KT-10691 Fixed
2016-02-25 11:10:48 +03:00
Zalim Bashorov 82a049b319 JS: fix definition nested classes inside interfaces 2016-02-20 21:20:42 +03:00
Alexey Andreev 718c15806c KT-10785 Ensure that access to private properties from inside memeber functions of objects is performed via 'this' rather that by FQN. 2016-02-20 19:16:26 +03:00
Alexey Andreev 0a2cff9056 KT-10785 Fixed. Change predicate that decides whether to dereference assignment target as a property accessor or as a backing field. 2016-02-20 19:16:26 +03:00
Alexey Andreev a4db14eff5 [KT-4124] Add tests for qualified labeled super access to functions and properties 2016-02-20 15:19:31 +03:00
Alexey Andreev d83f926658 [KT-4124] Refactor super calls and fix calls to Any::equals 2016-02-20 15:19:31 +03:00
Alexey Andreev 6adcafafbb [KT-4124] Minor refactoring and cleanup 2016-02-20 15:19:30 +03:00
Alexey Andreev d067068774 [KT-4124] Support invocation of constructor of inner class from extension method 2016-02-20 15:19:30 +03:00
Alexey Andreev 9238afc439 [KT-4124] Fix some tests from common testData 2016-02-20 15:19:29 +03:00
Alexey Andreev f5786dd567 [KT-4124] Add test case for nested/inner classes inside native class. Add diagnostic of inner classes inside native classes. 2016-02-20 15:19:28 +03:00
Alexey Andreev 040a646174 [KT-4124] Add test case for nested native class 2016-02-20 15:19:28 +03:00
Alexey Andreev c705fafc95 [KT-4124] Add support for super<T>@Outer.functionName() case 2016-02-20 15:19:25 +03:00
Alexey Andreev 20b3361edc [KT-4124] Fix test compatibility between JS and Java backed for several tests 2016-02-20 15:19:24 +03:00
Alexey Andreev c231ecfe50 [KT-4124] Fix the following: when test can't be compiled, sometimes JUnit reported that .js file was not found instead of reporting actual errors. 2016-02-20 15:19:24 +03:00
Alexey Andreev 8f74720973 [KT-4124] Add more generated tests from Java backend. Fix support of deeply nested classes (i.e. A.B.C) and nested enums. 2016-02-20 15:19:22 +03:00
Alexey Andreev c48c6bc055 [KT-4124] Use generated test to avoid duplication of test data of inner classes. Add support of classes contained within objects. 2016-02-20 15:19:22 +03:00
Alexey Andreev 4efceb95e3 [KT-4124] Add less trivial tests 2016-02-20 15:19:20 +03:00
Alexey Andreev a8014dec50 [KT-4124] Add support for simple nested classes 2016-02-20 15:19:20 +03:00
Alexey Andreev 8497931455 #EA-79158 Fix translation of empty 'when' statement 2016-02-17 19:18:25 +03:00
Stanislav Erokhin 341b251e4d Update copyright in generated tests. 2016-02-16 18:59:10 +03:00
Alexey Andreev f6fadc4fa5 [KT-10614] Fix passing of inline.kt test 2016-02-16 16:02:17 +03:00
Ilya Gorbunov 17ebb36128 Test Throwable properties in JS, don't work as expected, commiting as ignored.
#KT-10911
2016-02-08 18:10:46 +03:00
Alexey Andreev e9d5d8f0fe [KT-7683] Implement translation of 'when .. in' clause to JS 2016-02-03 19:08:58 +03:00
Alexander Udalov 04026dbe84 Make Array<T>(size, init) a constructor of Array
It's not marked as inline, this is why 'crossinline' was added in
jaggedArray.kt/jaggedDeep.kt. Will be fixed in the following commits
2016-01-28 03:10:37 +03:00
Denis Zharkov ba506170e9 Use 'mapToCallableMethod' for delegateTo signature calculation
#KT-9707 Fixed
2016-01-21 11:24:23 +03:00
Dmitry Jemerov d6a11b839b js: cleanup 'public', property access syntax 2016-01-07 18:15:19 +01:00
Ilya Gorbunov da4b1ae0fb Cleanup in js modules 2015-12-29 18:04:16 +03:00
Ilya Gorbunov 055c71e8d0 Provide minWith and maxWith to find maximum and minimum values according to the given comparator.
#KT-9002 Fixed
2015-12-18 00:00:52 +03:00
Alexey Tsvetkov 199827635f Reserve 'typeof' as a keyword 2015-12-10 21:26:41 +03:00
Andrey Breslav 434082cadb 'yield' reserved as a keyword 2015-12-09 17:10:30 +03:00
Yan Zhulanow 9d1af5a17e Fix tests: "infix modifier required" and "operator modifier required" errors 2015-11-27 15:51:11 +03:00
Michael Nedzelsky a7636126a1 fix tests for js 2015-11-23 22:32:40 +03:00
Ilya Gorbunov af9020a010 Update Range and Progression built-in implementations in js library.
No need to define special method mapping for js ranges/progressions.
Support progression companion objects' function fromClosedRange as intrinsic
2015-11-11 03:53:51 +03:00