Ejemplo n.º 1
0
        public static void LoadMapping(string fileName)
        {
            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException("Missing mapping file...");
            }

            Mapping = SRGFile.Load(fileName);
        }
Ejemplo n.º 2
0
        public static SRGFile Load(string fileName)
        {
            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException("Can't find srg file...");
            }

            var file = new SRGFile();

            var stream = File.OpenRead(fileName);
            var reader = new StreamReader(stream);

            string line = "";
            while ((line = reader.ReadLine()) != null)
            {
                var splitted = line.Split(new[] { ": " }, StringSplitOptions.RemoveEmptyEntries);
                var args = splitted[1].Split(' ');

                var kind = splitted[0];

                switch (kind)
                {
                    case "PK":
                        file.PackageMap.Add(args[0], args[1]);
                        break;
                    case "CL":
                        file.ClassMap.Add(args[0], args[1]);
                        break;
                    case "FD":
                        file.FieldMap.Add(args[0], args[1]);
                        break;
                    case "MD":
                        file.MethodMap.Add(args[0] + " " + args[1], args[2]);
                        file.MethodSigMap.Add(args[0] + " " + args[1], args[3]);
                        break;
                }
            }

            reader.Close();
            reader.Dispose();
            stream.Close();
            stream.Dispose();

            return file;
        }