상속: obj
예제 #1
0
        public static Object get( int depth )
        {
            stack_trace runner = top_of_stack;
              obj l = nil._nil;
              int level= 0;

              while (((depth < 0) || (level < depth)) && (runner != null))
              {
             if (bigloo.foreign.SYMBOLP( runner._name ))
             {
            l = new pair(new pair(runner._name, runner._location), l);

            level++;
             }

             runner= runner.link;
              }

              return l;
        }
예제 #2
0
        public static Object SET_CDR( pair    c,
				    Object  o )
        {
            c.cdr= o;
            return unspecified._unspecified;
        }
예제 #3
0
        public static bool bgl_chmod( byte[]  f, bool r, bool w, bool x )
        {
            if (bigloo.os.OS_CLASS.Equals( getbytes( "unix" ) ))
            {
               pair args = new pair( f, nil._nil );
               StringBuilder mode = new StringBuilder( "a" );

               mode.Append( r ? "+r " : "-r " );
               mode.Append( w ? "+w " : "-w " );
               mode.Append( x ? "+x " : "-x " );

               args= new pair( getbytes( mode.ToString() ), args );

               process p = new process( null,
                    false,
                    true,
                    null,
                    bigloo.foreign.BUNSPEC,
                    bigloo.foreign.BUNSPEC,
                    getbytes( "chmod" ),
                    args,
                    null );
               obj x_status= p.xstatus();

               return ((x_status is bint) && (((bint)x_status).value == 0));
            }

            return false;
        }
예제 #4
0
        public static Object listargv( String[]  argv )
        {
            int len = argv.Length;
            Object result = BNIL;

            for ( int i = 0 ; i < len ; ++i )
               result = new pair( getbytes( argv[len-i-1] ), result );
            result = new pair( executable_name, result );
            command_line = result;

            return result;
        }
예제 #5
0
        public static Object directory_to_list( byte[]  name )
        {
            FileInfo[] files= new DirectoryInfo( newstring( name ) ).GetFiles();
            Object result= BNIL;

            foreach (FileInfo file_info in files)
               result= new pair( getbytes( file_info.Name ), result );

            return result;
        }
예제 #6
0
 public static Object CDR( pair  c )
 {
     return c.cdr;
 }
예제 #7
0
 public static Object CAR( pair  c )
 {
     return c.car;
 }