System.Reflection.Emit.ILGenerator.EmitWriteLine C# (CSharp) Method

EmitWriteLine() public method

public EmitWriteLine ( System localBuilder ) : void
localBuilder System
return void
        public virtual void EmitWriteLine(System.Reflection.Emit.LocalBuilder localBuilder) { }
        public virtual void EmitWriteLine(System.Reflection.FieldInfo fld) { }

Same methods

ILGenerator::EmitWriteLine ( string value ) : void

Usage Example

示例#1
0
        public override void codeGen(ILGenerator generator)
        {
            if (toPrint is Identifier) {
                bool emitted = false;

                foreach (Variable v in VariableStack.variables) {
                    if (v.name.Trim() == toPrint.val().ToString().Trim()) {
                        if (v.lb != null) {
                            generator.EmitWriteLine(v.lb);
                        } else {
                            generator.EmitWriteLine(v.value.val().ToString());
                        }
                        emitted = true;
                        break;
                    }
                }

                if (!emitted) {
                    throw new Exception("Undefined variable : " + toPrint.val());
                }
            } else {
                if (toPrint is Number || toPrint is Str || toPrint is Bool || toPrint is BinaryOp) {
                    generator.EmitWriteLine(toPrint.val().ToString());
                } else {
                    throw new Exception("Illegal argument in 'print' function! typeof: " + toPrint.GetType());
                }
            }
        }
All Usage Examples Of System.Reflection.Emit.ILGenerator::EmitWriteLine