System.Runtime.Serialization.CodeGenerator.InternalBreakFor C# (CSharp) Method

InternalBreakFor() private method

private InternalBreakFor ( object userForState, OpCode branchInstruction ) : void
userForState object
branchInstruction System.Reflection.Emit.OpCode
return void
        internal void InternalBreakFor(object userForState, OpCode branchInstruction)
        {
            foreach (object block in _blockStack)
            {
                ForState forState = block as ForState;
                if (forState != null && (object)forState == userForState)
                {
                    if (!forState.RequiresEndLabel)
                    {
                        forState.EndLabel = DefineLabel();
                        forState.RequiresEndLabel = true;
                    }
                    if (_codeGenTrace != CodeGenTrace.None)
                        EmitSourceInstruction(branchInstruction + " " + forState.EndLabel.GetHashCode());
                    _ilGen.Emit(branchInstruction, forState.EndLabel);
                    break;
                }
            }
        }