Create From Usage: Create class by annotation entry/super-call delegation specifier

This commit is contained in:
Alexey Sedunov
2014-11-05 14:31:33 +03:00
parent 1b1eb10979
commit afeb03f383
31 changed files with 357 additions and 6 deletions
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
foo(1, "2") fun test() {
}
annotation class foo(val i: Int, val s: String)
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo] fun test() {
}
annotation class foo
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo()] fun test() {
}
annotation class foo
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo(1, "2")] fun test() {
}
annotation class foo(val i: Int, val s: String)
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo(1, "2")] fun test() {
}
annotation class foo(val i: Int, val s: String)
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo(1)] fun test() {
}
annotation class foo(val value: Int)
@@ -0,0 +1,7 @@
// "Create annotation 'foo'" "true"
[foo(fooBar = 1)] fun test() {
}
annotation class foo(val fooBar: Int)
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
<caret>foo(1, "2") fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo] fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo()] fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo(1, "2")] fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo<String>(1, "2")] fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "false"
// ACTION: Create function 'foo'
// ERROR: Unresolved reference: foo
fun test() = <caret>foo(1, "2")
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo(1)] fun test() {
}
@@ -0,0 +1,5 @@
// "Create annotation 'foo'" "true"
[<caret>foo(fooBar = 1)] fun test() {
}
@@ -0,0 +1,10 @@
// "Create class 'A'" "true"
package p
class Foo: A(1, "2") {
}
open class A(i: Int, s: String) {
}
@@ -0,0 +1,14 @@
// "Create class 'A'" "true"
package p
class X {
open class A(i: Int, s: String) {
}
}
class Foo: X.A(1, "2") {
}
@@ -0,0 +1,10 @@
// "Create class 'A'" "true"
package p
class Foo: p.A(1, "2") {
}
open class A(i: Int, s: String) {
}
@@ -0,0 +1,14 @@
// "Create class 'A'" "true"
package p
class B {
}
class Foo: A(abc = 1, ghi = "2", def = B()) {
}
open class A(abc: Int, ghi: String, def: B) {
}
@@ -0,0 +1,10 @@
// "Create class 'A'" "true"
package p
class Foo: A<Int, String>(1, "2") {
}
open class A<T, U>(t: T, u: U) {
}
@@ -0,0 +1,6 @@
// "Create class 'A'" "true"
package p
class Foo: <caret>A(1, "2") {
}
@@ -0,0 +1,10 @@
// "Create class 'A'" "true"
package p
class X {
}
class Foo: X.<caret>A(1, "2") {
}
@@ -0,0 +1,6 @@
// "Create class 'A'" "true"
package p
class Foo: p.<caret>A(1, "2") {
}
@@ -0,0 +1,10 @@
// "Create class 'A'" "true"
package p
class B {
}
class Foo: <caret>A(abc = 1, ghi = "2", def = B()) {
}
@@ -0,0 +1,6 @@
// "Create class 'A'" "true"
package p
class Foo: <caret>A<Int, String>(1, "2") {
}