Alexander Gorshenev
afaa50ce34
Introduced -target and -list_targets flags.
...
Use it like
$ konanc hello.kt -target iphone
2017-01-23 00:17:39 +04:00
Nikolay Igotti
d31b44135a
Temporary disable inlining.
2017-01-20 19:03:54 +03:00
Svyatoslav Scherbina
1f7738e052
backend: fix minor bug in evaluateWhen
...
Also add the corresponding test 'when9'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina
0958d32605
backend: improve typealias support:
...
* handle TypeAliasConstructorDescriptor in codegen
* ignore ignore typealias declaration in codegen
Also add test 'typealias1'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina
65444ec690
backend: improve type operators support:
...
* add initial support for casts with generics;
* optimize out the casts to subtypes
Also add tests unchecked_cast{1,2}, the latter is disabled.
2017-01-20 20:02:50 +07:00
ilmat192
9bf0380048
Merge pull request #185 from JetBrains/blackbox-testing
...
Blackbox testing
2017-01-20 14:28:09 +03:00
Ilya Matveev
48122c8a03
backend/tests: Add test result reporting to run_external task.
...
+ regenerate external tests.
2017-01-20 14:24:35 +03:00
Ilya Matveev
d18219c383
backend/tests: Fixes in regenerate_external_tests task
2017-01-20 14:24:35 +03:00
Ilya Matveev
6efe2b6d31
backend/tests: Add compilation logging
2017-01-20 14:24:35 +03:00
Ilya Matveev
8ec33334a4
backend/tests: Enable some tests in the binaryOp group
2017-01-20 14:24:26 +03:00
Ilya Matveev
2ef49da2fe
backend/tests: Ignore all tests with IGNORE_BACKEND: JS directive
2017-01-20 14:04:04 +03:00
Ilya Matveev
89a74c0591
backend/tests: Use IGNORE_BACKEND directive to exclude java-dependent tests
2017-01-20 14:04:04 +03:00
Ilya Matveev
d24f966600
backend/tests: Regenerated external test tasks
2017-01-20 14:04:04 +03:00
Ilya Matveev
bfdda21da1
backend/tests: Added task generation for test groups instead of tests
2017-01-20 14:04:04 +03:00
Ilya Matveev
b6587252c0
backend/tests: Added test group running
2017-01-20 14:04:04 +03:00
Ilya Matveev
ee58c7ee5f
backend/tests: Added autogenerated tasks for external tests
2017-01-20 14:04:04 +03:00
Ilya Matveev
fd44baf2c0
backend/tests: Infrastructure for external test running
2017-01-20 14:04:04 +03:00
Ilya Matveev
1b553ebfaf
backend/tests: Add blackbox tests from Kotlin JVM
...
Added tests from testData/codegen/box directory. There are blackbox tests
in other directories and they are to be added.
2017-01-20 14:04:04 +03:00
Svyatoslav Scherbina
d5988297b1
backend/tests: add objectExpression{1,2,3}
2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina
26e1075893
backend: lower local classes
2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina
ead5f93a90
backend: rename Local{Functions => Declarations}Lowering
2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina
28f1f5a180
backend: import LocalFunctionsLowering again
2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina
40eea333ce
backend: build ModuleIndex for codegen after lowering
2017-01-20 17:53:38 +07:00
Svyatoslav Scherbina
97b5c60455
backend: support IrField located directly at IrClass
2017-01-20 17:53:38 +07:00
Nikolay Igotti
eb6ba1cfa5
Fix primitive type globals initialization. ( #189 )
2017-01-20 13:31:47 +03:00
Nikolay Igotti
1c878e4843
Improve object init order. ( #187 )
2017-01-20 13:31:01 +03:00
Vasily Levchenko
0e05d3b30a
compiler: 1.1-20170119.231846-374
2017-01-20 12:06:53 +03:00
KonstantinAnisimov
e604efb254
Merge pull request #176 from JetBrains/inline
...
Inline
2017-01-20 10:26:52 +07:00
KonstantinAnisimov
1a83014eba
Merge branch 'master' into inline
2017-01-20 10:26:34 +07:00
Konstantin Anisimov
67013f8a60
Two passes inline scheme implemented
2017-01-18 17:22:14 +07:00
Konstantin Anisimov
551218c133
TESTS: new tests added
2017-01-18 17:21:04 +07:00
Svyatoslav Scherbina
8474168960
backend/tests: add objectInitialization1
2017-01-18 12:33:43 +07:00
Svyatoslav Scherbina
648e728d90
backend, runtime: place vtable at the end of TypeInfo
2017-01-17 13:26:32 +07:00
Nikolay Igotti
913916e6dd
Implement virtual invoke via vtables. ( #181 )
...
Small refactoring to share vtable computation code.
2017-01-16 15:25:36 +03:00
Vasily Levchenko
56093ecbe0
compiler: 1.1-20170116.100209-359
2017-01-16 14:19:07 +03:00
Nikolay Igotti
90577d440a
Improve object arrays support. ( #182 )
...
Also fix the way how symbol names are being generated. Before arrays2.kt was not linking.
2017-01-16 12:22:27 +03:00
Svyatoslav Scherbina
3b4c25988e
backend/tests: add defaults{4,5,6}
2017-01-16 10:57:40 +07:00
Vasily Levchenko
81d77c39f4
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-01-13 13:42:02 +03:00
Vasily Levchenko
a8caf7c7d8
TEST: test for default parameters
...
(cherry picked from commit 7999d68d812aedd5863f04b7fd2171e284b8f332)
2017-01-13 13:42:02 +03:00
Svyatoslav Scherbina
b994fabadd
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-01-13 16:13:49 +07:00
Nikolay Igotti
239a573142
GC interface. ( #178 )
2017-01-13 12:03:38 +03:00
Konstantin Anisimov
faf64ec330
Refactoring
2017-01-13 11:37:37 +07:00
Nikolay Igotti
b1101ba43e
Cycle collector. ( #175 )
2017-01-11 17:38:03 +03:00
Svyatoslav Scherbina
8b83cb2adf
backend: enable some tests
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
26dd735240
runtime: enable some stdlib code
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
7464b2cb09
backend: improve support for references to vararg functions
...
(doesn't happen for now)
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
f08bd7aa6f
backend: erase types in callable reference targets
...
(required because function types are not specialized yet)
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
0e6d8c3a7c
backend: support boxing when generics involved
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
83bdae5d02
backend: use "erased" types for LLVM function signatures
2017-01-11 19:32:25 +07:00
Svyatoslav Scherbina
92b462255c
runtime: implement remaining boxing
2017-01-11 19:32:25 +07:00