/// <summary> /// Initiate a graceful shutdown with the state provided /// </summary> /// <param name="state">ExitState to use</param> /// <returns>Returns the ExitState supplied in the first parameter</returns> public static ExitStates ExitWithState(ExitStates state) { LastState = state; Debug.WriteLine(""); Debug.WriteLine(string.Format("########## Exiting with code: {0} ##########", state)); Debug.WriteLine(""); return LastState; }
/// <summary> /// Initiate a graceful shutdown with the state provided /// </summary> /// <param name="state">ExitState to use</param> /// <returns>Returns the ExitState supplied in the first parameter</returns> public static ExitStates ExitWithState(ExitStates state) { LastState = state; Debug.WriteLine(""); Debug.WriteLine(string.Format("########## Exiting with code: {0} ##########", state)); Debug.WriteLine(""); return(LastState); }
public bool Next(char @char) { switch (this.state) { case 0: { switch (@char) { case '.': // . if ((this.AllowedCommonSymbols & CommonSymbolCases.Period) != CommonSymbolCases.None) { this.exitState = ExitStates.Period; this.state = -1; } break; case ',': // , if ((this.AllowedCommonSymbols & CommonSymbolCases.Comma) != CommonSymbolCases.None) { this.exitState = ExitStates.Comma; this.state = -1; } break; case '[': // [ if ((this.AllowedCommonSymbols & CommonSymbolCases.LeftSquareBracket) != CommonSymbolCases.None) { this.exitState = ExitStates.LeftSquareBracket; this.state = -1; } break; case ']': // ] if ((this.AllowedCommonSymbols & CommonSymbolCases.RightSquareBracket) != CommonSymbolCases.None) { this.exitState = ExitStates.RightSquareBracket; this.state = -1; } break; case '=': // = if ((this.AllowedCommonSymbols & CommonSymbolCases.Equals) != CommonSymbolCases.None) { this.exitState = ExitStates.Equals; this.state = -1; } break; case '+': // + if ((this.AllowedCommonSymbols & CommonSymbolCases.NestingQualifier) != CommonSymbolCases.None) { this.exitState = ExitStates.NestingQualifier; this.state = -1; } break; case '`': // ` if ((this.AllowedCommonSymbols & CommonSymbolCases.GenericParameterSignal) != CommonSymbolCases.None) { this.exitState = ExitStates.GenericParameterSignal; this.state = -1; } break; case '*': // * if ((this.AllowedCommonSymbols & CommonSymbolCases.PointerCallout) != CommonSymbolCases.None) { this.exitState = ExitStates.PointerCallout; this.state = -1; } break; case '&': // & if ((this.AllowedCommonSymbols & CommonSymbolCases.ByRefCallout) != CommonSymbolCases.None) { this.exitState = ExitStates.ByRefCallout; this.state = -1; } break; case '"': // " if ((this.AllowedCommonSymbols & CommonSymbolCases.QuoteChar) != CommonSymbolCases.None) { this.exitState = ExitStates.QuoteChar; this.state = -1; } break; } } break; } return(false); }
/// <summary> /// Resets the state machine to its default state. /// </summary> public void Reset(CommonSymbolCases allowedCommonSymbols) { this.AllowedCommonSymbols = allowedCommonSymbols; this.exitState = ExitStates.None; this.state = 0; }
public bool Next(char @char) { switch (this.state) { case 0: { switch (@char) { case 'V': case 'v': // [Vv] if ((this.AllowedAssemblyTerminals & AssemblyTerminalCases.Version) != AssemblyTerminalCases.None) { this.state = 1; return(true); } break; case 'C': case 'c': // [Cc] if ((this.AllowedAssemblyTerminals & AssemblyTerminalCases.Culture) != AssemblyTerminalCases.None) { this.state = 2; return(true); } break; case 'P': case 'p': // [Pp] if ((this.AllowedAssemblyTerminals & AssemblyTerminalCases.KeyToken) != AssemblyTerminalCases.None) { this.state = 3; return(true); } break; case 'N': case 'n': // [Nn] if ((this.AllowedAssemblyTerminals & AssemblyTerminalCases.NullPublicKeyToken) != AssemblyTerminalCases.None) { this.state = 4; return(true); } break; } } break; case 1: { switch (@char) { case 'E': case 'e': // [Vv][Ee] this.state = 5; return(true); break; } } break; case 2: { switch (@char) { case 'U': case 'u': // [Cc][Uu] this.state = 10; return(true); break; } } break; case 3: { switch (@char) { case 'U': case 'u': // [Pp][Uu] this.state = 15; return(true); break; } } break; case 4: { switch (@char) { case 'U': case 'u': // [Nn][Uu] this.state = 27; return(true); break; } } break; case 5: { switch (@char) { case 'R': case 'r': // [Vv][Ee][Rr] this.state = 6; return(true); break; } } break; case 6: { switch (@char) { case 'S': case 's': // [Vv][Ee][Rr][Ss] this.state = 7; return(true); break; } } break; case 7: { switch (@char) { case 'I': case 'i': // [Vv][Ee][Rr][Ss][Ii] this.state = 8; return(true); break; } } break; case 8: { switch (@char) { case 'O': case 'o': // [Vv][Ee][Rr][Ss][Ii][Oo] this.state = 9; return(true); break; } } break; case 9: { switch (@char) { case 'N': case 'n': // [Vv][Ee][Rr][Ss][Ii][Oo][Nn] this.exitState = ExitStates.Version; this.state = -1; break; } } break; case 10: { switch (@char) { case 'L': case 'l': // [Cc][Uu][Ll] this.state = 11; return(true); break; } } break; case 11: { switch (@char) { case 'T': case 't': // [Cc][Uu][Ll][Tt] this.state = 12; return(true); break; } } break; case 12: { switch (@char) { case 'U': case 'u': // [Cc][Uu][Ll][Tt][Uu] this.state = 13; return(true); break; } } break; case 13: { switch (@char) { case 'R': case 'r': // [Cc][Uu][Ll][Tt][Uu][Rr] this.state = 14; return(true); break; } } break; case 14: { switch (@char) { case 'E': case 'e': // [Cc][Uu][Ll][Tt][Uu][Rr][Ee] this.exitState = ExitStates.Culture; this.state = -1; break; } } break; case 15: { switch (@char) { case 'B': case 'b': // [Pp][Uu][Bb] this.state = 16; return(true); break; } } break; case 16: { switch (@char) { case 'L': case 'l': // [Pp][Uu][Bb][Ll] this.state = 17; return(true); break; } } break; case 17: { switch (@char) { case 'I': case 'i': // [Pp][Uu][Bb][Ll][Ii] this.state = 18; return(true); break; } } break; case 18: { switch (@char) { case 'C': case 'c': // [Pp][Uu][Bb][Ll][Ii][Cc] this.state = 19; return(true); break; } } break; case 19: { switch (@char) { case 'K': case 'k': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk] this.state = 20; return(true); break; } } break; case 20: { switch (@char) { case 'E': case 'e': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee] this.state = 21; return(true); break; } } break; case 21: { switch (@char) { case 'Y': case 'y': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy] this.state = 22; return(true); break; } } break; case 22: { switch (@char) { case 'T': case 't': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy][Tt] this.state = 23; return(true); break; } } break; case 23: { switch (@char) { case 'O': case 'o': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy][Tt][Oo] this.state = 24; return(true); break; } } break; case 24: { switch (@char) { case 'K': case 'k': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy][Tt][Oo][Kk] this.state = 25; return(true); break; } } break; case 25: { switch (@char) { case 'E': case 'e': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy][Tt][Oo][Kk][Ee] this.state = 26; return(true); break; } } break; case 26: { switch (@char) { case 'N': case 'n': // [Pp][Uu][Bb][Ll][Ii][Cc][Kk][Ee][Yy][Tt][Oo][Kk][Ee][Nn] this.exitState = ExitStates.KeyToken; this.state = -1; break; } } break; case 27: { switch (@char) { case 'L': case 'l': // [Nn][Uu][Ll] this.state = 28; return(true); break; } } break; case 28: { switch (@char) { case 'L': case 'l': // [Nn][Uu][Ll][Ll] this.exitState = ExitStates.NullPublicKeyToken; this.state = -1; break; } } break; } return(false); }
/// <summary> /// Resets the state machine to its default state. /// </summary> public void Reset(AssemblyTerminalCases allowedAssemblyTerminals) { this.AllowedAssemblyTerminals = allowedAssemblyTerminals; this.exitState = ExitStates.None; this.state = 0; }