Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        public override void handleLine(string line)
        {
            switch (substate)
            {
            case 0:
                if (line.Contains(" _0024this;"))
                {
                    _0024this = line;
                    substate  = 1;
                }
                else if (line.Contains(" _0024current;"))
                {
                    _0024current = line;
                    substate     = 2;
                }
                else
                {
                    //要先处理下成员...
                    AutoTruncate_StartsWith(ref line, "internal ");
                    _tmember.Add(line);
                }
                break;

            case 1:
                _0024current = line;
                substate     = 2;
                break;

            case 2:
                _0024disposing = line;
                substate++;
                break;

            case 3:
                _0024PC = line;
                substate++;
                break;

            case 4:
                Current1.AddLine(line);
                if (Current1.IsEnd)
                {
                    substate++;
                }
                break;

            case 5:
                Current2.AddLine(line);
                if (Current2.IsEnd)
                {
                    substate++;
                }
                break;

            case 6:
                Iterator0.AddLine(line);
                if (Iterator0.IsEnd)
                {
                    substate++;
                }
                break;

            case 7:
                MoveNext.AddLine(line);
                if (MoveNext.IsEnd)
                {
                    substate++;
                }
                break;

            case 8:
                Dispose.AddLine(line);
                if (Dispose.IsEnd)
                {
                    substate++;
                }
                break;

            case 9:
                Reset.AddLine(line);
                if (Reset.IsEnd)
                {
                    substate++;
                }
                break;

            case 10:
                this.setEnd();
                break;
            }
        }