Add sensible "toString()" to kotlin.jvm.internal.Ref

No tests added because it's difficult to test: codegen always unwraps refs to
the objects they are referencing

 #KT-5205 Fixed
This commit is contained in:
Alexander Udalov
2014-06-26 18:53:18 +04:00
parent c56f397f71
commit 2ce4219b43
@@ -16,42 +16,89 @@
package kotlin.jvm.internal; package kotlin.jvm.internal;
import java.lang.Override;
public class Ref { public class Ref {
private Ref() {} private Ref() {}
public static final class ObjectRef<T> { public static final class ObjectRef<T> {
public volatile T element; public volatile T element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class ByteRef { public static final class ByteRef {
public volatile byte element; public volatile byte element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class ShortRef { public static final class ShortRef {
public volatile short element; public volatile short element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class IntRef { public static final class IntRef {
public volatile int element; public volatile int element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class LongRef { public static final class LongRef {
public volatile long element; public volatile long element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class FloatRef { public static final class FloatRef {
public volatile float element; public volatile float element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class DoubleRef { public static final class DoubleRef {
public volatile double element; public volatile double element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class CharRef { public static final class CharRef {
public volatile char element; public volatile char element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
public static final class BooleanRef { public static final class BooleanRef {
public volatile boolean element; public volatile boolean element;
@Override
public String toString() {
return String.valueOf(element);
}
} }
} }