コード例 #1
0
        private static bool StripAssembliesTo(string[] assemblies, string[] searchDirs, string outputFolder, string workingDirectory, out string output, out string error, string linkerPath, IIl2CppPlatformProvider platformProvider, IEnumerable <string> additionalBlacklist, bool developmentBuild)
        {
            // ISSUE: object of a compiler-generated type is created
            // ISSUE: variable of a compiler-generated type
            AssemblyStripper.\u003CStripAssembliesTo\u003Ec__AnonStorey65 assembliesToCAnonStorey65 = new AssemblyStripper.\u003CStripAssembliesTo\u003Ec__AnonStorey65();
            // ISSUE: reference to a compiler-generated field
            assembliesToCAnonStorey65.workingDirectory = workingDirectory;
            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }
            // ISSUE: reference to a compiler-generated method
            additionalBlacklist = additionalBlacklist.Select <string, string>(new Func <string, string>(assembliesToCAnonStorey65.\u003C\u003Em__D4)).Where <string>(new Func <string, bool>(File.Exists));
            IEnumerable <string> userBlacklistFiles = AssemblyStripper.GetUserBlacklistFiles();

            foreach (string str in userBlacklistFiles)
            {
                Console.WriteLine("UserBlackList: " + str);
            }
            additionalBlacklist = additionalBlacklist.Concat <string>(userBlacklistFiles);
            List <string> stringList = new List <string>()
            {
                "-out \"" + outputFolder + "\"", "-l none", "-c link", "-b " + (object)developmentBuild, "-x \"" + AssemblyStripper.GetModuleWhitelist("Core", platformProvider.moduleStrippingInformationFolder) + "\"", "-f \"" + Path.Combine(platformProvider.il2CppFolder, "LinkerDescriptors") + "\""
            };

            stringList.AddRange(additionalBlacklist.Select <string, string>((Func <string, string>)(path => "-x \"" + path + "\"")));
            stringList.AddRange(((IEnumerable <string>)searchDirs).Select <string, string>((Func <string, string>)(d => "-d \"" + d + "\"")));
            stringList.AddRange(((IEnumerable <string>)assemblies).Select <string, string>((Func <string, string>)(assembly => "-a  \"" + Path.GetFullPath(assembly) + "\"")));
            // ISSUE: reference to a compiler-generated field
            return(AssemblyStripper.RunAssemblyLinker((IEnumerable <string>)stringList, out output, out error, linkerPath, assembliesToCAnonStorey65.workingDirectory));
        }
コード例 #2
0
        private static bool StripAssembliesTo(string[] assemblies, string[] searchDirs, string outputFolder, string workingDirectory, out string output, out string error, string linkerPath, IIl2CppPlatformProvider platformProvider, IEnumerable <string> additionalBlacklist, bool developmentBuild)
        {
            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }
            additionalBlacklist = (from s in additionalBlacklist
                                   select(!Path.IsPathRooted(s)) ? Path.Combine(workingDirectory, s) : s).Where(new Func <string, bool>(File.Exists));
            IEnumerable <string> userBlacklistFiles = AssemblyStripper.GetUserBlacklistFiles();

            foreach (string current in userBlacklistFiles)
            {
                Console.WriteLine("UserBlackList: " + current);
            }
            additionalBlacklist = additionalBlacklist.Concat(userBlacklistFiles);
            List <string> list = new List <string>
            {
                "-out \"" + outputFolder + "\"",
                "-l none",
                "-c link",
                "-b " + developmentBuild,
                "-x \"" + AssemblyStripper.GetModuleWhitelist("Core", platformProvider.moduleStrippingInformationFolder) + "\"",
                "-f \"" + Path.Combine(platformProvider.il2CppFolder, "LinkerDescriptors") + "\""
            };

            list.AddRange(from path in additionalBlacklist
                          select "-x \"" + path + "\"");
            list.AddRange(from d in searchDirs
                          select "-d \"" + d + "\"");
            list.AddRange(from assembly in assemblies
                          select "-a  \"" + Path.GetFullPath(assembly) + "\"");
            return(AssemblyStripper.RunAssemblyLinker(list, out output, out error, linkerPath, workingDirectory));
        }
