What Reflector makes out the C# to be:
object[] a = new object[2]; a[0] = symbol_free-id; s11n:8 = objArray[8]; a[1] = s11n:8; $c$00BA = Builtins.List(symbol__, symbol_any, Builtins.ListStar(a, symbol_each-any));
What the actual IL is:
L_045e: ldc.i4.2 L_045f: newarr object L_0464: dup L_0465: ldc.i4.0 L_0466: ldsfld object contracts::symbol_free-id L_046b: stelem.ref L_046c: dup L_046d: ldc.i4.1 L_046e: ldsfld object contracts::s11n:8 L_0473: ldloc.0 L_0474: ldc.i4.8 L_0475: ldelem.ref L_0476: stsfld object contracts::s11n:8 L_047b: stelem.ref L_047c: ldsfld object contracts::symbol_each-any L_0481: call object [IronScheme]IronScheme.Runtime.Builtins::ListStar(object, object) L_0486: call object [IronScheme]IronScheme.Runtime.Builtins::List(object, object, object) L_048b: stsfld object contracts::$c$00BA
Note, L_046e and L_0476, completely wrong order in the C# 😦
Advertisements
You are very beautiful blog.
By: b5ggg9 on May 27, 2011
at 11:25 am