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