private static JSONValue JsonForIsland(ProjectStateRestHandler.Island island) { if (island.Name == "UnityEngine" || island.Name == "UnityEditor") { return(null); } JSONValue result = default(JSONValue); result["name"] = island.Name; result["language"] = ((!island.Name.Contains("Boo")) ? ((!island.Name.Contains("UnityScript")) ? "C#" : "UnityScript") : "Boo"); result["files"] = Handler.ToJSON(island.MonoIsland._files); result["defines"] = Handler.ToJSON(island.MonoIsland._defines); result["references"] = Handler.ToJSON(island.MonoIsland._references); result["basedirectory"] = ProjectStateRestHandler.ProjectPath; return(result); }
private static JSONValue JsonForIsland(ProjectStateRestHandler.Island island) { if (island.Name == "UnityEngine" || island.Name == "UnityEditor") { return((JSONValue)((string)null)); } JSONValue jsonValue = new JSONValue(); jsonValue["name"] = (JSONValue)island.Name; jsonValue["language"] = (JSONValue)(!island.Name.Contains("Boo") ? (!island.Name.Contains("UnityScript") ? "C#" : "UnityScript") : "Boo"); jsonValue["files"] = Handler.ToJSON((IEnumerable <string>)island.MonoIsland._files); jsonValue["defines"] = Handler.ToJSON((IEnumerable <string>)island.MonoIsland._defines); jsonValue["references"] = Handler.ToJSON((IEnumerable <string>)island.MonoIsland._references); jsonValue["basedirectory"] = (JSONValue)ProjectStateRestHandler.ProjectPath; return(jsonValue); }
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); }