コード例 #3
0
        public LinkXmlReader()
        {
            IEnumerator <string> enumerator = AssemblyStripper.GetUserBlacklistFiles().GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    string         current   = enumerator.Current;
                    XPathNavigator navigator = new XPathDocument(current).CreateNavigator();
                    navigator.MoveToFirstChild();
                    XPathNodeIterator iterator = navigator.SelectChildren("assembly", string.Empty);
                    while (iterator.MoveNext())
                    {
                        this._assembliesInALinkXmlFile.Add(iterator.Current.GetAttribute("fullname", string.Empty));
                    }
                }
            }
            finally
            {
                if (enumerator == null)
                {
                }
                enumerator.Dispose();
            }
        }
コード例 #4
0
 public LinkXmlReader()
 {
     foreach (string userBlacklistFile in AssemblyStripper.GetUserBlacklistFiles())
     {
         XPathNavigator navigator = new XPathDocument(userBlacklistFile).CreateNavigator();
         navigator.MoveToFirstChild();
         XPathNodeIterator xpathNodeIterator = navigator.SelectChildren("assembly", string.Empty);
         while (xpathNodeIterator.MoveNext())
         {
             this._assembliesInALinkXmlFile.Add(xpathNodeIterator.Current.GetAttribute("fullname", string.Empty));
         }
     }
 }
コード例 #5
0
        public LinkXmlReader()
        {
            foreach (var linkXmlFile in AssemblyStripper.GetUserBlacklistFiles())
            {
                XPathDocument linkXml   = new XPathDocument(linkXmlFile);
                var           navigator = linkXml.CreateNavigator();
                navigator.MoveToFirstChild();
                var iterator = navigator.SelectChildren("assembly", string.Empty);

                while (iterator.MoveNext())
                {
                    _assembliesInALinkXmlFile.Add(iterator.Current.GetAttribute("fullname", string.Empty));
                }
            }
        }
コード例 #6
0
        private static bool StripAssembliesTo(string[] assemblies, string[] searchDirs, string outputFolder, string workingDirectory, out string output, out string error, string linkerPath, IIl2CppPlatformProvider platformProvider, IEnumerable <string> additionalBlacklist)
        {
            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }
            IEnumerable <string> arg_50_0 = from s in additionalBlacklist
                                            select(!Path.IsPathRooted(s)) ? Path.Combine(workingDirectory, s) : s;

            if (AssemblyStripper.< > f__mg$cache0 == null)
            {
                AssemblyStripper.< > f__mg$cache0 = new Func <string, bool>(File.Exists);
            }
            additionalBlacklist = arg_50_0.Where(AssemblyStripper.< > f__mg$cache0);
            IEnumerable <string> userBlacklistFiles = AssemblyStripper.GetUserBlacklistFiles();

            foreach (string current in userBlacklistFiles)
            {
                Console.WriteLine("UserBlackList: " + current);
            }
            additionalBlacklist = additionalBlacklist.Concat(userBlacklistFiles);
            List <string> list = new List <string>
            {
                "--api " + PlayerSettings.GetApiCompatibilityLevel(EditorUserBuildSettings.activeBuildTargetGroup).ToString(),
                "-out \"" + outputFolder + "\"",
                "-l none",
                "-c link",
                "-b true",
                "-x \"" + AssemblyStripper.GetModuleWhitelist("Core", platformProvider.moduleStrippingInformationFolder) + "\"",
                "-f \"" + Path.Combine(platformProvider.il2CppFolder, "LinkerDescriptors") + "\""
            };

            list.AddRange(from path in additionalBlacklist
                          select "-x \"" + path + "\"");
            list.AddRange(from d in searchDirs
                          select "-d \"" + d + "\"");
            list.AddRange(from assembly in assemblies
                          select "-a  \"" + Path.GetFullPath(assembly) + "\"");
            return(AssemblyStripper.RunAssemblyLinker(list, out output, out error, linkerPath, workingDirectory));
        }