EmitLoadThis() public static method

public static EmitLoadThis ( ILGenerator generator ) : void
generator System.Reflection.Emit.ILGenerator
return void
            public void Visit(ASTNode_Lambda node)
            {
                var childCompiler = new ASTNodeVisitor_JITCompiler(TypeBuilder, node);

                if (childCompiler.MethodBuilder.IsStatic)
                {
                    mILGenerator.Emit(OpCodes.Ldnull);
                    mILGenerator.Emit(OpCodes.Ldftn, childCompiler.MethodBuilder);
                    mILGenerator.Emit(OpCodes.Newobj,
                                      JITInterpreter_DS2.Instance().GetDelegateType(node.formalCount).
                                      GetConstructor(new Type[] { typeof(object), typeof(IntPtr) }));
                }
                else
                {
                    mILGenerator.Emit(OpCodes.Newobj, childCompiler.ConstructorBuilder);

                    foreach (var address in node.GetFreeAddresses())
                    {
                        mILGenerator.Emit(OpCodes.Dup);
                        if (address.envIndex == 1)
                        {
                            JITInterpreter_DS2.EmitLoadLocal(mILGenerator, (LocalBuilder)mLocalBuilders[address.index]);
                        }
                        else
                        {
                            JITInterpreter_DS2.EmitLoadThis(mILGenerator);
                            mILGenerator.Emit(OpCodes.Ldfld, FieldBuilders[address.GetOuterAddress()]);
                        }
                        mILGenerator.Emit(OpCodes.Stfld, childCompiler.FieldBuilders[address]);
                    }

                    mILGenerator.Emit(OpCodes.Ldftn, childCompiler.MethodBuilder);
                    mILGenerator.Emit(OpCodes.Newobj,
                                      JITInterpreter_DS2.Instance().GetDelegateType(node.formalCount)
                                      .GetConstructor(new Type[] { typeof(object), typeof(IntPtr) }));
                }
            }
 private void BeginEmitPopFree(FreeAddress address)
 {
     JITInterpreter_DS2.EmitLoadThis(mILGenerator);
     mILGenerator.Emit(OpCodes.Ldfld, FieldBuilders[address]);
 }
 private void EmitLoadFree(FreeAddress address)
 {
     JITInterpreter_DS2.EmitLoadThis(mILGenerator);
     mILGenerator.Emit(OpCodes.Ldfld, FieldBuilders[address]);
     mILGenerator.Emit(OpCodes.Ldfld, typeof(SharedValue).GetField("value"));
 }