private static JSONValue JsonForProject()
        {
            List <ProjectStateRestHandler.Island> list = ((IEnumerable <MonoIsland>)InternalEditorUtility.GetMonoIslands()).Select <MonoIsland, ProjectStateRestHandler.Island>((Func <MonoIsland, ProjectStateRestHandler.Island>)(i => new ProjectStateRestHandler.Island()
            {
                MonoIsland = i, Name = Path.GetFileNameWithoutExtension(i._output), References = ((IEnumerable <string>)i._references).ToList <string>()
            })).ToList <ProjectStateRestHandler.Island>();

            using (List <ProjectStateRestHandler.Island> .Enumerator enumerator1 = list.GetEnumerator())
            {
                while (enumerator1.MoveNext())
                {
                    ProjectStateRestHandler.Island current1 = enumerator1.Current;
                    List <string> stringList1 = new List <string>();
                    List <string> stringList2 = new List <string>();
                    using (List <string> .Enumerator enumerator2 = current1.References.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            string current2 = enumerator2.Current;
                            // ISSUE: object of a compiler-generated type is created
                            // ISSUE: variable of a compiler-generated type
                            ProjectStateRestHandler.\u003CJsonForProject\u003Ec__AnonStorey25 projectCAnonStorey25 = new ProjectStateRestHandler.\u003CJsonForProject\u003Ec__AnonStorey25();
                            // ISSUE: reference to a compiler-generated field
                            projectCAnonStorey25.refName = Path.GetFileNameWithoutExtension(current2);
                            // ISSUE: reference to a compiler-generated method
                            if (current2.StartsWith("Library/") && list.Any <ProjectStateRestHandler.Island>(new Func <ProjectStateRestHandler.Island, bool>(projectCAnonStorey25.\u003C\u003Em__31)))
                            {
                                // ISSUE: reference to a compiler-generated field
                                stringList1.Add(projectCAnonStorey25.refName);
                                stringList2.Add(current2);
                            }
                            if (current2.EndsWith("/UnityEditor.dll") || current2.EndsWith("/UnityEngine.dll") || (current2.EndsWith("\\UnityEditor.dll") || current2.EndsWith("\\UnityEngine.dll")))
                            {
                                stringList2.Add(current2);
                            }
                        }
                    }
                    current1.References.Add(InternalEditorUtility.GetEditorAssemblyPath());
                    current1.References.Add(InternalEditorUtility.GetEngineAssemblyPath());
                    using (List <string> .Enumerator enumerator2 = stringList1.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            string current2 = enumerator2.Current;
                            current1.References.Add(current2);
                        }
                    }
                    using (List <string> .Enumerator enumerator2 = stringList2.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            string current2 = enumerator2.Current;
                            current1.References.Remove(current2);
                        }
                    }
                }
            }
            string[]  array       = list.SelectMany <ProjectStateRestHandler.Island, string>((Func <ProjectStateRestHandler.Island, IEnumerable <string> >)(i => (IEnumerable <string>)i.MonoIsland._files)).Concat <string>(ProjectStateRestHandler.GetAllSupportedFiles()).Distinct <string>().ToArray <string>();
            string[]  projectPath = ProjectStateRestHandler.RelativeToProjectPath(ProjectStateRestHandler.FindEmptyDirectories(ProjectStateRestHandler.AssetsPath, array));
            JSONValue jsonValue1  = new JSONValue();

            jsonValue1["islands"]       = new JSONValue((object)list.Select <ProjectStateRestHandler.Island, JSONValue>((Func <ProjectStateRestHandler.Island, JSONValue>)(i => ProjectStateRestHandler.JsonForIsland(i))).Where <JSONValue>((Func <JSONValue, bool>)(i2 => !i2.IsNull())).ToList <JSONValue>());
            jsonValue1["basedirectory"] = (JSONValue)ProjectStateRestHandler.ProjectPath;
            JSONValue jsonValue2 = new JSONValue();

            jsonValue2["files"]            = Handler.ToJSON((IEnumerable <string>)array);
            jsonValue2["emptydirectories"] = Handler.ToJSON((IEnumerable <string>)projectPath);
            jsonValue1["assetdatabase"]    = jsonValue2;
            return(jsonValue1);
        }
 private static JSONValue JsonForProject()
 {
   List<ProjectStateRestHandler.Island> list = ((IEnumerable<MonoIsland>) InternalEditorUtility.GetMonoIslands()).Select<MonoIsland, ProjectStateRestHandler.Island>((Func<MonoIsland, ProjectStateRestHandler.Island>) (i => new ProjectStateRestHandler.Island() { MonoIsland = i, Name = Path.GetFileNameWithoutExtension(i._output), References = ((IEnumerable<string>) i._references).ToList<string>() })).ToList<ProjectStateRestHandler.Island>();
   using (List<ProjectStateRestHandler.Island>.Enumerator enumerator1 = list.GetEnumerator())
   {
     while (enumerator1.MoveNext())
     {
       ProjectStateRestHandler.Island current1 = enumerator1.Current;
       List<string> stringList1 = new List<string>();
       List<string> stringList2 = new List<string>();
       using (List<string>.Enumerator enumerator2 = current1.References.GetEnumerator())
       {
         while (enumerator2.MoveNext())
         {
           string current2 = enumerator2.Current;
           // ISSUE: object of a compiler-generated type is created
           // ISSUE: variable of a compiler-generated type
           ProjectStateRestHandler.\u003CJsonForProject\u003Ec__AnonStorey25 projectCAnonStorey25 = new ProjectStateRestHandler.\u003CJsonForProject\u003Ec__AnonStorey25();
           // ISSUE: reference to a compiler-generated field
           projectCAnonStorey25.refName = Path.GetFileNameWithoutExtension(current2);
           // ISSUE: reference to a compiler-generated method
           if (current2.StartsWith("Library/") && list.Any<ProjectStateRestHandler.Island>(new Func<ProjectStateRestHandler.Island, bool>(projectCAnonStorey25.\u003C\u003Em__31)))
           {
             // ISSUE: reference to a compiler-generated field
             stringList1.Add(projectCAnonStorey25.refName);
             stringList2.Add(current2);
           }
           if (current2.EndsWith("/UnityEditor.dll") || current2.EndsWith("/UnityEngine.dll") || (current2.EndsWith("\\UnityEditor.dll") || current2.EndsWith("\\UnityEngine.dll")))
             stringList2.Add(current2);
         }
       }
       current1.References.Add(InternalEditorUtility.GetEditorAssemblyPath());
       current1.References.Add(InternalEditorUtility.GetEngineAssemblyPath());
       using (List<string>.Enumerator enumerator2 = stringList1.GetEnumerator())
       {
         while (enumerator2.MoveNext())
         {
           string current2 = enumerator2.Current;
           current1.References.Add(current2);
         }
       }
       using (List<string>.Enumerator enumerator2 = stringList2.GetEnumerator())
       {
         while (enumerator2.MoveNext())
         {
           string current2 = enumerator2.Current;
           current1.References.Remove(current2);
         }
       }
     }
   }
   string[] array = list.SelectMany<ProjectStateRestHandler.Island, string>((Func<ProjectStateRestHandler.Island, IEnumerable<string>>) (i => (IEnumerable<string>) i.MonoIsland._files)).Concat<string>(ProjectStateRestHandler.GetAllSupportedFiles()).Distinct<string>().ToArray<string>();
   string[] projectPath = ProjectStateRestHandler.RelativeToProjectPath(ProjectStateRestHandler.FindEmptyDirectories(ProjectStateRestHandler.AssetsPath, array));
   JSONValue jsonValue1 = new JSONValue();
   jsonValue1["islands"] = new JSONValue((object) list.Select<ProjectStateRestHandler.Island, JSONValue>((Func<ProjectStateRestHandler.Island, JSONValue>) (i => ProjectStateRestHandler.JsonForIsland(i))).Where<JSONValue>((Func<JSONValue, bool>) (i2 => !i2.IsNull())).ToList<JSONValue>());
   jsonValue1["basedirectory"] = (JSONValue) ProjectStateRestHandler.ProjectPath;
   JSONValue jsonValue2 = new JSONValue();
   jsonValue2["files"] = Handler.ToJSON((IEnumerable<string>) array);
   jsonValue2["emptydirectories"] = Handler.ToJSON((IEnumerable<string>) projectPath);
   jsonValue1["assetdatabase"] = jsonValue2;
   return jsonValue1;
 }