public override string ToString() { string str; switch (_type) { case TokenValueType.Double: str = Double.ToString(); break; case TokenValueType.Integer: str = Integer.ToString(); break; case TokenValueType.BigInteger: str = BigInteger.ToString(); break; case TokenValueType.RegexOptions: str = ((RubyRegexOptions)Integer).ToString(); break; case TokenValueType.String: str = "\"" + Parser.EscapeString(String) + "\""; break; case TokenValueType.StringTokenizer: str = (StringTokenizer != null) ? StringTokenizer.ToString() : ""; break; default: str = ""; break; } return(String.Format("{0}: {1}", _type, str)); }