Vasily Levchenko
80587b65ee
compiler: 1.1-20170206.215253-402
2017-02-07 11:21:07 +03:00
Konstantin Anisimov
49f168a7f0
Inline tests are suspended
2017-02-06 20:32:59 +07:00
Ilya Matveev
e0a1536c9b
backend: Generalize createFunctionIrBuilder function.
2017-02-06 15:25:48 +03:00
Ilya Matveev
395b49e62b
backend: Remove string concatenation from codegen
2017-02-06 15:25:48 +03:00
Ilya Matveev
51a63222b9
backend: String concatenation lowering
2017-02-06 15:25:48 +03:00
Ilya Matveev
f251bd2b61
backend: Add IrLetSequence extension for IrBlockBuilder
2017-02-06 15:25:48 +03:00
Nikolay Igotti
4865a5dd60
Temporrary disable inline and restore interop lowering.
2017-02-06 14:58:43 +03:00
Nikolay Igotti
6c33db34da
Assert type used in virtual dispatch.
2017-02-06 14:40:12 +03:00
KonstantinAnisimov
f2a611d4d2
Merge pull request #216 from JetBrains/inline
...
Inline
2017-02-06 17:39:11 +07:00
KonstantinAnisimov
dcb0a074da
Merge branch 'master' into inline
2017-02-06 17:21:28 +07:00
Konstantin Anisimov
3359758ceb
Merge
2017-02-06 16:53:26 +07:00
Konstantin Anisimov
17c3f9fd86
Typo fixed
2017-02-06 16:49:12 +07:00
Konstantin Anisimov
27de5850d9
Comments added. Variables renamed
2017-02-06 16:49:12 +07:00
Nikolay Igotti
84635b0eca
Improve object arrays support. ( #182 )
...
Also fix the way how symbol names are being generated. Before arrays2.kt was not linking.
2017-02-06 16:45:17 +07:00
Nikolay Igotti
5808df477a
Cycle collector. ( #175 )
2017-02-06 16:45:14 +07:00
Konstantin Anisimov
35807b4f40
Merge
2017-02-06 16:45:14 +07:00
Konstantin Anisimov
99ef87ec78
TESTS: new tests added
2017-02-06 16:45:14 +07:00
Konstantin Anisimov
6a1745e8ac
TESTS: new inline tests added
2017-02-06 16:44:53 +07:00
Svyatoslav Scherbina
150d0f6cd5
backend: update kotlin-compiler and remove code contributed to Kotlin
...
Update kotlin-compiler to 1.1-20170112.203631-353
Also remove workarounds for fixed bugs.
2017-02-06 16:44:00 +07:00
Konstantin Anisimov
8eb35fc1dc
Typo fixed
2017-02-06 16:29:42 +07:00
Svyatoslav Scherbina
56bab774f1
backend/tests: add interop0
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
5e54c29afb
buildSrc: implement RunInteropKonanTest
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
97cd2b4d5f
backend: implement '-nativelibrary' command line argument
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
cf3b95fb3d
Interop/StubGenerator, NativeInteropPlugin: add support for Kotlin Native
...
Also add minor improvements.
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
4b694225c1
backend/codegen, runtime: support interop intrinsics and natives
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
3892820052
backend: lower interop
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
7f90ce3d8a
backend: support native interop value types
...
also improve reliability of `==` lowering
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
1bafee0ac3
backend: add utils for interop support
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
d02fd5ec1b
build: add Interop/Runtime to stdlib
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
6939398521
Interop/Runtime: fix major bug: alloc C strings using correct placement
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
49815f72e0
Interop/Runtime: add support for Kotlin Native
...
Also add minor improvements, fix bugs and workaround missing features.
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina
91aab11e01
backend: remove special handling for setter call because it is incorrect
...
Handle it as usual call.
2017-02-06 11:58:10 +07:00
Igor Chevdar
2f9bde4482
Local objects ( #215 )
...
* bug fix
* bug fix with nested inner classes
* - fixed FixMeInner
- support of inner classes in local classes
- support of object expressions in initializers
* comments
* merged modification
* - review fixes
- tests
* review fixes
* review fixes
2017-02-03 19:41:34 +05:00
Konstantin Anisimov
bd129d62c9
Comments added. Variables renamed
2017-02-03 19:36:01 +07:00
Konstantin Anisimov
90b12e3041
Merge
2017-02-03 19:26:31 +07:00
Konstantin Anisimov
4306215b18
Merge
2017-02-03 19:19:00 +07:00
Konstantin Anisimov
697140de49
TESTS
2017-02-03 18:09:33 +07:00
Konstantin Anisimov
922eb9fac3
Non local return implemented
2017-02-03 18:09:28 +07:00
Konstantin Anisimov
d966cae14a
Lambda without parameters is inlined
2017-02-03 18:07:50 +07:00
Konstantin Anisimov
279684f6aa
Intermediate results
2017-02-03 18:07:50 +07:00
Konstantin Anisimov
5ce0e2c74f
Inlining moved in the beginning of lowering passes
2017-02-03 18:07:05 +07:00
Konstantin Anisimov
70b35f9aa7
TESTS: new tests added
2017-02-03 18:05:56 +07:00
Konstantin Anisimov
8dece0f817
Evaluation of parameter expression implemented
2017-02-03 18:05:40 +07:00
Konstantin Anisimov
97411bca6e
TESTS: new test added
2017-02-03 18:05:40 +07:00
Konstantin Anisimov
02e604cc71
TESTS: new tests added
2017-02-03 18:05:40 +07:00
Konstantin Anisimov
9e3fe3a41c
TESTS: new inline tests added
2017-02-03 18:05:38 +07:00
Nikolay Igotti
ae49bd8432
Improve object arrays support. ( #182 )
...
Also fix the way how symbol names are being generated. Before arrays2.kt was not linking.
2017-02-03 18:04:36 +07:00
Vasily Levchenko
26ee99185c
IR: default parameter extension support
...
for code
```
fun Int.foo(a:Int, b:Int = a + 1, c:Int = a + b) = a + b +c
fun main(arg:Array<String>) {
42.foo(0)
}
```
we generate IR representation corresponding to the following code
```
fun Int.foo(a:Int, b:Int, c:Int) = a + b +c
fun foo_default(a:Int, b:Int, c:Int, __mask__:Int, __receiver__:Int):Int {
var tmpb:Int = 0
if ((__mask__ and (1 shl 1)) != 0)
tmpb = a + 1
else
tmpb = b
var tmpc:Int = 0
if ((__mask__ and (1 shl 2)) != 0)
tmpc = a + tmpb
else
tmpc = c
return __receiver__.foo(a, tmpb, tmpc)
}
fun main(arg:Array<String>) {
foo_default(0, 0, 0, 6 /* (1 shl 1) | (1 shl 2)*/, 42)
}
```
NOTE: if call provides all arguents we don't emit call of _default function.
2017-02-03 18:03:14 +07:00
Nikolay Igotti
e3662bfa1e
Cycle collector. ( #175 )
2017-02-03 18:00:58 +07:00
Konstantin Anisimov
43a6cf722d
merge
2017-02-03 11:49:42 +07:00