internal ServerScript(ServerProcess process, string script, DebugLocator locator) : base() { _process = process; _batches = new ServerBatches(); _messages = new ParserMessages(); _sourceContext = new SourceContext(script, locator); try { _script = _process.ParseScript(script, _messages); } catch (SyntaxException e) { e.SetLocator(locator); throw; } _messages.SetLocator(locator); if ((_script is Block) && (((Block)_script).Statements.Count > 0)) { Block block = (Block)_script; for (int index = 0; index < block.Statements.Count; index++) { _batches.Add(new ServerBatch(this, block.Statements[index])); } } else { _batches.Add(new ServerBatch(this, _script)); } }