Added diagnostic error when in function declaration name was omitted

This commit is contained in:
Stanislav Erokhin
2015-02-05 19:45:24 +03:00
parent a8536fef9b
commit 560c32c0f1
19 changed files with 128 additions and 14 deletions
@@ -0,0 +1,25 @@
annotation class a
trait A
trait B
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>fun A.()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>a fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>fun [a] A.()<!> {}
class Outer {
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun B.()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME, CONFLICTING_OVERLOADS!>a fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun [a] A.()<!> {}
}
fun outerFun() {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun B.()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>[a] fun ()<!> {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun [a] A.()<!> {}
}
@@ -0,0 +1,37 @@
package
a() internal fun <no name provided>(): kotlin.Unit
internal fun <no name provided>(): kotlin.Unit
internal fun outerFun(): kotlin.Unit
internal fun A.<no name provided>(): kotlin.Unit
internal fun A.<no name provided>(): kotlin.Unit
internal trait A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class Outer {
public constructor Outer()
a() internal final fun <no name provided>(): kotlin.Unit
internal final fun <no name provided>(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal final fun A.<no name provided>(): kotlin.Unit
internal final fun B.<no name provided>(): kotlin.Unit
}
internal final annotation class a : kotlin.Annotation {
public constructor a()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,4 +1,8 @@
fun<!SYNTAX!><!> () {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun Outer.()<!> {
}
@@ -25,7 +29,7 @@ annotation class<!SYNTAX!><!> <!ANNOTATION_CLASS_WITH_BODY!>{
}<!>
class Outer {
fun<!SYNTAX!><!> () {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}
@@ -50,4 +54,14 @@ class Outer {
<!REDECLARATION!>annotation class<!SYNTAX!><!> <!ANNOTATION_CLASS_WITH_BODY!>{
}<!><!>
}
}
fun outerFun() {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}
}
@@ -2,6 +2,8 @@ package
internal val <no name provided>: kotlin.Int = 1
internal fun <no name provided>(): kotlin.Unit
internal fun outerFun(): kotlin.Unit
internal fun Outer.<no name provided>(): kotlin.Unit
internal final class <no name provided> {
internal constructor <no name provided>()
@@ -12,6 +12,6 @@ public class Nameless {
import p.*
class K : <!INVISIBLE_MEMBER!>Nameless<!>() {
fun<!SYNTAX!><!> () {}
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {}
val<!SYNTAX!><!> : Int = 1
}
}
@@ -1,7 +1,7 @@
// !DIAGNOSTICS: -REDECLARATION
class C {
fun<!SYNTAX!><!> () {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}
@@ -2,7 +2,7 @@
package<!SYNTAX!><!>
fun<!SYNTAX!><!> () {
<!FUNCTION_DECLARATION_WITH_NO_NAME!>fun ()<!> {
}