Minor: revert changes in StackValue and fix tes data.

(this commit should be reverted after make Unit object)
This commit is contained in:
Zalim Bashorov
2014-07-10 23:40:14 +04:00
parent 9b36327046
commit dc68d78d9d
5 changed files with 22 additions and 35 deletions
@@ -26,7 +26,6 @@ import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.JetExpression;
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.jet.lexer.JetTokens;
import org.jetbrains.org.objectweb.asm.Label;
@@ -284,7 +283,7 @@ public abstract class StackValue {
}
public static void putUnitInstance(InstructionAdapter v) {
v.visitFieldInsn(GETSTATIC, UNIT_TYPE.getInternalName(), JvmAbi.INSTANCE_FIELD, UNIT_TYPE.getDescriptor());
v.visitFieldInsn(GETSTATIC, UNIT_TYPE.getInternalName(), "VALUE", UNIT_TYPE.getDescriptor());
}
protected void putAsBoolean(InstructionAdapter v) {
+15 -27
View File
@@ -802,30 +802,30 @@ public final enum class InlineStrategy : kotlin.Enum<kotlin.InlineStrategy> {
/*primary*/ private constructor InlineStrategy()
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
public class object <class-object-for-InlineStrategy> {
/*primary*/ private constructor <class-object-for-InlineStrategy>()
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.InlineStrategy
public final /*synthesized*/ fun values(): kotlin.Array<kotlin.InlineStrategy>
}
public enum entry AS_FUNCTION : kotlin.InlineStrategy {
/*primary*/ private constructor AS_FUNCTION()
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
public class object <class-object-for-AS_FUNCTION> : kotlin.InlineStrategy.AS_FUNCTION {
/*primary*/ private constructor <class-object-for-AS_FUNCTION>()
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
}
}
public enum entry IN_PLACE : kotlin.InlineStrategy {
/*primary*/ private constructor IN_PLACE()
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
public class object <class-object-for-IN_PLACE> : kotlin.InlineStrategy.IN_PLACE {
/*primary*/ private constructor <class-object-for-IN_PLACE>()
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
@@ -963,7 +963,7 @@ public final class IntRange : kotlin.Range<kotlin.Int>, kotlin.Progression<kotli
public open override /*1*/ fun contains(/*0*/ item: kotlin.Int): kotlin.Boolean
public open override /*1*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ fun iterator(): kotlin.IntIterator
public class object <class-object-for-IntRange> {
/*primary*/ private constructor <class-object-for-IntRange>()
public final val EMPTY: kotlin.IntRange
@@ -1132,7 +1132,7 @@ public final class LongRange : kotlin.Range<kotlin.Long>, kotlin.Progression<kot
public open override /*1*/ fun contains(/*0*/ item: kotlin.Long): kotlin.Boolean
public open override /*1*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ fun iterator(): kotlin.LongIterator
public class object <class-object-for-LongRange> {
/*primary*/ private constructor <class-object-for-LongRange>()
public final val EMPTY: kotlin.LongRange
@@ -1149,7 +1149,7 @@ public trait Map</*0*/ K, /*1*/ out V> {
public abstract fun keySet(): kotlin.Set<K>
public abstract fun size(): kotlin.Int
public abstract fun values(): kotlin.Collection<V>
public trait Entry</*0*/ out K, /*1*/ out V> {
public abstract fun getKey(): K
public abstract fun getValue(): V
@@ -1229,7 +1229,7 @@ public trait MutableMap</*0*/ K, /*1*/ V> : kotlin.Map<K, V> {
public abstract fun remove(/*0*/ key: kotlin.Any?): V?
public abstract override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public abstract override /*1*/ fun values(): kotlin.MutableCollection<V>
public trait MutableEntry</*0*/ K, /*1*/ V> : kotlin.Map.Entry<K, V> {
public abstract override /*1*/ /*fake_override*/ fun getKey(): K
public abstract override /*1*/ /*fake_override*/ fun getValue(): V
@@ -1266,16 +1266,6 @@ public abstract class Number {
public abstract fun toShort(): kotlin.Short
}
private open class OldUnit {
/*primary*/ public constructor OldUnit()
private class object <class-object-for-OldUnit> {
/*primary*/ private constructor <class-object-for-OldUnit>()
public final val VALUE: kotlin.Unit
public final fun <get-VALUE>(): kotlin.Unit
}
}
public trait Progression</*0*/ out N : kotlin.Any> : kotlin.Iterable<N> {
public abstract val end: N
public abstract fun <get-end>(): N
@@ -1436,7 +1426,7 @@ public final class ShortRange : kotlin.Range<kotlin.Short>, kotlin.Progression<k
public open override /*1*/ fun contains(/*0*/ item: kotlin.Short): kotlin.Boolean
public open override /*1*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ fun iterator(): kotlin.ShortIterator
public class object <class-object-for-ShortRange> {
/*primary*/ private constructor <class-object-for-ShortRange>()
public final val EMPTY: kotlin.ShortRange
@@ -1460,15 +1450,13 @@ public open class Throwable {
public final fun printStackTrace(): kotlin.Unit
}
public object Unit : kotlin.OldUnit {
/*primary*/ private constructor Unit()
public final val VALUE: kotlin.Unit
public final fun <get-VALUE>(): kotlin.Unit
public open class Unit {
/*primary*/ internal constructor Unit()
public class object <class-object-for-Unit> : kotlin.Unit {
/*primary*/ private constructor <class-object-for-Unit>()
public final override /*1*/ /*fake_override*/ val VALUE: kotlin.Unit
public final override /*1*/ /*fake_override*/ fun <get-VALUE>(): kotlin.Unit
public final val VALUE: kotlin.Unit
public final fun <get-VALUE>(): kotlin.Unit
}
}
@@ -268,8 +268,8 @@ fun t11() {
}
}
---------------------
1 <v0>: * NEW: r(1) -> <v0>
2 <v1>: Unit NEW: r(2) -> <v1>
1 <v0>: * NEW: r(1) -> <v0>
2 <v1>: {<: Unit} NEW: r(2) -> <v1>
=====================
== t12 ==
fun t12() : Int {
+1 -1
View File
@@ -8,5 +8,5 @@ tailRecursive fun foo() {
}
---------------------
<v1>: {<: Throwable} NEW: magic[FAKE_INITIALIZER](e: Throwable) -> <v1>
foo() <v0>: Unit NEW: call(foo(), foo) -> <v0>
foo() <v0>: {<: Unit} NEW: call(foo(), foo) -> <v0>
=====================
@@ -3,14 +3,14 @@ trait <info textAttributesKey="KOTLIN_TRAIT">FunctionLike</info> {
}
}
var <info textAttributesKey="KOTLIN_PACKAGE_PROPERTY"><info textAttributesKey="KOTLIN_PROPERTY_WITH_BACKING_FIELD"><info textAttributesKey="KOTLIN_MUTABLE_VARIABLE">global</info></info></info> : () -> <info textAttributesKey="KOTLIN_OBJECT">Unit</info> = {}
var <info textAttributesKey="KOTLIN_PACKAGE_PROPERTY"><info textAttributesKey="KOTLIN_PROPERTY_WITH_BACKING_FIELD"><info textAttributesKey="KOTLIN_MUTABLE_VARIABLE">global</info></info></info> : () -> <info textAttributesKey="KOTLIN_CLASS">Unit</info> = {}
val <info textAttributesKey="KOTLIN_CLASS">Int</info>.<info textAttributesKey="KOTLIN_EXTENSION_PROPERTY"><info textAttributesKey="KOTLIN_PACKAGE_PROPERTY">ext</info></info> : () -> <info textAttributesKey="KOTLIN_OBJECT">Unit</info>
val <info textAttributesKey="KOTLIN_CLASS">Int</info>.<info textAttributesKey="KOTLIN_EXTENSION_PROPERTY"><info textAttributesKey="KOTLIN_PACKAGE_PROPERTY">ext</info></info> : () -> <info textAttributesKey="KOTLIN_CLASS">Unit</info>
<info textAttributesKey="KOTLIN_KEYWORD">get</info>() {
return {}
}
fun <info textAttributesKey="KOTLIN_FUNCTION_DECLARATION">foo</info>(<info textAttributesKey="KOTLIN_PARAMETER">a</info> : () -> <info textAttributesKey="KOTLIN_OBJECT">Unit</info>, <info textAttributesKey="KOTLIN_PARAMETER">functionLike</info>: <info textAttributesKey="KOTLIN_TRAIT">FunctionLike</info>) {
fun <info textAttributesKey="KOTLIN_FUNCTION_DECLARATION">foo</info>(<info textAttributesKey="KOTLIN_PARAMETER">a</info> : () -> <info textAttributesKey="KOTLIN_CLASS">Unit</info>, <info textAttributesKey="KOTLIN_PARAMETER">functionLike</info>: <info textAttributesKey="KOTLIN_TRAIT">FunctionLike</info>) {
<info textAttributesKey="KOTLIN_PARAMETER"><info textAttributesKey="KOTLIN_VARIABLE_AS_FUNCTION">a</info></info>()
<info textAttributesKey="KOTLIN_PARAMETER"><info textAttributesKey="KOTLIN_VARIABLE_AS_FUNCTION_LIKE">functionLike</info></info>()
<info textAttributesKey="KOTLIN_PACKAGE_PROPERTY"><info textAttributesKey="KOTLIN_MUTABLE_VARIABLE"><info textAttributesKey="KOTLIN_VARIABLE_AS_FUNCTION">global</info></info></info>()