Revert "Rename Extension annotation to ExtensionFunctionType"

This reverts commit 460dad135c.

The old compiler will not see the new runtime correctly. Postponing this until
1.0
This commit is contained in:
Alexander Udalov
2015-11-30 19:23:13 +03:00
parent 745809c666
commit 877129340f
35 changed files with 66 additions and 81 deletions
+1 -5
View File
@@ -464,14 +464,10 @@ public abstract class Enum</*0*/ E : kotlin.Enum<E>> : kotlin.Comparable<E> {
}
}
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented() @kotlin.Deprecated(message = "Use @ExtensionFunctionType instead.", replaceWith = kotlin.ReplaceWith(expression = "@ExtensionFunctionType", imports = {})) public final annotation class Extension : kotlin.Annotation {
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented() public final annotation class Extension : kotlin.Annotation {
/*primary*/ public constructor Extension()
}
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented() public final annotation class ExtensionFunctionType : kotlin.Annotation {
/*primary*/ public constructor ExtensionFunctionType()
}
public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float> {
/*primary*/ private constructor Float()
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
@@ -6,8 +6,8 @@ fun foo(a: (String) -> Unit) {
interface A : (String) -> Unit {}
fun foo(a: @ExtensionFunctionType A) {
// @ExtensionFunctionType annotation on an unrelated type shouldn't have any effect on this diagnostic.
// Only kotlin.Function{n} type annotated with @ExtensionFunctionType should
fun foo(a: @Extension A) {
// @Extension annotation on an unrelated type shouldn't have any effect on this diagnostic.
// Only kotlin.Function{n} type annotated with @Extension should
"".<!INVOKE_EXTENSION_ON_NOT_EXTENSION_FUNCTION!>a<!>()
}
}
@@ -1,7 +1,7 @@
package
public fun foo(/*0*/ a: (kotlin.String) -> kotlin.Unit): kotlin.Unit
public fun foo(/*0*/ a: @kotlin.ExtensionFunctionType() A): kotlin.Unit
public fun foo(/*0*/ a: @kotlin.Extension() A): kotlin.Unit
public interface A : (kotlin.String) -> kotlin.Unit {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -5,7 +5,7 @@ annotation class ann
interface Some {
fun f1(): String.() -> Int
fun f2(): @ExtensionFunctionType String.() -> Int
fun f2(): @Extension String.() -> Int
fun f3(): @ann String.() -> Int
fun f4(): @ExtensionFunctionType @ann String.() -> Int
fun f4(): @Extension @ann String.() -> Int
}
@@ -3,9 +3,9 @@ package
public interface Some {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f1(): kotlin.String.() -> kotlin.Int
public abstract fun f2(): @kotlin.ExtensionFunctionType() kotlin.String.() -> kotlin.Int
public abstract fun f2(): @kotlin.Extension() kotlin.String.() -> kotlin.Int
public abstract fun f3(): @ann() kotlin.String.() -> kotlin.Int
public abstract fun f4(): @kotlin.ExtensionFunctionType() @ann() kotlin.String.() -> kotlin.Int
public abstract fun f4(): @kotlin.Extension() @ann() kotlin.String.() -> kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -12,7 +12,7 @@ operator fun <T, U, V> Function2<T, U, V>.get(index : Int) {
}
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.get(index : Int) {
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.get(index : Int) {
}
@@ -12,14 +12,14 @@ inline operator fun <T, U> Function1<T, U>.plusAssign(p: Function1<T, U>) {
<!USAGE_IS_NOT_INLINABLE!>p<!> -= <!USAGE_IS_NOT_INLINABLE!>this<!>
}
operator fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.minusAssign(ext : @ExtensionFunctionType Function2<T, U, V>) {}
operator fun <T, U, V> @Extension Function2<T, U, V>.minusAssign(ext : @Extension Function2<T, U, V>) {}
inline <!INAPPLICABLE_OPERATOR_MODIFIER!>operator<!> fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.modAssign(ext : @ExtensionFunctionType Function2<T, U, V>) = {
inline <!INAPPLICABLE_OPERATOR_MODIFIER!>operator<!> fun <T, U, V> @Extension Function2<T, U, V>.modAssign(ext : @Extension Function2<T, U, V>) = {
this += ext
ext += this
}
inline operator fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.plusAssign(ext : @ExtensionFunctionType Function2<T, U, V>) {
inline operator fun <T, U, V> @Extension Function2<T, U, V>.plusAssign(ext : @Extension Function2<T, U, V>) {
<!USAGE_IS_NOT_INLINABLE!>this<!> -= <!USAGE_IS_NOT_INLINABLE!>ext<!>
<!USAGE_IS_NOT_INLINABLE!>ext<!> -= <!USAGE_IS_NOT_INLINABLE!>this<!>
}
@@ -11,7 +11,7 @@ inline fun <T, U, V> inlineFunWithInvoke(s: (p: T) -> U) {
//noinline
operator fun <T, U, V> Function2<T, U, V>.compareTo(index : Function2<T, U, V>) = 1
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.compareTo(index : @ExtensionFunctionType Function3<T, U, V, W>) = 1
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.compareTo(index : @Extension Function3<T, U, V, W>) = 1
inline fun <T, U, V, W> inlineFunWithInvoke(s: (p: T, l: U) -> V, ext: T.(p: U, l: V) -> W) {
<!USAGE_IS_NOT_INLINABLE!>s<!> < <!USAGE_IS_NOT_INLINABLE!>s<!>
@@ -9,8 +9,8 @@ inline fun <T, U, V> inlineFunWithInvoke(s: (p: T) -> U) {
operator fun <T, U, V> Function2<T, U, V>.component1() = 1
operator fun <T, U, V> Function2<T, U, V>.component2() = 2
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.component1() = 1
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.component2() = 2
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.component1() = 1
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.component2() = 2
inline fun <T, U, V, W> inlineFunWithInvoke(s: (p: T, l: U) -> V, ext: T.(p: U, l: V) -> W) {
val (d1, e1) = <!USAGE_IS_NOT_INLINABLE, USAGE_IS_NOT_INLINABLE!>s<!>
@@ -13,7 +13,7 @@ inline fun <T, U, V> inlineFunWithInvoke(s: (p: T) -> U) {
operator fun <T, U, V> Function2<T, U, V>.contains(p: Function2<T, U, V>): Boolean = false
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.contains(ext: @ExtensionFunctionType Function3<T, U, V, W>): Boolean = false
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.contains(ext: @Extension Function3<T, U, V, W>): Boolean = false
inline fun <T, U, V> inlineFunWithInvoke(s: (p: T, l: U) -> U, ext: T.(p: U, l: U) -> V) {
<!USAGE_IS_NOT_INLINABLE!>s<!> in <!USAGE_IS_NOT_INLINABLE!>s<!>
@@ -3,7 +3,7 @@ operator fun <T, U> Function1<T, U>.minus(p: Function1<T, U>) {
}
operator fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.minus(p: T.(p: U) -> V) {
operator fun <T, U, V> @Extension Function2<T, U, V>.minus(p: T.(p: U) -> V) {
}
@@ -11,7 +11,7 @@ inline operator fun <T, U> Function1<T, U>.plus(p: Function1<T, U>) {
<!USAGE_IS_NOT_INLINABLE!>this<!> - <!USAGE_IS_NOT_INLINABLE!>p<!>
}
inline operator fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.plus(p: T.(p: U) -> V) {
inline operator fun <T, U, V> @Extension Function2<T, U, V>.plus(p: T.(p: U) -> V) {
<!USAGE_IS_NOT_INLINABLE!>this<!> - <!USAGE_IS_NOT_INLINABLE!>p<!>
}
@@ -29,6 +29,6 @@ inline fun <T, U> Function1<T, U>.submit() {
this + this
}
inline fun <T, U, V> @ExtensionFunctionType Function2<T, U, V>.submit() {
inline fun <T, U, V> @Extension Function2<T, U, V>.submit() {
this + this
}
@@ -16,7 +16,7 @@ operator fun <T, U, V> Function2<T, U, V>.rangeTo(p: Function2<T, U, V>): Closed
return 1..2
}
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.rangeTo(ext: @ExtensionFunctionType Function3<T, U, V, W>): ClosedRange<Int> {
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.rangeTo(ext: @Extension Function3<T, U, V, W>): ClosedRange<Int> {
return 1..2
}
@@ -5,10 +5,10 @@ operator fun <T, V> Function1<T, V>.unaryMinus() = this
inline operator fun <T, V> Function1<T, V>.inc() = <!USAGE_IS_NOT_INLINABLE!>this<!>
operator fun <T, V> Function1<T, V>.dec() = this
inline operator fun <T, V> @ExtensionFunctionType Function2<T, T, V>.unaryPlus(){}
operator fun <T, V> @ExtensionFunctionType Function2<T, T, V>.unaryMinus(){}
inline operator fun <T, V> @ExtensionFunctionType Function2<T, T, V>.inc() = <!USAGE_IS_NOT_INLINABLE!>this<!>
operator fun <T, V> @ExtensionFunctionType Function2<T, T, V>.dec() = this
inline operator fun <T, V> @Extension Function2<T, T, V>.unaryPlus(){}
operator fun <T, V> @Extension Function2<T, T, V>.unaryMinus(){}
inline operator fun <T, V> @Extension Function2<T, T, V>.inc() = <!USAGE_IS_NOT_INLINABLE!>this<!>
operator fun <T, V> @Extension Function2<T, T, V>.dec() = this
inline fun <T, V> inlineFunWithInvoke(s: (p: T) -> V, ext: T.(p: T) -> V) {
+s
@@ -11,7 +11,7 @@ operator fun <T, U, V> Function2<T, U, V>.not() : Boolean {
return !this
}
operator fun <T, U, V, W> @ExtensionFunctionType Function3<T, U, V, W>.not() : Boolean {
operator fun <T, U, V, W> @Extension Function3<T, U, V, W>.not() : Boolean {
return !this
}
+3 -3
View File
@@ -5,18 +5,18 @@ var v4: Function1<Int, String>
var v4: (() -> Int, (String) -> Unit) -> String
var v5: Int.() -> Int
var v6 : Int.(String, Int) -> Unit
var v7 : @ExtensionFunctionType Function2<Int, String, Boolean>
var v7 : @Extension Function2<Int, String, Boolean>
class F: Function0<Unit>
var v8: F
class EF: @ExtensionFunctionType Function1<String, Unit>
class EF: @Extension Function1<String, Unit>
var v9: EF
class GF<T>: Function0<T>
var v10: GF<Any>
class GEF<A, B>: @ExtensionFunctionType Function1<A, B>
class GEF<A, B>: @Extension Function1<A, B>
var v11: GEF<Any, Any>
var v12: (() -> Unit).() -> Unit
@@ -9,5 +9,5 @@ Resolved call:
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = BOTH_RECEIVERS
Dispatch receiver = f {[@kotlin.ExtensionFunctionType] Function1<Int, Unit>}
Dispatch receiver = f {[@kotlin.Extension] Function1<Int, Unit>}
Extension receiver = 1 {Int}
@@ -13,5 +13,5 @@ Resolved call:
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = BOTH_RECEIVERS
Dispatch receiver = foo {[@kotlin.ExtensionFunctionType] Function1<Int, Unit>}
Dispatch receiver = foo {[@kotlin.Extension] Function1<Int, Unit>}
Extension receiver = 1 {Int}
@@ -11,5 +11,5 @@ Resolved call:
Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1
Explicit receiver kind = DISPATCH_RECEIVER
Dispatch receiver = f {[@kotlin.ExtensionFunctionType] Function1<Int, Unit>}
Dispatch receiver = f {[@kotlin.Extension] Function1<Int, Unit>}
Extension receiver = IntExt{fun Int.<anonymous>(): Unit defined in bar}