NVelocity.Runtime.Parser.ParserTokenManager.RPARENHandler C# (CSharp) Method

RPARENHandler() private method

private RPARENHandler ( ) : void
return void
        private void RPARENHandler()
        {
            /*
             *  Ultimately, we want to drop down to the state below
             *  the one that has an open (if we hit bottom (DEFAULT),
             *  that's fine. It's just text schmoo.
             */

            bool closed = false;

            if (inComment)
                closed = true;

            while(!closed)
            {
                /*
             * look at current state.  If we haven't seen a lparen
             * in this state then we drop a state, because this
             * lparen clearly closes our state
             */

                if (lparen > 0)
                {
                    /*
             *  if rparen + 1 == lparen, then this state is closed.
             * Otherwise, increment and keep parsing
             */

                    if (lparen == rparen + 1)
                    {
                        StateStackPop();
                    }
                    else
                    {
                        rparen++;
                    }

                    closed = true;
                }
                else
                {
                    /*
             * now, drop a state
             */

                    if (!StateStackPop())
                        break;
                }
            }
        }
ParserTokenManager