Annotate new API in runtime.jvm with SinceKotlin(1.1)

This commit is contained in:
Alexander Udalov
2017-02-07 17:36:50 +03:00
parent 5e10a9d506
commit 845d6526b0
16 changed files with 67 additions and 1 deletions
+1
View File
@@ -63,5 +63,6 @@ internal annotation class Metadata(
* 1 - this class file is compiled by a pre-release version of Kotlin and is not visible to release versions.
* 2 - this class file is a compiled Kotlin script source file (.kts).
*/
@SinceKotlin("1.1")
val xi: Int = 0
)
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.jvm.KotlinReflectionNotSupportedError;
import kotlin.reflect.*;
import org.jetbrains.annotations.NotNull;
@@ -46,16 +47,19 @@ public abstract class CallableReference implements KCallable {
this(NO_RECEIVER);
}
@SinceKotlin(version = "1.1")
protected CallableReference(Object receiver) {
this.receiver = receiver;
}
protected abstract KCallable computeReflected();
@SinceKotlin(version = "1.1")
public Object getBoundReceiver() {
return receiver;
}
@SinceKotlin(version = "1.1")
public KCallable compute() {
KCallable result = reflected;
if (result == null) {
@@ -65,6 +69,7 @@ public abstract class CallableReference implements KCallable {
return result;
}
@SinceKotlin(version = "1.1")
protected KCallable getReflected() {
KCallable result = compute();
if (result == this) {
@@ -123,6 +128,7 @@ public abstract class CallableReference implements KCallable {
@NotNull
@Override
@SinceKotlin(version = "1.1")
public List<KTypeParameter> getTypeParameters() {
return getReflected().getTypeParameters();
}
@@ -139,21 +145,25 @@ public abstract class CallableReference implements KCallable {
@Nullable
@Override
@SinceKotlin(version = "1.1")
public KVisibility getVisibility() {
return getReflected().getVisibility();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isFinal() {
return getReflected().isFinal();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isOpen() {
return getReflected().isOpen();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isAbstract() {
return getReflected().isAbstract();
}
@@ -40,35 +40,46 @@ public class ClassReference(override val jClass: Class<*>) : KClass<Any>, ClassB
override val objectInstance: Any?
get() = error()
@SinceKotlin("1.1")
override fun isInstance(value: Any?): Boolean = error()
@SinceKotlin("1.1")
override val typeParameters: List<KTypeParameter>
get() = error()
@SinceKotlin("1.1")
override val supertypes: List<KType>
get() = error()
@SinceKotlin("1.1")
override val visibility: KVisibility?
get() = error()
@SinceKotlin("1.1")
override val isFinal: Boolean
get() = error()
@SinceKotlin("1.1")
override val isOpen: Boolean
get() = error()
@SinceKotlin("1.1")
override val isAbstract: Boolean
get() = error()
@SinceKotlin("1.1")
override val isSealed: Boolean
get() = error()
@SinceKotlin("1.1")
override val isData: Boolean
get() = error()
@SinceKotlin("1.1")
override val isInner: Boolean
get() = error()
@SinceKotlin("1.1")
override val isCompanion: Boolean
get() = error()
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KFunction;
@@ -26,6 +27,7 @@ public class FunctionReference extends CallableReference implements FunctionImpl
this.arity = arity;
}
@SinceKotlin(version = "1.1")
public FunctionReference(int arity, Object receiver) {
super(receiver);
this.arity = arity;
@@ -37,36 +39,43 @@ public class FunctionReference extends CallableReference implements FunctionImpl
}
@Override
@SinceKotlin(version = "1.1")
protected KFunction getReflected() {
return (KFunction) super.getReflected();
}
@Override
@SinceKotlin(version = "1.1")
protected KCallable computeReflected() {
return Reflection.function(this);
}
@Override
@SinceKotlin(version = "1.1")
public boolean isInline() {
return getReflected().isInline();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isExternal() {
return getReflected().isExternal();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isOperator() {
return getReflected().isOperator();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isInfix() {
return getReflected().isInfix();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isSuspend() {
return getReflected().isSuspend();
}
@@ -17,6 +17,7 @@
package kotlin.jvm.internal;
import kotlin.KotlinNullPointerException;
import kotlin.SinceKotlin;
import kotlin.UninitializedPropertyAccessException;
import java.util.Arrays;
@@ -163,26 +164,32 @@ public class Intrinsics {
return first == null ? second == null : first.equals(second);
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(Double first, Double second) {
return first == null ? second == null : second != null && first.doubleValue() == second.doubleValue();
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(Double first, double second) {
return first != null && first.doubleValue() == second;
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(double first, Double second) {
return second != null && first == second.doubleValue();
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(Float first, Float second) {
return first == null ? second == null : second != null && first.floatValue() == second.floatValue();
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(Float first, float second) {
return first != null && first.floatValue() == second;
}
@SinceKotlin(version = "1.1")
public static boolean areEqual(float first, Float second) {
return second != null && first == second.floatValue();
}
@@ -16,12 +16,14 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KMutableProperty;
public abstract class MutablePropertyReference extends PropertyReference implements KMutableProperty {
public MutablePropertyReference() {
}
@SinceKotlin(version = "1.1")
public MutablePropertyReference(Object receiver) {
super(receiver);
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KMutableProperty0;
import kotlin.reflect.KProperty0;
@@ -24,6 +25,7 @@ public abstract class MutablePropertyReference0 extends MutablePropertyReference
public MutablePropertyReference0() {
}
@SinceKotlin(version = "1.1")
public MutablePropertyReference0(Object receiver) {
super(receiver);
}
@@ -49,6 +51,7 @@ public abstract class MutablePropertyReference0 extends MutablePropertyReference
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate() {
return ((KMutableProperty0) getReflected()).getDelegate();
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KMutableProperty1;
import kotlin.reflect.KProperty1;
@@ -24,6 +25,7 @@ public abstract class MutablePropertyReference1 extends MutablePropertyReference
public MutablePropertyReference1() {
}
@SinceKotlin(version = "1.1")
public MutablePropertyReference1(Object receiver) {
super(receiver);
}
@@ -49,6 +51,7 @@ public abstract class MutablePropertyReference1 extends MutablePropertyReference
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate(Object receiver) {
return ((KMutableProperty1) getReflected()).getDelegate(receiver);
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KMutableProperty2;
import kotlin.reflect.KProperty2;
@@ -42,6 +43,7 @@ public abstract class MutablePropertyReference2 extends MutablePropertyReference
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate(Object receiver1, Object receiver2) {
return ((KMutableProperty2) getReflected()).getDelegate(receiver1, receiver2);
}
@@ -18,7 +18,8 @@ package kotlin.jvm.internal
import kotlin.reflect.KCallable
class PackageReference(
@SinceKotlin("1.1")
public class PackageReference(
override val jClass: Class<*>,
@Suppress("unused") private val moduleName: String
) : ClassBasedDeclarationContainer {
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KProperty;
@@ -24,21 +25,25 @@ public abstract class PropertyReference extends CallableReference implements KPr
super();
}
@SinceKotlin(version = "1.1")
public PropertyReference(Object receiver) {
super(receiver);
}
@Override
@SinceKotlin(version = "1.1")
protected KProperty getReflected() {
return (KProperty) super.getReflected();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isLateinit() {
return getReflected().isLateinit();
}
@Override
@SinceKotlin(version = "1.1")
public boolean isConst() {
return getReflected().isConst();
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KProperty0;
@@ -24,6 +25,7 @@ public abstract class PropertyReference0 extends PropertyReference implements KP
super();
}
@SinceKotlin(version = "1.1")
public PropertyReference0(Object receiver) {
super(receiver);
}
@@ -44,6 +46,7 @@ public abstract class PropertyReference0 extends PropertyReference implements KP
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate() {
return ((KProperty0) getReflected()).getDelegate();
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KProperty1;
@@ -23,6 +24,7 @@ public abstract class PropertyReference1 extends PropertyReference implements KP
public PropertyReference1() {
}
@SinceKotlin(version = "1.1")
public PropertyReference1(Object receiver) {
super(receiver);
}
@@ -43,6 +45,7 @@ public abstract class PropertyReference1 extends PropertyReference implements KP
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate(Object receiver) {
return ((KProperty1) getReflected()).getDelegate(receiver);
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.KCallable;
import kotlin.reflect.KProperty2;
@@ -36,6 +37,7 @@ public abstract class PropertyReference2 extends PropertyReference implements KP
}
@Override
@SinceKotlin(version = "1.1")
public Object getDelegate(Object receiver1, Object receiver2) {
return ((KProperty2) getReflected()).getDelegate(receiver1, receiver2);
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.*;
/**
@@ -74,6 +75,7 @@ public class Reflection {
return kClasses;
}
@SinceKotlin(version = "1.1")
public static String renderLambdaToString(Lambda lambda) {
return factory.renderLambdaToString(lambda);
}
@@ -16,6 +16,7 @@
package kotlin.jvm.internal;
import kotlin.SinceKotlin;
import kotlin.reflect.*;
public class ReflectionFactory {
@@ -41,6 +42,7 @@ public class ReflectionFactory {
return new ClassReference(javaClass);
}
@SinceKotlin(version = "1.1")
public String renderLambdaToString(Lambda lambda) {
String result = lambda.getClass().getGenericInterfaces()[0].toString();
return result.startsWith(KOTLIN_JVM_FUNCTIONS) ? result.substring(KOTLIN_JVM_FUNCTIONS.length()) : result;