Пример #1
0
    public static InitGenerator Create(string[] /*!*/ args)
    {
        var gen = new InitGenerator();

        for (int i = 0; i < args.Length; i++)
        {
            KeyValuePair <string, string> arg = ToNameValue(args[i]);

            switch (arg.Key)
            {
            case "out":
                gen._outFile = arg.Value;
                break;

            case "libraries":
                foreach (string libararyNamespace in arg.Value.Split(';', ','))
                {
                    gen._libraries[libararyNamespace] = new LibraryDef(libararyNamespace);
                }
                break;

            case "":
                try {
                    gen._assembly = Assembly.LoadFrom(arg.Value);
                } catch (Exception e) {
                    Console.Error.WriteLine(e.Message);
                    return(null);
                }
                break;

            default:
                Console.Error.WriteLine("Unknown option: {0}", arg.Key);
                return(null);
            }
        }

        if (gen._outFile == null)
        {
            Console.Error.WriteLine("Output file not specified");
            return(null);
        }

        return(gen);
    }
Пример #2
0
    static void Main(string[] /*!*/ args)
    {
        var list = new List <string>(args);

        if (list.IndexOf("/refcache") >= 0 || list.IndexOf("-refcache") >= 0)
        {
            ReflectionCacheGenerator.Create(args).Generate();
        }
        else
        {
            var generator = InitGenerator.Create(args);
            if (generator == null)
            {
                Environment.ExitCode = -1;
                return;
            }

            generator.Generate();
        }
    }
Пример #3
0
    public static InitGenerator Create(string[]/*!*/ args)
    {
        var gen = new InitGenerator();

        for (int i = 0; i < args.Length; i++) {
            KeyValuePair<string, string> arg = ToNameValue(args[i]);

            switch (arg.Key) {
                case "out":
                    gen._outFile = arg.Value;
                    break;

                case "libraries":
                    foreach (string libararyNamespace in arg.Value.Split(';', ',')) {
                        gen._libraries[libararyNamespace] = new LibraryDef(libararyNamespace);
                    }
                    break;

                case "":
                    try {
                        gen._assembly = Assembly.LoadFrom(arg.Value);
                    } catch (Exception e) {
                        Console.Error.WriteLine(e.Message);
                        return null;
                    }
                    break;

                default:
                    Console.Error.WriteLine("Unknown option: {0}", arg.Key);
                    return null;
            }
        }

        if (gen._outFile == null) {
            Console.Error.WriteLine("Output file not specified");
            return null;
        }

        return gen;
    }