public bool Compile(EditForm editForm) { this.editForm = editForm; ResetScriptEvent = new AutoResetEvent(false); ResetScriptWatcher = new Thread(new ThreadStart(ResetScriptWatch)); ResetScriptWatcher.Name = "ResetScriptWatch"; ResetScriptWatcher.IsBackground = true; ResetScriptWatcher.Start(); string lsl = editForm.SourceCode; // If not hidden and not readonly if (!editForm.IsHidden && !this.mainForm.IsReadOnly(editForm)) { if (LSLIPathHelper.IsLSLI(editForm.ScriptName)) // Expand LSLI to LSL { lsl = ConvertLSLI(); } } else { this.editForm.StopCompiler(); return(false); } CSharpCode = MakeSharp(editForm.ConfLSL, lsl); return(GetNewHost()); }
public bool SyntaxCheck() { bool blnResult = false; //if (this.disableCompilesyntaxCheckToolStripMenuItem.Checked) // return false; if (this.IsScript) { string lsl = SourceCode; // If it is LSLI, it needs to import scripts first, before it recognizes imported functions if (LSLIPathHelper.IsLSLI(this.FullPathName)) { LSLIConverter converter = new LSLIConverter(); lsl = converter.ExpandToLSL(this); } LSL2CSharp translator = new LSL2CSharp(ConfLSL); string strCSharp = translator.Parse(lsl); if (System.Diagnostics.Debugger.IsAttached) { for (int intI = this.tabControl1.TabPages.Count - 1; intI > 0; intI--) { this.tabControl1.TabPages.RemoveAt(intI); } // TODO TabPage tabPage = new TabPage("C#"); NumberedTextBox.NumberedTextBoxUC numberedTextBoxUC1 = new NumberedTextBox.NumberedTextBoxUC(); numberedTextBoxUC1.TextBox.Init(null, this.ConfCSharp); numberedTextBoxUC1.TextBox.Text = strCSharp; numberedTextBoxUC1.TextBox.ReadOnly = true; numberedTextBoxUC1.Dock = DockStyle.Fill; tabPage.Controls.Add(numberedTextBoxUC1); this.tabControl.TabPages.Add(tabPage); } blnResult = (null != CompilerHelper.CompileCSharp(this, strCSharp)); } return(blnResult); }