Esempio n. 1
0
        /// <summary>
        /// Attempts to complete the token being written
        /// </summary>
        /// <param name="tokenBeingWritten"></param>
        internal void AutoComplete(StepToken tokenBeingWritten)
        {
            logger.Debug(String.Format("AutoComplete( {0} ); //tokenBeingWritten : {1}; _currentState : {2}, _top : {3};",
                                       tokenBeingWritten,
                                       (int)tokenBeingWritten,
                                       _currentState, _top));

            int token;

            switch (tokenBeingWritten)
            {
            default:
                token = (int)tokenBeingWritten;
                break;

            case StepToken.Integer:
            case StepToken.Float:
            case StepToken.String:
            case StepToken.Boolean:
            case StepToken.Enumeration:
            case StepToken.Overridden:
            case StepToken.Null:
            case StepToken.Undefined:
            case StepToken.Date:
                // a value is being written
                token = 7;
                break;
            }



            // gets new state based on the current state and what is being written
            State newState = stateArray[token][(int)_currentState];

            /*logger.Debug(String.Format(CultureInfo.InvariantCulture,
             *                         "From a Current State, {0}, and attempting to write a token of {1} has resulted in a state of {2}",
             *                         _currentState.ToString(), tokenBeingWritten.ToString(), newState.ToString()));
             */
            if (newState == State.Error)
            {
                throw new StepWriterException(String.Format(CultureInfo.InvariantCulture,
                                                            "Token {0} in state {1} would result in an invalid Step object.",
                                                            tokenBeingWritten.ToString(),
                                                            _currentState.ToString()));
            }

            if ((_currentState == State.Entity || _currentState == State.Array) && tokenBeingWritten != StepToken.Comment)
            {
                WriteValueDelimiter();
            }

            WriteState writeState = WriteState;

            _currentState = newState;
        }
Esempio n. 2
0
        /// <summary>
        /// Attempts to complete the token being written
        /// </summary>
        /// <param name="tokenBeingWritten"></param>
        internal void AutoComplete(StepToken tokenBeingWritten)
        {
        	logger.Debug(String.Format("AutoComplete( {0} ); //tokenBeingWritten : {1}; _currentState : {2}, _top : {3};", 
        	                           tokenBeingWritten,
        	                           (int)tokenBeingWritten,
        	                           _currentState, _top));
        	
            int token;
            switch (tokenBeingWritten)
            {
                default:
                    token = (int)tokenBeingWritten;
                    break;
                case StepToken.Integer:
                case StepToken.Float:
                case StepToken.String:
                case StepToken.Boolean:
                case StepToken.Enumeration:
                case StepToken.Overridden:
                case StepToken.Null:
                case StepToken.Undefined:
                case StepToken.Date:
                    // a value is being written
                    token = 7;
                    break;
            }
            
            
            
            // gets new state based on the current state and what is being written
            State newState = stateArray[token][(int)_currentState];

            /*logger.Debug(String.Format(CultureInfo.InvariantCulture,
                                       "From a Current State, {0}, and attempting to write a token of {1} has resulted in a state of {2}",
                                       _currentState.ToString(), tokenBeingWritten.ToString(), newState.ToString()));
            */
            if (newState == State.Error)
                throw new StepWriterException(String.Format(CultureInfo.InvariantCulture,
                                                            "Token {0} in state {1} would result in an invalid Step object.",
                                                            tokenBeingWritten.ToString(),
                                                            _currentState.ToString()));

            if ((_currentState == State.Entity || _currentState == State.Array) && tokenBeingWritten != StepToken.Comment)
            {
                WriteValueDelimiter();
            }

            WriteState writeState = WriteState;

            _currentState = newState;
        }
Esempio n. 3
0
 private void WriteToken(StepToken token, StringBuilder builder)
 {
     WriteText(token.ToString(this), builder);
 }