Commit Graph

659 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 093671f549 backend: rework builtIns configuration
* Do not create separate builtIns for analyzer.
* Make builtInsModule synthetic but depending on stdlib.
2017-02-28 17:44:22 +07:00
Igor Chevdar 108f2132b6 Fixed CallableReferenceLowering to visit all nodes. 2017-02-28 12:09:53 +03:00
Ilya Matveev 00e5e070d7 tests: Add a test for list sorting 2017-02-28 10:59:25 +03:00
Ilya Matveev 1cbfa73f67 tests: Use 'prefix' property in run_external task 2017-02-28 10:49:30 +03:00
Ilya Matveev 1a45667261 backend: Lower callable references in properties 2017-02-28 10:49:30 +03:00
Ilya Matveev 9b24f10f07 backend: Move string concatenation after inlining 2017-02-27 11:52:38 +03:00
Ilya Matveev 912fa136f1 backend: Set returnType for local constructors 2017-02-27 11:47:39 +03:00
Svyatoslav Scherbina 925b1fb0b6 backend/tests: add tests for == with Nothing/Nothing? 2017-02-27 13:16:12 +07:00
Svyatoslav Scherbina b9371332d6 backend: fix == when both parts conform to Nothing? type 2017-02-27 13:16:12 +07:00
Svyatoslav Scherbina 0688f8e758 backend: fix callable references to constructors 2017-02-27 13:16:12 +07:00
Vasily Levchenko c1b1f7b45c IR: vararg: process not only functions, but fiel and property initializer 2017-02-23 11:22:02 +03:00
Ilya Matveev b6d5dd5a68 backend/tests: Disable coroutines tests 2017-02-22 17:50:06 +03:00
Vasily Levchenko 4673de2fdd IR: don't stop lowering expression on first vararg expression, please lower deeper 2017-02-22 16:42:28 +03:00
Ilya Matveev 489723721f frontend: Stop compilation in case of frontend error 2017-02-22 16:16:57 +03:00
Igor Chevdar ee484a40ff Swapped order of operations in method table building (was a bug) 2017-02-22 15:37:10 +03:00
Igor Chevdar 9165d65560 Added tests on interface calls of enum class 2017-02-22 15:37:10 +03:00
Igor Chevdar e664473f74 Added contributed descriptors to synthesized enum <default> class 2017-02-22 15:37:10 +03:00
Igor Chevdar 2bfd6cf19f Review fixes 2017-02-22 15:37:10 +03:00
Igor Chevdar 174b8ee601 Added parameter 'prefix' to task 'run' in order to run subset of tests 2017-02-22 15:37:10 +03:00
Igor Chevdar 3ac3b1e7ca Review fixes 2017-02-22 15:37:10 +03:00
Igor Chevdar 041fff596d Removed debug output 2017-02-22 15:35:48 +03:00
Igor Chevdar eced9bb11a refactoring 2017-02-22 15:35:48 +03:00
Igor Chevdar bb82109ded Added tests on class delegation 2017-02-22 15:35:48 +03:00
Igor Chevdar dd350f88c8 Implemented class delegation lowering 2017-02-22 15:35:48 +03:00
Igor Chevdar 0609cef5ac TODO: hack because of IR bug 2017-02-22 15:35:13 +03:00
Igor Chevdar 4835aa3e74 Added tests on bridges 2017-02-22 15:35:13 +03:00
Igor Chevdar 7fa44ebc0d Rewrote vtable building taking into account possibility of multiple bridges for a single method 2017-02-22 15:35:13 +03:00
Vasily Levchenko c5fe02f537 IR: default arguments support 32+ arguments with default values 2017-02-22 13:37:02 +03:00
Alexander Gorshenev fa70e566fc Preserve frame pointer when compiling without optimization. 2017-02-22 13:16:00 +04:00
Svyatoslav Scherbina 90149063c3 backend/tests: add disabled 'vararg_of_literals' 2017-02-22 11:03:37 +07:00
Svyatoslav Scherbina 6b68033972 backend: simplify vararg handling in codegen 2017-02-22 11:03:37 +07:00
Svyatoslav Scherbina 32d9a68925 backend: lower varargs after callable references
Because callable reference lowering creates IrVararg.
2017-02-22 11:03:37 +07:00
Ilya Matveev 84cb52afed backend/tests: Add test error number reporting to stdout 2017-02-21 18:56:52 +03:00
Vasily Levchenko e59f3c0805 TEST: goldValue: s/<\(null\)>/\1/g 2017-02-21 14:21:49 +03:00
KonstantinAnisimov ab7c879633 Merge pull request #258 from JetBrains/inline3
Inline3
2017-02-21 17:18:41 +07:00
Svyatoslav Scherbina 4e6ad59d9f backend/tests: improve interop_echo_server code 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 01dd86d3b5 Interop, backend: add bitsTo{Float,Double} intrinsics 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 9afd9360b3 backend: handle initializers in interop lowering
Also add lowering utils.
2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 9a7d036b33 build, Interop/Indexer: update LLVM and clang to 3.9.0 2017-02-21 16:42:14 +07:00
Konstantin Anisimov bf0fc7ec03 Test excluded using "disable" directive 2017-02-21 16:14:30 +07:00
Konstantin Anisimov 666cd712b2 Test output removed 2017-02-21 16:12:53 +07:00
Konstantin Anisimov a71cd69f72 Kotlin methods are excluded from inlining 2017-02-21 16:12:53 +07:00
Konstantin Anisimov 3b5c16076e TESTS: New tests added 2017-02-21 16:12:52 +07:00
Vasily Levchenko a52a51b7fa IR: do not split declaration and initialization of temporary varable in two stages and create temporary variable for parameter as well 2017-02-20 15:42:31 +03:00
Vasily Levchenko 837bb06625 IR: makes vararg friendly to inlining 2017-02-17 18:30:37 +03:00
Vasily Levchenko 7912852622 UTILS: String.synthesizedString added 2017-02-17 18:30:37 +03:00
Ilya Matveev c68c4d3b6d backend: Use simple DFS during closure building.
Now closure builder can contain includes. Includes
are another builders which closures must be added
to the building one.
Includes are:

For function closure:
	call targets (including constructors)
	callable reference targets

For class:
	all children declarations
	call targets (including constructors)
        callable reference targets

For constructor:
	call and callable reference targets
	delegating constructor call target
	constructing class closure
2017-02-17 15:17:46 +03:00
Ilya Matveev 95a9f65afd backend/tests: Add tests for local function closures 2017-02-17 15:17:46 +03:00
Ilya Matveev 8004b3d096 backend: Fix issues with closures for nested cases 2017-02-17 15:17:46 +03:00
Ilya Matveev 33f04a8cf8 backend: Add closures of calls in function closure 2017-02-17 15:17:46 +03:00