Skip to content

Commit ac687c3

Browse files
committed
Kotlin support for RxJava
1 parent 18b1362 commit ac687c3

File tree

5 files changed

+442
-3
lines changed

5 files changed

+442
-3
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
buildscript {
2+
repositories {
3+
mavenCentral()
4+
maven {
5+
url 'http://repository.jetbrains.com/all'
6+
}
7+
}
8+
dependencies {
9+
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.5.429'
10+
}
11+
}
12+
13+
apply plugin: 'java'
14+
apply plugin: 'kotlin'
15+
apply plugin: 'eclipse'
16+
apply plugin: 'idea'
17+
apply plugin: 'osgi'
18+
19+
20+
repositories {
21+
maven {
22+
url 'http://repository.jetbrains.com/all'
23+
}
24+
}
25+
26+
dependencies {
27+
compile project(':rxjava-core')
28+
compile 'org.jetbrains.kotlin:kotlin-stdlib:0.5.429'
29+
provided 'junit:junit-dep:4.10'
30+
provided 'org.mockito:mockito-core:1.8.5'
31+
provided 'com.google.guava:guava:14.0.1'
32+
}
33+
34+
eclipse {
35+
classpath {
36+
// include 'provided' dependencies on the classpath
37+
plusConfigurations += configurations.provided
38+
39+
downloadSources = true
40+
downloadJavadoc = true
41+
}
42+
}
43+
44+
idea {
45+
module {
46+
// include 'provided' dependencies on the classpath
47+
scopes.PROVIDED.plus += configurations.provided
48+
}
49+
}
50+
51+
jar {
52+
manifest {
53+
name = 'rxjava-kotlin'
54+
instruction 'Bundle-Vendor', 'Netflix'
55+
instruction 'Bundle-DocURL', 'https://github.com/Netflix/RxJava'
56+
instruction 'Import-Package', '!org.junit,!junit.framework,!org.mockito.*,*'
57+
instruction 'Fragment-Host', 'com.netflix.rxjava.core'
58+
}
59+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package rx.lang.kotlin
2+
3+
import rx.util.functions.FunctionLanguageAdaptor
4+
5+
public class KotlinAdaptor: FunctionLanguageAdaptor {
6+
7+
public override fun call(function: Any?, args: Array<out Any>?): Any? {
8+
return when(args!!.size){
9+
0 -> (function!! as Function0<Any>)()
10+
1 -> (function!! as Function1<Any, Any>)(args[0])
11+
2 -> (function!! as Function2<Any, Any, Any>)(args[0], args[1])
12+
3 -> (function!! as Function3<Any, Any, Any, Any>)(args[0], args[1], args[2])
13+
4 -> (function!! as Function4<Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3])
14+
5 -> (function!! as Function5<Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4])
15+
6 -> (function!! as Function6<Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5])
16+
7 -> (function!! as Function7<Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6])
17+
8 -> (function!! as Function8<Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7])
18+
9 -> (function!! as Function9<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8])
19+
10 -> (function!! as Function10<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9])
20+
11 -> (function!! as Function11<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10])
21+
12 -> (function!! as Function12<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11])
22+
13 -> (function!! as Function13<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12])
23+
14 -> (function!! as Function14<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13])
24+
15 -> (function!! as Function15<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14])
25+
16 -> (function!! as Function16<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15])
26+
17 -> (function!! as Function17<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16])
27+
18 -> (function!! as Function18<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16], args[17])
28+
19 -> (function!! as Function19<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16], args[17], args[18])
29+
20 -> (function!! as Function20<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16], args[17], args[18], args[19])
30+
21 -> (function!! as Function21<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16], args[17], args[18], args[19], args[20])
31+
22 -> (function!! as Function22<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>)(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15], args[16], args[17], args[18], args[19], args[20], args[21])
32+
else -> throw UnsupportedOperationException("")
33+
}
34+
}
35+
36+
public override fun getFunctionClass(): Array<Class<out Any?>>? {
37+
return array(
38+
javaClass<Function0<Any>>(),
39+
javaClass<Function1<Any, Any>>(),
40+
javaClass<Function2<Any, Any, Any>>(),
41+
javaClass<Function3<Any, Any, Any, Any>>(),
42+
javaClass<Function4<Any, Any, Any, Any, Any>>(),
43+
javaClass<Function5<Any, Any, Any, Any, Any, Any>>(),
44+
javaClass<Function6<Any, Any, Any, Any, Any, Any, Any>>(),
45+
javaClass<Function7<Any, Any, Any, Any, Any, Any, Any, Any>>(),
46+
javaClass<Function8<Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
47+
javaClass<Function9<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
48+
javaClass<Function10<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
49+
javaClass<Function11<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
50+
javaClass<Function12<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
51+
javaClass<Function13<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
52+
javaClass<Function14<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
53+
javaClass<Function15<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
54+
javaClass<Function16<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
55+
javaClass<Function17<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
56+
javaClass<Function18<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
57+
javaClass<Function19<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
58+
javaClass<Function20<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
59+
javaClass<Function21<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>(),
60+
javaClass<Function22<Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any>>())
61+
}
62+
}

0 commit comments

Comments
 (0)