Import insertion algorithm

This commit is contained in:
Valentin Kipyatkov
2015-01-22 23:04:32 +03:00
parent 975b67ed29
commit dfe71ef7ae
83 changed files with 1033 additions and 73 deletions
@@ -0,0 +1,6 @@
// IMPORT: class: kotlin.String
package p
import java.lang.String
fun foo(): ArrayList<String> {}
@@ -0,0 +1 @@
Failed to add import
@@ -0,0 +1,4 @@
// IMPORT: java.sql.Date
import java.util.*
val d: Date = Date()
@@ -0,0 +1 @@
Failed to add import
@@ -0,0 +1,4 @@
// IMPORT: java.sql.Date
import java.util as Date
val d: Date.Date = Date.Date()
@@ -0,0 +1 @@
Failed to add import
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.util.*
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.util.*
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.util.ArrayList
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.util.ArrayList
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
val d = Date()
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.util.*
import java.sql.Date
val d = Date()
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
val d: Date? = null
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.util.*
import java.sql.Date
val d: Date? = null
@@ -0,0 +1,5 @@
package dependency
class Date
fun Date(s: String) = Date()
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
val d = Date(1, 2)
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
import java.util.*
import dependency.Date
val d = Date(1, 2)
@@ -0,0 +1,7 @@
package dependency
class Date {
class object {
val VALUE = 0
}
}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
val d = Date.VALUE
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
import java.util.*
import dependency.Date
val d = Date.VALUE
@@ -0,0 +1,5 @@
package dependency
class AClass {
class Date
}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import dependency.AClass.*
val d = Date()
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import dependency.AClass.*
import java.util.*
import dependency.AClass.Date
val d = Date()
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
val d: java.sql.Date? = null
@@ -0,0 +1,7 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.util.*
val d: java.sql.Date? = null
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
class Date
val d: Date? = null
@@ -0,0 +1,9 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.util.*
class Date
val d: Date? = null
@@ -0,0 +1,3 @@
package dependency
class Date
@@ -0,0 +1,7 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
import java.sql.*
val d = Date()
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import dependency.*
import java.sql.*
import java.util.*
val d = Date()
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
val d: Driver? = null
@@ -0,0 +1,7 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.util.*
val d: Driver? = null
@@ -0,0 +1,7 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.sql.Date
val d: Date? = null
@@ -0,0 +1,8 @@
// IMPORT: java.util.ArrayList
package p
import java.sql.*
import java.sql.Date
import java.util.*
val d: Date? = null
@@ -0,0 +1,4 @@
// IMPORT: java.sql.Date
package p
import java.util.*
@@ -0,0 +1,5 @@
// IMPORT: java.sql.Date
package p
import java.util.*
import java.sql.Date
@@ -0,0 +1,5 @@
// IMPORT: java.sql.Date
package p
import java.util.*
import java.sql.*
@@ -0,0 +1,6 @@
// IMPORT: java.sql.Date
package p
import java.util.*
import java.sql.*
import java.sql.Date
@@ -0,0 +1,3 @@
package dependency
class Date
@@ -0,0 +1,5 @@
// IMPORT: dependency.Date
package p
import java.util.*
import java.sql.*
@@ -0,0 +1,6 @@
// IMPORT: dependency.Date
package p
import java.util.*
import java.sql.*
import dependency.Date
@@ -0,0 +1,14 @@
// IMPORT: java.util.HashMap
package p
import java.sql.*
import java.util.ArrayList // maybe dropped on adding import with *
import java.util.Date // should not be dropped because of conflicting java.sql.Date class
import java.util.HashSet as JavaHashSet // alias import should not be dropped
import java.util.concurrent // import of package should not be dropped because packages are not imported by *
fun foo() {
val v1 = JavaHashSet()
val v2 = Date()
val v3 = ArrayList()
}
@@ -0,0 +1,14 @@
// IMPORT: java.util.HashMap
package p
import java.sql.*
import java.util.HashSet as JavaHashSet // alias import should not be dropped
import java.util.concurrent // import of package should not be dropped because packages are not imported by *
import java.util.*
import java.util.Date
fun foo() {
val v1 = JavaHashSet()
val v2 = Date()
val v3 = ArrayList()
}
@@ -0,0 +1,6 @@
package dependency
fun function(){}
val property: Int = 0
class Class1
class Class2
@@ -0,0 +1,6 @@
// IMPORT: dependency.Class2
package p
import dependency.Class1
import dependency.function
import dependency.property
@@ -0,0 +1,4 @@
// IMPORT: dependency.Class2
package p
import dependency.*
@@ -0,0 +1,3 @@
package dependency
fun foo(){}
@@ -0,0 +1,8 @@
// IMPORT: dependency.foo
package p
import dependency.foo
fun f() {
foo()
}
@@ -0,0 +1,8 @@
// IMPORT: dependency.foo
package p
import dependency.foo
fun f() {
foo()
}
@@ -0,0 +1,3 @@
package dependency
fun foo(){}
@@ -0,0 +1,8 @@
// IMPORT: dependency.foo
package p
import dependency.*
fun f() {
foo()
}
@@ -0,0 +1,8 @@
// IMPORT: dependency.foo
package p
import dependency.*
fun f() {
foo()
}
@@ -0,0 +1,4 @@
// IMPORT: java.util.ArrayList
package p
fun foo() {}
@@ -0,0 +1,6 @@
// IMPORT: java.util.ArrayList
package p
import java.util.*
fun foo() {}
+4
View File
@@ -0,0 +1,4 @@
// IMPORT: java.util
package p
fun foo(): util.ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util
package p
import java.util
fun foo(): util.ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: class: kotlin.String
package p
import java.util.*
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: class: kotlin.String
package p
import java.util.*
fun foo(): ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util
package p
import java.util
fun foo(): util.ArrayList<String> {}
@@ -0,0 +1,6 @@
// IMPORT: java.util
package p
import java.util
fun foo(): util.ArrayList<String> {}
@@ -0,0 +1,3 @@
package dependency
val foo: Int = 1
@@ -0,0 +1,6 @@
// IMPORT: dependency.foo
package p
import dependency.foo
fun f() = foo
@@ -0,0 +1,6 @@
// IMPORT: dependency.foo
package p
import dependency.foo
fun f() = foo
@@ -0,0 +1,3 @@
package dependency
val foo: Int = 1
@@ -0,0 +1,6 @@
// IMPORT: dependency.foo
package p
import dependency.*
fun f() = foo
@@ -0,0 +1,6 @@
// IMPORT: dependency.foo
package p
import dependency.*
fun f() = foo