NRegex.SearchEntry.SaveMemregState C# (CSharp) Method

SaveMemregState() static private method

static private SaveMemregState ( SearchEntry entry, int memreg, MemReg mr ) : void
entry SearchEntry
memreg int
mr MemReg
return void
        internal static void SaveMemregState(SearchEntry entry, int memreg, MemReg mr)
        {
            entry.isState=true;
            MState current=entry.mCurrent;
            if(current==null) {
                MState head=entry.mHead;
                if(head==null) entry.mHead=entry.mCurrent=current=new MState();
                else current=head;
            } else {
                MState next=current.next;
                if(next==null){
                    current.next=next=new MState();
                    next.prev=current;
                }
                current=next;
            }
            current.index=memreg;
            current._in=mr._in;
            current._out=mr._out;
            entry.mCurrent=current;
        }