Create From Usage: Create class by type reference

This commit is contained in:
Alexey Sedunov
2014-10-28 17:34:02 +03:00
parent a76607beca
commit 1f14d93412
34 changed files with 458 additions and 2 deletions
@@ -0,0 +1,10 @@
// "Create trait 'A'" "true"
package p
class Foo: A {
}
trait A {
}
@@ -0,0 +1,8 @@
// "Create class 'A'" "false"
// ACTION: Create trait 'A'
// ERROR: Unresolved reference: A
package p
class Foo: <caret>A {
}
@@ -0,0 +1,6 @@
// "Create trait 'A'" "true"
package p
class Foo: <caret>A {
}
@@ -0,0 +1,6 @@
// "Create annotation 'A'" "true"
package p
fun foo(): A = throw Throwable("")
annotation class A
@@ -0,0 +1,8 @@
// "Create class 'A'" "true"
package p
fun foo(): p.A = throw Throwable("")
class A {
}
@@ -0,0 +1,8 @@
// "Create class 'A'" "true"
package p
fun foo(): A = throw Throwable("")
class A {
}
@@ -0,0 +1,8 @@
// "Create class 'A'" "true"
package p
fun foo(): A<Int, String> = throw Throwable("")
class A<T, U> {
}
@@ -0,0 +1,9 @@
// "Create class 'A'" "true"
// ERROR: Unresolved reference: B
package p
fun foo(): A.B = throw Throwable("")
class A {
}
@@ -0,0 +1,12 @@
// "Create class 'A'" "true"
package p
class T {
class A {
}
}
fun foo(): T.A = throw Throwable("")
@@ -0,0 +1,8 @@
// "Create enum 'A'" "true"
package p
fun foo(): A = throw Throwable("")
enum class A {
}
@@ -0,0 +1,9 @@
// "Create object 'A'" "true"
// ERROR: Unresolved reference: B
package p
fun foo(): A.B = throw Throwable("")
object A {
}
@@ -0,0 +1,8 @@
// "Create trait 'A'" "true"
package p
fun foo(): A = throw Throwable("")
trait A {
}
@@ -0,0 +1,4 @@
// "Create annotation 'A'" "true"
package p
fun foo(): <caret>A = throw Throwable("")
@@ -0,0 +1,8 @@
// "Create annotation 'A'" "false"
// ACTION: Create class 'A'
// ACTION: Create trait 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A<Int, String> = throw Throwable("")
@@ -0,0 +1,10 @@
// "Create annotation 'A'" "false"
// ACTION: Create class 'A'
// ACTION: Create object 'A'
// ACTION: Create trait 'A'
// ACTION: Create enum 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A.B = throw Throwable("")
@@ -0,0 +1,4 @@
// "Create class 'A'" "true"
package p
fun foo(): p.<caret>A = throw Throwable("")
@@ -0,0 +1,6 @@
// "Create class 'A'" "false"
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): Int.<caret>A = throw Throwable("")
@@ -0,0 +1,4 @@
// "Create class 'A'" "true"
package p
fun foo(): <caret>A = throw Throwable("")
@@ -0,0 +1,4 @@
// "Create class 'A'" "true"
package p
fun foo(): <caret>A<Int, String> = throw Throwable("")
@@ -0,0 +1,5 @@
// "Create class 'A'" "true"
// ERROR: Unresolved reference: B
package p
fun foo(): <caret>A.B = throw Throwable("")
@@ -0,0 +1,8 @@
// "Create class 'A'" "true"
package p
class T {
}
fun foo(): T.<caret>A = throw Throwable("")
@@ -0,0 +1,10 @@
// "Create enum constant 'A'" "false"
// ACTION: Create annotation 'A'
// ACTION: Create class 'A'
// ACTION: Create trait 'A'
// ACTION: Create enum 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A = throw Throwable("")
@@ -0,0 +1,4 @@
// "Create enum 'A'" "true"
package p
fun foo(): <caret>A = throw Throwable("")
@@ -0,0 +1,8 @@
// "Create enum 'A'" "false"
// ACTION: Create class 'A'
// ACTION: Create trait 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A<Int, String> = throw Throwable("")
@@ -0,0 +1,10 @@
// "Create object 'A'" "false"
// ACTION: Create annotation 'A'
// ACTION: Create class 'A'
// ACTION: Create trait 'A'
// ACTION: Create enum 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A = throw Throwable("")
@@ -0,0 +1,8 @@
// "Create object 'A'" "false"
// ACTION: Create class 'A'
// ACTION: Create trait 'A'
// ACTION: Convert to block body
// ERROR: Unresolved reference: A
package p
fun foo(): <caret>A<Int, String> = throw Throwable("")
@@ -0,0 +1,5 @@
// "Create object 'A'" "true"
// ERROR: Unresolved reference: B
package p
fun foo(): <caret>A.B = throw Throwable("")
@@ -0,0 +1,4 @@
// "Create trait 'A'" "true"
package p
fun foo(): <caret>A = throw Throwable("")