VM.Main C# (CSharp) Méthode

Main() static private méthode

static private Main ( string args ) : int
args string
Résultat int
    static int Main(string[] args)
    {
        if( args.Length < 1 )
        {
            PrintErr( "need to specify at least one file" );
            PrintHelp();
            return 1;
        }

        for( int i = 0; i < args.Length; ++i )
        {
            if( args[ i ] == "--separate" || args[ i ] == "-s" ){ separate = true; args[ i ] = null; }
            // else if( args[ i ] == "--debug" || args[ i ] == "-d" ){ idbg = 1; args[ i ] = null; }
            // else if( args[ i ] == "--profile" ){ prof = 1; args[ i ] = null; }
            // else if( args[ i ] == "--profile-ops" ){ prof = 2; args[ i ] = null; }
            // else if( args[ i ] == "--profile-mem" ){ prof = 3; args[ i ] = null; }
            else if( args[ i ] == "--help" || args[ i ] == "-h" ){ PrintHelp(); return 0; }
            else if( args[ i ] == "--version" || args[ i ] == "-v" ){ printVersion = true; args[ i ] = null; }
            else if( args[ i ] == "--stats" ){ printStats = true; args[ i ] = null; }
            else if( args[ i ] == "--program" || args[ i ] == "-p" )
            {
                i++;
                if( i == args.Length )
                {
                    PrintErr( "file name expected" );
                    return 1;
                }

                PrintVersion();
                Init();

                for( int j = i; j < args.Length; ++j )
                    engine.Push( args[ j ] );
                engine.PushArray( args.Length - i );
                engine.SetGlobal( "argv", engine.StackItem( -1 ) );
                engine.Pop( 1 );

                engine.SetGlobal( "argc", engine.Var( args.Length - i ) );

                try
                {
                    engine.Include( args[ i ] );
                }
                catch( SGSException ex )
                {
                    PrintErr( string.Format( "failed to run \"{0}\": {1}", args[ i ], ex.Message ) );
                }
                Free();
                return 0;
            }
        }

        PrintVersion();
        Init();
        for( int i = 0; i < args.Length; ++i )
        {
            if( args[ i ] != null )
            {
                try
                {
                    engine.ExecFile( args[ i ] );
                }
                catch( SGSException ex )
                {
                    PrintErr( string.Format( "failed to execute \"{0}\": {1}", args[ i ], ex.Message ) );
                }
                if( separate )
                {
                    Free();
                    Init();
                }
            }
        }

        Free();
        return 0;
    }