edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;C420856
File: RubyClass.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;C420856  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;ExplicitRuby
@@ -377,8 +377,8 @@
         }
 
         private static Expression/*!*/ MakeInitializerCall(ActionBinder binder, RuleBuilder/*!*/ rule, CallArguments/*!*/ args, Expression/*!*/ newInstanceExpr) {
-            Expression[] ps = ArrayUtils.MakeArray(args.Expressions);
-            ps[0] = newInstanceExpr;
+            Expression[] ps = ArrayUtils.Insert(Ast.CodeContext(), args.Expressions);
+            ps[1] = newInstanceExpr;
 
             return Ast.Action.InvokeMember(binder, Symbols.Initialize, typeof(object), InvokeMemberActionFlags.IsCallWithThis, args.Signature, ps);
         }
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/AstGenerator.cs;C420856
File: AstGenerator.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/AstGenerator.cs;C420856  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/AstGenerator.cs;ExplicitRuby
@@ -663,7 +663,7 @@
             Debug.Assert(test != null);
 
             if (test.Type != typeof(bool)) {
-                test = Ast.Action.ConvertTo(_binder, typeof(bool), test);
+                test = Ast.Action.ConvertTo(_binder, typeof(bool), Ast.CodeContext(), test);
             }
 
             if (ifTrue.Type != ifFalse.Type) {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/CallBuilder.cs;C415805
File: CallBuilder.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/CallBuilder.cs;C415805  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/CallBuilder.cs;ExplicitRuby
@@ -59,7 +59,7 @@
 
             return Ast.Action.InvokeMember(
                 _gen.Binder,
-                name, typeof(object), flags, new CallSignature(ArgumentKinds), Expressions);
+                name, typeof(object), flags, new CallSignature(ArgumentKinds), GetExpressions());
         }
 
         public MSA.Expression/*!*/ MakeCallAction() {
@@ -67,7 +67,7 @@
             // so remove the first arg
             // TODO: fix either InvokeMemberAction or CallAction so they use the same convention 
             return Ast.Action.Call(
-                CallAction.Make(_gen.Binder, new CallSignature(ArgumentKinds).RemoveFirstArgument()), typeof(object), Expressions);
+                CallAction.Make(_gen.Binder, new CallSignature(ArgumentKinds).RemoveFirstArgument()), typeof(object), GetExpressions());
         }
 
         public MSA.ArgumentKind[]/*!*/ ArgumentKinds {
@@ -80,15 +80,13 @@
             }
         }
 
-        public MSA.Expression/*!*/[]/*!*/ Expressions {
-            get {
-                MSA.Expression[] result = new MSA.Expression[_args.Count];
-                for (int i = 0; i < _args.Count; i++) {
-                    result[i] = _args[i].Key;
-                }
-                return result;
+        private MSA.Expression/*!*/[]/*!*/ GetExpressions() {
+            MSA.Expression[] result = new MSA.Expression[_args.Count + 1];
+            result[0] = Ast.CodeContext();
+            for (int i = 0; i < _args.Count; i++) {
+                result[i + 1] = _args[i].Key;
             }
+            return result;
         }
-
     }
 }
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/SourceUnitTree.cs;C420856
File: SourceUnitTree.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/SourceUnitTree.cs;C420856  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/SourceUnitTree.cs;ExplicitRuby
@@ -82,7 +82,7 @@
             if (kind == SourceCodeKind.InteractiveCode) {
                 resultVariable = method.CreateTemporaryVariable(SymbolTable.StringToId("#result"), typeof(object));
                 print = AstFactory.OpCall("PrintInteractiveResult", runtimeScopeVariable, 
-                    Ast.Call(typeof(object), resultVariable, RubySites.InstanceCallAction("inspect"))
+                    Ast.Action.InvokeMember(RubySites.InstanceCallAction("inspect"), typeof(object), Ast.CodeContext(), resultVariable)
                 );
             } else {
                 resultVariable = null;
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/CaseExpression.cs;C415805
File: CaseExpression.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/CaseExpression.cs;C415805  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/CaseExpression.cs;ExplicitRuby
@@ -82,6 +82,7 @@
                 expr = Ast.Action.InvokeMember(gen.Binder, Symbols.StrictEqual, typeof(object),
                     InvokeMemberActionFlags.IsCallWithThis | InvokeMemberActionFlags.ReturnNonCallable,
                     new CallSignature(MSA.ArgumentKind.Instance, MSA.ArgumentKind.Simple),
+                    Ast.CodeContext(),
                     expr,
                     Ast.Read(value));
             }
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/ForLoopExpression.cs;C415805
File: ForLoopExpression.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/ForLoopExpression.cs;C415805  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/ForLoopExpression.cs;ExplicitRuby
@@ -63,6 +63,7 @@
                     new ArgumentInfo(MSA.ArgumentKind.Instance), 
                     new ArgumentInfo(MSA.ArgumentKind.Block) 
                 ), 
+                Ast.CodeContext(),
                 _list.TransformRead(gen),
                 Ast.Read(blockArgVariable)
             );
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyLambdaMethodInfo.cs;C415805
File: RubyLambdaMethodInfo.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyLambdaMethodInfo.cs;C415805  (server)    5/1/2008 9:34 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyLambdaMethodInfo.cs;ExplicitRuby
@@ -47,8 +47,8 @@
             boundLambda.Self = args.Values[0];
 
             // TODO: call SetProcCallRule directly (MRI invokes Proc#call implementation directly, it's not sending a message)
-            Expression[] newParams = ArrayUtils.MakeArray(args.Expressions);
-            newParams[0] = Ast.RuntimeConstant(boundLambda);
+            Expression[] newParams = ArrayUtils.Insert(Ast.CodeContext(), args.Expressions);
+            newParams[1] = Ast.RuntimeConstant(boundLambda);
             rule.Target =
                 rule.MakeReturn(
                     binder,
===================================================================
