J2K: adding type arguments where they are needed and removing them where they are redundant

This commit is contained in:
Valentin Kipyatkov
2014-07-15 20:43:38 +04:00
parent f836278acc
commit 957ffb0313
31 changed files with 213 additions and 95 deletions
@@ -1 +1 @@
val a = array<Double>(1.0, 2.0, 3.0)
val a = array(1.0, 2.0, 3.0)
@@ -1 +1 @@
val a = array<IntArray>(intArray(1, 2, 3), intArray(4, 5, 6), intArray(7, 8, 9))
val a = array(intArray(1, 2, 3), intArray(4, 5, 6), intArray(7, 8, 9))
@@ -1 +1 @@
val d2 = Array<IntArray>(5, { IntArray(5) })
val d2 = Array(5, { IntArray(5) })
@@ -1 +1 @@
val sss = Array<Array<Array<String>>>(5, { Array<Array<String>>(5, { arrayOfNulls<String>(5) }) })
val sss = Array(5, { Array<Array<String>>(5, { arrayOfNulls<String>(5) }) })
@@ -1 +1 @@
val a = array<String>("abc")
val a = array("abc")
@@ -25,9 +25,9 @@ public class Identifier<T>(private val myName: T, private val myHasDollar: Boole
public class User {
class object {
public fun main() {
val i1 = Identifier<String>("name", false, true)
val i1 = Identifier("name", false, true)
val i2 = Identifier<String>("name", false)
val i3 = Identifier<String>("name")
val i3 = Identifier("name")
}
}
}
+3 -3
View File
@@ -3,12 +3,12 @@ import kotlin.List
class A {
private val field1 = ArrayList<String>()
val field2: List<String> = ArrayList<String>()
val field2: List<String> = ArrayList()
public val field3: Int = 0
protected val field4: Int = 0
private var field5: List<String> = ArrayList<String>()
var field6: List<String> = ArrayList<String>()
private var field5: List<String> = ArrayList()
var field6: List<String> = ArrayList()
private var field7 = 0
var field8 = 0
+1 -1
View File
@@ -3,6 +3,6 @@ package demo
class Test {
fun test(vararg args: Any) {
var args = args
args = array<Int>(1, 2, 3)
args = array(1, 2, 3)
}
}
+1 -1
View File
@@ -10,6 +10,6 @@ public class Java {
fun test2() {
val m = HashMap()
val g = G("")
val g2 = G<String>("")
val g2 = G("")
}
}
+2 -2
View File
@@ -25,9 +25,9 @@ public class Identifier<T>(private val myName: T, private val myHasDollar: Boole
public class User {
class object {
public fun main(args: Array<String>) {
val i1 = Identifier<String>("name", false, true)
val i1 = Identifier("name", false, true)
val i2 = Identifier<String>("name", false)
val i3 = Identifier<String>("name")
val i3 = Identifier("name")
}
}
}
@@ -2,5 +2,5 @@ import java.util.*
import kotlin.List
class A {
var list: List<String> = ArrayList<String>()
var list: List<String> = ArrayList()
}
@@ -2,6 +2,6 @@ import kotlinApi.*
class C {
fun foo() {
val v = globalGenericFunction<Int>(1)
val v = globalGenericFunction(1)
}
}
@@ -3,9 +3,9 @@ import kotlin.Map
class A {
fun foo(): Map<String, String> {
val list1 = listOf()
val list1 = listOf<String>()
val list2 = listOf(1)
val set1 = setOf()
val set1 = setOf<String>()
val set2 = setOf("a")
return mapOf()
}
@@ -9,7 +9,7 @@ class Collection<E>(e: E) {
class Test {
fun main() {
val raw1 = Collection(1)
val raw2 = Collection<Int>(1)
val raw3 = Collection<String>("1")
val raw2 = Collection(1)
val raw3 = Collection("1")
}
}
@@ -10,6 +10,6 @@ class U {
val t = TestT()
t.getT<String>()
t.getT<Int>()
t.getT()
t.getT<Any>()
}
}
@@ -3,8 +3,8 @@ import java.util.*
import kotlin.List
class A {
private val field1: List<String> = ArrayList<String>()
val field2: List<String> = ArrayList<String>()
private val field1: List<String> = ArrayList()
val field2: List<String> = ArrayList()
public val field3: Int = 0
protected val field4: Int = 0
}
@@ -0,0 +1,19 @@
import java.util.HashMap;
import java.util.Map;
class A {
void foo() {
Map<String, Integer> map1 = getMap1();
Map<String, Integer> map2 = getMap2("a", 1);
}
<K, V> Map<K, V> getMap1() {
return new HashMap<>();
}
<K, V> Map<K, V> getMap2(K k, V v) {
HashMap<K, V> map = new HashMap<>();
map.put(k, v);
return map;
}
}
@@ -0,0 +1,18 @@
import java.util.HashMap
class A {
fun foo() {
val map1 = getMap1<String, Int>()
val map2 = getMap2("a", 1)
}
fun <K, V> getMap1(): Map<K, V> {
return HashMap()
}
fun <K, V> getMap2(k: K, v: V): Map<K, V> {
val map = HashMap<K, V>()
map.put(k, v)
return map
}
}