void _testEndSub() { if (_sub.IsEnd) { _sub.attrs.AddRange(temp); subs.Add(_sub); _sub = null; temp.Clear(); } }
public override void handleLine(string line) { if (_sub != null) { _sub.AddLine(line); _testEndSub(); return; } if (line.StartsWith("[")) { //是注释 temp.Add(line); } else if (line.StartsWith("private sealed class ")) { //找到迭代子类 _sub = new CodeIteratorClass_t(_deep + 1); _sub.AddLine(line); } else if (line.StartsWith("public enum ")) { //找到子类 _sub = new CodeEnumClass_t(_deep + 1); _sub.AddLine(line); } else if (line.StartsWith("public class ")) { //找到子类 _sub = new CodeClass_t(_deep + 1); _sub.AddLine(line); } else //if (line.Contains("private FaeriaButtonDock craftModeButton;")) { _sub = new MemberBlock_t(_deep + 1); _sub.AddLine(line); _testEndSub(); //LogError("识别的行:"+ line); } }
//替换 public void ReplaceTo(MemberBlock_t dst) { dst.ClearBody(); //增加临时成员 dst.AddRow(dst._title); dst.AddRow("{"); for (int i = 0; i < _tmember.Count; ++i) { if (_tmember[i].Contains("_003Cloc")) { dst.AddRow(" " + _tmember[i]); } } //MoveNext for (int i = 0; i < MoveNext.subs.Count; ++i) { CaseBlock_t cb = MoveNext.subs[i]; for (int j = 0; j < cb.rows.Count; ++j) { dst.AddRow(cb.rows[j]); } } dst.AddRow("}"); }