Example #1
0
    public void Display(bool showArgs)
    {
      if (showArgs)
      {
        string[] args = System.Environment.GetCommandLineArgs();
        Console.Write("\n  Command line arguments are:\n  ");
         foreach (string arg in args.Skip<string>(1))
        {
          Console.Write("{0} ", arg);
        }
        Console.WriteLine();
      }
      Console.Write("\n  Working file set:");
      Console.Write("\n -------------------");

      FileModel fm = new FileModel();
      List<string> files = fm.files();
      foreach (string file in files)
      {
          Console.Write("\n  {0}", file);
          Console.Write("\n");
          count++;
      }
      List<string> invalidPaths = fm.invalidPaths();
      foreach (string invalid in invalidPaths)
        Console.Write("\n  invalid path {0}", invalid);
    }
Example #2
0
    public static int Main(string[] args)
    {
      
      Console.Write("\n  Testing FileModel");
      Console.Write("\n ===================\n");

      string[] patterns = new string[1] { "*.cs" };
      FileModel fm = new FileModel();
      fm.collectFiles(args, patterns, true, true);
      List<string> fileList = fm.files();
      FileView fv = new FileView();
      fv.Display(true);
      return 0;
    }
    //----< populate TypeModel and UsingModel using TypeController >---------
    //
    //  Assumes CollectCSharpFileReferences() has already been called
    //
    public void FindDefinedTypes()
    {
      //Console.Write("\n  --- FindDefinedTypes() shows how to integrate parser into analysis. ---");
      //Console.Write("\n  --- You will need to add rules and actions to meet requirements. ---\n");

      TypeController tc = new TypeController();
      FileModel fm = new FileModel();
      foreach (string file in fm.files())
      {
        fm.CurrentFile = file;
        tc.findDefinedTypes(file);
      }
      TypeView typev = new TypeView();
      typev.Display();

    }
Example #4
0
      public override void doAction(CSsemi.CSemiExp semi)
      {
          TypeModel tm = new TypeModel();
          FileModel fm = new FileModel();
          
       // Console.Write("\n  Entering scope: ");

        if (semi.Contains("class") != -1)
        {
            int index = semi.Contains("class");
           // Console.Write("class: ");
            tm.addType(semi[index + 1], fm.CurrentFile);
            

        }
        else if (semi.Contains("struct") != -1)
        {
            int index = semi.Contains("struct");
            //Console.Write("struct: ");
            tm.addType(semi[index + 1], fm.CurrentFile);
        }
        else if (semi.Contains("interface") != -1)
        {
            int index = semi.Contains("class");
            //Console.Write("interface: ");
            tm.addType(semi[index + 1], fm.CurrentFile);       
        }
        else if (semi.Contains("enum") != -1)
        {
            int index = semi.Contains("class");
            //Console.Write("enum: ");
            tm.addType(semi[index + 1], fm.CurrentFile);
        }
        else if (semi.Contains("delegte") != -1)
        {
            int index = semi.Contains("delegate");
            //Console.Write("delegate: ");
            tm.addType(semi[index + 2], fm.CurrentFile);
        }
        else

            Console.Write("");

        }
    //----< match tokens and usings with TypeModel >-------------------------

    public void FindDependencies()

    {
      // Console.Write("\n  --- FindDefinedTypes() shows how to integrate parser into analysis. ---");
      //Console.Write("\n  --- You will need to add rules and actions to meet requirements. ---\n");

      DependencyController dc = new DependencyController();
      FileModel fm = new FileModel();
        List<string> file = fm.files();
        Console.WriteLine();
        dc.findDependency(file);
        DependencyView depv = new DependencyView();
        depv.Display();
        
        Displaysummary();
       
      //foreach (string file in fm.files())
      //{        fm.CurrentFile = file;
        //dc.findDependency(file);
      }