private void Parse() { if (IBMi.CurrentSystem.GetValue("OUTLINE_VIEW_ENABLED") == "true") { string code = ""; switch (this.Language) { case Language.RPG: this.Invoke((MethodInvoker) delegate { code = GetText().ToUpper(); }); this.Functions = RPGParser.Parse(code); break; case Language.CL: this.Invoke((MethodInvoker) delegate { code = GetText().ToUpper(); }); this.Functions = CLParser.Parse(code); break; } } }
private void Parse() { if (IBMi.CurrentSystem.GetValue("OUTLINE_VIEW_ENABLED") == "true") { string code = ""; if (this.Language == Language.RPG || this.Language == Language.CL) { try { this.Invoke((MethodInvoker) delegate { code = GetText().ToUpper(); }); switch (this.Language) { case Language.RPG: this.Functions = RPGParser.Parse(code); break; case Language.CL: this.Functions = CLParser.Parse(code); break; } } catch { Editor.TheEditor.SetStatus("Error parsing " + this.Language.ToString() + " for " + this.Text + "."); } } } }
private void Parse() { List <TaskItem> Items = new List <TaskItem>(); int CharIndex = -1, lineNumber = 0; string code = ""; this.Invoke((MethodInvoker) delegate { code = GetText(); }); if (IBMi.CurrentSystem.GetValue("OUTLINE_VIEW_ENABLED") == "true") { try { switch (this.Language) { case Language.RPG: this.Functions = RPGParser.Parse(code.ToUpper()); break; case Language.CL: this.Functions = CLParser.Parse(code.ToUpper()); break; } } catch { Editor.TheEditor.SetStatus("Error parsing " + this.Language.ToString() + " for " + this.Text + "."); } } foreach (string Line in code.Split(new string[] { Environment.NewLine }, StringSplitOptions.None)) { lineNumber++; foreach (string Keyword in Program.TaskKeywords) { CharIndex = Line.IndexOf("//" + Keyword); if (CharIndex >= 0) { Items.Add(new TaskItem() { Line = lineNumber, Text = Line.Substring(CharIndex + 2) }); } } } this.Tasks = Items.ToArray(); }