private List BreakIntoStatements(bool ansiQuotes, bool noBackslashEscapes) { string delimiter = this.Delimiter; int startIndex = 0; List list = new List(); List lineNumbers = this.BreakScriptIntoLines(); MySqlTokenizer tokenizer = new MySqlTokenizer(this.query); tokenizer.AnsiQuotes = ansiQuotes; tokenizer.BackslashEscapes = !noBackslashEscapes; for (string str2 = tokenizer.NextToken(); str2 != null; str2 = tokenizer.NextToken()) { if (!tokenizer.Quoted) { if (str2.ToLower(CultureInfo.InvariantCulture) == "delimiter") { delimiter = tokenizer.NextToken(); startIndex = tokenizer.StopIndex; } else { int index = str2.IndexOf(delimiter); if (index != -1) { int num3 = (tokenizer.StopIndex - str2.Length) + index; if (tokenizer.StopIndex == (this.query.Length - 1)) { num3++; } string str3 = this.query.Substring(startIndex, num3 - startIndex); ScriptStatement item = new ScriptStatement(); item.text = str3.Trim(); item.line = FindLineNumber(startIndex, lineNumbers); item.position = startIndex - lineNumbers[item.line]; list.Add(item); startIndex = num3 + this.delimiter.Length; } } } } if (startIndex < (this.query.Length - 1)) { string str4 = this.query.Substring(startIndex).Trim(); if (!string.IsNullOrEmpty(str4)) { ScriptStatement statement2 = new ScriptStatement(); statement2.text = str4; statement2.line = FindLineNumber(startIndex, lineNumbers); statement2.position = startIndex - lineNumbers[statement2.line]; list.Add(statement2); } } return list; }