Commit Graph

1633 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 9052e08e59 build: fix compilation on Linux when using libclang 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 53b347b75a Interop/Indexer: simplify native memory management by using memScoped 2017-02-21 16:42:14 +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 4a65afd76e compiler: 1.1-20170217.175209-427 2017-02-20 06:27:21 +03:00
Nikolay Igotti 9ba7d65297 Remove some oldish experiments. 2017-02-17 23:07: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
Ilya Matveev 7f2cab6666 buildSrc: Fix package regexp pattern 2017-02-17 15:17:46 +03:00
Nikolay Igotti 45bb2fdb8b Add some string operations, refactor runtime. (#249) 2017-02-17 14:31:28 +03:00
Ilya Matveev 316ed73bd5 Rename variable 2017-02-17 12:53:09 +03:00
Ilya Matveev 9bc13264a7 backend: Generate exit block for "when" if it has no unconditional branch 2017-02-17 12:53:09 +03:00
Nikolay Igotti c0f9c9fd5d Implement reverse of lists, fixes few tests. 2017-02-17 12:44:06 +03:00
Igor Chevdar 5d004c06bf default implementation of interface methods support 2017-02-16 18:16:46 +03:00
Vasily Levchenko 7470acaeba IR: don't generate IrReturn for IrDelegationCall in constructor 2017-02-16 17:22:45 +03:00
Nikolay Igotti 38c6b5e9ad More stdlib: sorting, better Appendable, other minor changes. (#245) 2017-02-16 17:00:37 +03:00
Vasily Levchenko f0a99963a7 IR: build primitive array only when required 2017-02-16 16:40:01 +03:00
Ilya Matveev e3c2f78b63 buildSrc: print command to reproduce for failed/crashed tests. 2017-02-16 16:34:35 +03:00
Vasily Levchenko acf54d9895 reporting: fixed escaping pipe for teamcity 2017-02-16 15:42:19 +03:00
Igor Chevdar c746da3ce4 Bridges (#240)
* - bridges building
- bridges support in vtable and methods table

* FunctionDescriptor.signature fix + some assertions

* tests

* refactoring

* refactoring

* removed debug output

* refactoring

* review fixes

* implemented bridge construction for parameters

* tests

* refactoring

* removed custom box/unbox

* added bridge for extension receiver
2017-02-16 15:26:57 +05:00
KonstantinAnisimov 70cb8ced5a Merge pull request #241 from JetBrains/inline2
Inline2
2017-02-16 16:15:07 +07:00
Konstantin Anisimov 88a794019a Ascape analysis is disabled 2017-02-16 15:49:04 +07:00
Konstantin Anisimov 86cca4488f Workaround for verified args is removed, test is excluded 2017-02-16 15:49:04 +07:00
Konstantin Anisimov 76ebe9d870 TESTS: recursive inlining 2017-02-16 15:49:04 +07:00
Konstantin Anisimov 41ab4727d4 Inlining lambda with parameters 2017-02-16 15:49:04 +07:00
Konstantin Anisimov 566ecbe647 New test have been enabled 2017-02-16 15:49:04 +07:00
Vasily Levchenko 6310ec80c3 TEST: added defaults9 test 2017-02-16 11:40:10 +03:00
Vasily Levchenko 32a988df17 IR: fix of delegating call of primary constructor with default arguments 2017-02-16 11:40:10 +03:00
vvlevchenko 00dccf6175 BUILD: make build compilable with 1.1-20170215.165623-424 (#246) 2017-02-15 22:29:32 +03:00
Ilya Matveev ed2bc1a425 backend: Remove casts for nothing-returning builtin functions 2017-02-15 18:28:55 +03:00
Vasily Levchenko 75d09e6674 IR: allow work with childrenless IR nodes in expression body 2017-02-15 17:46:01 +03:00
Vasily Levchenko b5f43d6e6c IR: primitive varargs: boolean 2017-02-15 17:23:21 +03:00
Vasily Levchenko dce92af744 STDLIB: boolean array routines: copyRangeTo 2017-02-15 17:23:21 +03:00
Vasily Levchenko c395bc80a0 TEST: defaults7 test enabled and defaults4 was enabled 2017-02-15 14:48:28 +03:00
Vasily Levchenko 2a6450446d IR: enhancements in default parameter extension
- simplify argument count
- refactoring
- inner class support
2017-02-15 14:48:28 +03:00
Vasily Levchenko fca160d09d RUNTIME: ExportForCompiler appliable to class 2017-02-15 14:48:28 +03:00
Vasily Levchenko f809fb3a06 STDLIB: default parameter marker object for constructors with default arguments (internal) 2017-02-15 14:48:28 +03:00
Nikolay Igotti a7bad9a950 Fix several tests by adding missing stdlib pieces. (#239) 2017-02-14 19:31:29 +03:00
Ilya Matveev 061a8a0b55 Remove main function from some external tests 2017-02-14 11:52:16 +03:00
Nikolay Igotti 57c899763d Switch runtime to UTF16 strings, sigh. (#236) 2017-02-14 11:03:20 +03:00
Nikolay Igotti 4978cecf7a Fix several tests. (#234) 2017-02-13 17:48:35 +03:00
Vasily Levchenko 661d66477c TEST: assertEquals msg paramter is optional 2017-02-13 13:39:38 +03:00
Vasily Levchenko 201ee72b15 reporting: teamcity integration some symbols required to be escaped in messages sent tp teamcity
see  buildSrc/src/main/groovy/org/jetbrains/kotlin/KonanTest.groovy for details.
2017-02-13 13:39:38 +03:00
Svyatoslav Scherbina 8dc171aabb backend/tests: add interop_echo_server (doesn't check that it works yet) 2017-02-13 11:08:24 +07:00
Vasily Levchenko a93c382301 reporting: fix path to final test report. 2017-02-12 08:56:50 +03:00
Vasily Levchenko c8ed56b24a STDLIB: support for vararg of primitive types
- *Array.copyRangeTo for Byte,Short,Char,Long,Float,Double
- bunch of *ArrayOf(vararg elements:*) = elements and inlined
- small inhancement in  c++ part of Kotlin_*Array_copyImpl(...) refactored
2017-02-10 18:18:02 +03:00
Vasily Levchenko be75e1bce9 IR: make vararg lowering more specific in array type creation (e.g. instaed of Array<Int> use IntArray) 2017-02-10 18:18:02 +03:00