joe9added tests9661fb65 years agoHistory
2679 lines · 65.4 KB · Text
RawDownload
declare module Sysdeclare module Readdirdeclare module Filepatvariable 'SELF' val '"$self"'variable 'Sys->PATH' val '"$Sys"'variable 'Sys->Maxint' val '2147483647'variable 'Sys->QTDIR' val '128'variable 'Sys->QTAPPEND' val '64'variable 'Sys->QTEXCL' val '32'variable 'Sys->QTAUTH' val '8'variable 'Sys->QTTMP' val '4'variable 'Sys->QTFILE' val '0'variable 'Sys->nulldir' val 'Dir(nil, nil, nil, nil, (-1, -1, -1), -1, -1, -1, -1, -1, -1)'variable 'Sys->zerodir' val 'Dir(nil, nil, nil, nil, (0, 0, 0), 0, 0, 0, 0, 0, 0)'variable 'Sys->ATOMICIO' val '8192'variable 'Sys->SEEKSTART' val '0'variable 'Sys->SEEKRELA' val '1'variable 'Sys->SEEKEND' val '2'variable 'Sys->NAMEMAX' val '256'variable 'Sys->ERRMAX' val '128'variable 'Sys->WAITLEN' val '192'variable 'Sys->OREAD' val '0'variable 'Sys->OWRITE' val '1'variable 'Sys->ORDWR' val '2'variable 'Sys->OTRUNC' val '16'variable 'Sys->ORCLOSE' val '64'variable 'Sys->OEXCL' val '4096'variable 'Sys->DMDIR' val '-2147483648'variable 'Sys->DMAPPEND' val '1073741824'variable 'Sys->DMEXCL' val '536870912'variable 'Sys->DMAUTH' val '134217728'variable 'Sys->DMTMP' val '67108864'variable 'Sys->MREPL' val '0'variable 'Sys->MBEFORE' val '1'variable 'Sys->MAFTER' val '2'variable 'Sys->MCREATE' val '4'variable 'Sys->MCACHE' val '16'variable 'Sys->NEWFD' val '(1)'variable 'Sys->FORKFD' val '(2)'variable 'Sys->NEWNS' val '(4)'variable 'Sys->FORKNS' val '(8)'variable 'Sys->NEWPGRP' val '(16)'variable 'Sys->NODEVS' val '(32)'variable 'Sys->NEWENV' val '(64)'variable 'Sys->FORKENV' val '(128)'variable 'Sys->EXPWAIT' val '0'variable 'Sys->EXPASYNC' val '1'variable 'Sys->UTFmax' val '4'variable 'Sys->UTFerror' val '65533'variable 'Sys->Runemax' val '1114111'variable 'Sys->Runemask' val '2097151'variable 'Readdir->PATH' val '"/dis/lib/r..."'variable 'Readdir->NAME' val 'iota'variable 'Readdir->ATIME' val 'iota'variable 'Readdir->MTIME' val 'iota'variable 'Readdir->SIZE' val 'iota'variable 'Readdir->NONE' val 'iota'variable 'Readdir->DESCENDING' val '(32)'variable 'Readdir->COMPACT' val '(16)'variable 'PATH' val '"/dis/lib/f..."'typecheck tree: fn(){} fn(pat: string): list of string 0 0  name expand fn(pat: string): list of string 0 0  seq nothing 0 0    if nothing 0 0      == nothing 0 0        name sys nothing 0 0        name nil polymorphic type 0 0      seq nothing 0 0        scope nothing 0 0          seq nothing 0 0            = nothing 0 0              name sys nothing 0 0              load Sys 0 0                -> nothing 0 0                  name Sys nothing 0 0                  name PATH nothing 0 0    seq nothing 0 0      if nothing 0 0        == nothing 0 0          name rdir nothing 0 0          name nil polymorphic type 0 0        seq nothing 0 0          scope nothing 0 0            seq nothing 0 0              = nothing 0 0                name rdir nothing 0 0                load Readdir 0 0                  -> nothing 0 0                    name Readdir nothing 0 0                    name PATH nothing 0 0      seq nothing 0 0        := nothing 0 0          tuple nothing 0 0            seq nothing 0 0              name nil polymorphic type 0 0              seq nothing 0 0                name elem nothing 0 0          call nothing 0 0            -> nothing 0 0              name sys nothing 0 0              name tokenize nothing 0 0            seq nothing 0 0              name pat nothing 0 0              seq nothing 0 0                const / string 0 0        seq nothing 0 0          if nothing 0 0            == nothing 0 0              name elem nothing 0 0              name nil polymorphic type 0 0            seq nothing 0 0              return nothing 0 0                call nothing 0 0                  name filepat1 nothing 0 0                  seq nothing 0 0                    name pat nothing 0 0                    seq nothing 0 0                      name nil polymorphic type 0 0                      seq nothing 0 0                        const (0) int 0 0          seq nothing 0 0            vardecl list of string 0 0              seq nothing 0 0            seq nothing 0 0              if nothing 0 0                == nothing 0 0                  index nothing 0 0                    name pat nothing 0 0                    const (0) int 0 0                  const (47) int 0 0                seq nothing 0 0                  = nothing 0 0                    name files nothing 0 0                    :: nothing 0 0                      const / string 0 0                      name nil polymorphic type 0 0              seq nothing 0 0                for nothing 0 0                  != nothing 0 0                    name elem nothing 0 0                    name nil polymorphic type 0 0                  seq nothing 0 0                    scope nothing 0 0                      seq nothing 0 0                        = nothing 0 0                          name files nothing 0 0                          call nothing 0 0                            name filepat1 nothing 0 0                            seq nothing 0 0                              hd nothing 0 0                                name elem nothing 0 0                              seq nothing 0 0                                name files nothing 0 0                                seq nothing 0 0                                  != nothing 0 0                                    tl nothing 0 0                                      name elem nothing 0 0                                    name nil polymorphic type 0 0                        seq nothing 0 0                          if nothing 0 0                            == nothing 0 0                              name files nothing 0 0                              name nil polymorphic type 0 0                            seq nothing 0 0                              break nothing 0 0                          seq nothing 0 0                            = nothing 0 0                              name elem nothing 0 0                              tl nothing 0 0                                name elem nothing 0 0                seq nothing 0typecheck tree: fn(){} fn(pat: string, files: list of string, mustbedir: int): list of string 0 0  name filepat1 fn(pat: string, files: list of string, mustbedir: int): list of string 0 0  seq nothing 0 0    if nothing 0 0      == nothing 0 0        name files nothing 0 0        name nil polymorphic type 0 0      seq nothing 0 0        return nothing 0 0          call nothing 0 0            name filepatdir nothing 0 0            seq nothing 0 0              name pat nothing 0 0              seq nothing 0 0                const  string 0 0                seq nothing 0 0                  name nil polymorphic type 0 0                  seq nothing 0 0                    name mustbedir nothing 0 0    seq nothing 0 0      vardecl list of string 0 0        seq nothing 0 0      seq nothing 0 0        for nothing 0 0          != nothing 0 0            name files nothing 0 0            name nil polymorphic type 0 0          seq nothing 0 0            scope nothing 0 0              seq nothing 0 0                = nothing 0 0                  name r nothing 0 0                  :: nothing 0 0                    hd nothing 0 0                      name files nothing 0 0                    name r nothing 0 0                seq nothing 0 0                  = nothing 0 0                    name files nothing 0 0                    tl nothing 0 0                      name files nothing 0 0        seq nothing 0 0          = nothing 0 0            name files nothing 0 0            name r nothing 0 0          seq nothing 0 0            vardecli nothing 0 0              vardecl list of string 0 0                seq nothing 0 0              = nothing 0 0                name nfiles nothing 0 0                name nil polymorphic type 0 0            seq nothing 0 0              for nothing 0 0                != nothing 0 0                  name files nothing 0 0                  name nil polymorphic type 0 0                seq nothing 0 0                  scope nothing 0 0                    seq nothing 0 0                      = nothing 0 0                        name nfiles nothing 0 0                        call nothing 0 0                          name filepatdir nothing 0 0                          seq nothing 0 0                            name pat nothing 0 0                            seq nothing 0 0                              hd nothing 0 0                                name files nothing 0 0                              seq nothing 0 0                                name nfiles nothing 0 0                                seq nothing 0 0                                  name mustbedir nothing 0 0                      seq nothing 0 0                        = nothing 0 0                          name files nothing 0 0                          tl nothing 0 0                            name files nothing 0 0              seq nothing 0 0                return nothing 0 0                  name nfiles nothing 0 0typecheck tree: fn(){} fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0  name filepatdir fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0  seq nothing 0 0    if nothing 0 0      || nothing 0 0        == nothing 0 0          name pat nothing 0 0          const . string 0 0        == nothing 0 0          name pat nothing 0 0          const .. string 0 0      seq nothing 0 0        scope nothing 0 0          seq nothing 0 0            if nothing 0 0              || nothing 0 0                == nothing 0 0                  name dir nothing 0 0                  const / string 0 0                == nothing 0 0                  name dir nothing 0 0                  const  string 0 0              seq nothing 0 0                = nothing 0 0                  name files nothing 0 0                  :: nothing 0 0                    + nothing 0 0                      name dir nothing 0 0                      name pat nothing 0 0                    name files nothing 0 0                = nothing 0 0                  name files nothing 0 0                  :: nothing 0 0                    + nothing 0 0                      + nothing 0 0                        name dir nothing 0 0                        const / string 0 0                      name pat nothing 0 0                    name files nothing 0 0            seq nothing 0 0              return nothing 0 0                name files nothing 0 0    seq nothing 0 0      := nothing 0 0        name dirname nothing 0 0        name dir nothing 0 0      seq nothing 0 0        if nothing 0 0          == nothing 0 0            name dir nothing 0 0            const  string 0 0          seq nothing 0 0            = nothing 0 0              name dirname nothing 0 0              const . string 0 0        seq nothing 0 0          := nothing 0 0            tuple nothing 0 0              seq nothing 0 0                name d nothing 0 0                seq nothing 0 0                  name n nothing 0 0            call nothing 0 0              -> nothing 0 0                name rdir nothing 0 0                name init nothing 0 0              seq nothing 0 0                name dirname nothing 0 0                seq nothing 0 0                  | nothing 0 0                    | nothing 0 0                      -> nothing 0 0                        name rdir nothing 0 0                        name NAME nothing 0 0                      -> nothing 0 0                        name rdir nothing 0 0                        name DESCENDING nothing 0 0                    -> nothing 0 0                      name rdir nothing 0 0                      name COMPACT nothing 0 0          seq nothing 0 0            if nothing 0 0              == nothing 0 0                name d nothing 0 0                name nil polymorphic type 0 0              seq nothing 0 0                return nothing 0 0                  name files nothing 0 0            seq nothing 0 0              seq nothing 0 0                := nothing 0 0                  name i nothing 0 0                  const (1) int 0 0                for nothing 0 0                  < nothing 0 0                    name i nothing 0 0                    name n nothing 0 0                  seq nothing 0 0                    if nothing 0 0                      == nothing 0 0                        . nothing 0 0                          index nothing 0 0                            name d nothing 0 0                            - nothing 0 0                              name i nothing 0 0                              const (1) int 0 0                          name name nothing 0 0                        . nothing 0 0                          index nothing 0 0                            name d nothing 0 0                            name i nothing 0 0                          name name nothing 0 0                      seq nothing 0 0                        scope nothing 0 0               typecheck tree: fn(){} fn(pat: string, name: string): int 0 0  name match fn(pat: string, name: string): int 0 0  seq nothing 0 0    := nothing 0 0      name n nothing 0 0      const (0) int 0 0    seq nothing 0 0      := nothing 0 0        name p nothing 0 0        const (0) int 0 0      seq nothing 0 0        for nothing 0 0          < nothing 0 0            name p nothing 0 0            len nothing 0 0              name pat nothing 0 0          seq nothing 0 0            scope nothing 0 0              seq nothing 0 0                := nothing 0 0                  name r nothing 0 0                  index nothing 0 0                    name pat nothing 0 0                    ++ nothing 0 0                      name p nothing 0 0                seq nothing 0 0                  case nothing 0 0                    name r nothing 0 0                    seq nothing 0 0                      label nothing 0 0                        seq nothing 0 0                          const (42) int 0 0                        scope nothing 0 0                          seq nothing 0 0                            seq nothing 0 0                              seq nothing 0 0                                = nothing 0 0                                  name pat nothing 0 0                                  slice nothing 0 0                                    name pat nothing 0 0                                    seq nothing 0 0                                      name p nothing 0 0                                      nothing nothing 0 0                                if nothing 0 0                                  == nothing 0 0                                    len nothing 0 0                                      name pat nothing 0 0                                    const (0) int 0 0                                  seq nothing 0 0                                    return nothing 0 0                                      const (1) int 0 0                              for nothing 0 0                                <= nothing 0 0                                  name n nothing 0 0                                  len nothing 0 0                                    name name nothing 0 0                                seq nothing 0 0                                  if nothing 0 0                                    call nothing 0 0                                      name match nothing 0 0                                      seq nothing 0 0                                        name pat nothing 0 0                                        seq nothing 0 0                                          slice nothing 0 0                                            name name nothing 0 0                                            seq nothing 0 0                                              name n nothing 0 0                                              nothing nothing 0 0                                    seq nothing 0 0                                      return nothing 0 0                                        const (1) int 0 0                                  ++ nothing 0 0                                    name n nothing 0 0                            return nothing 0 0                              const (0) int 0 0                      seq nothing 0 0                        label nothing 0 0                          seq nothing 0 0                            const (91) int 0 0                          scope nothing 0 0                            seq nothing 0 0                              seq nothing 0 0                                seq nothing 0 0                                  seq nothing 0 0                                    seq nothing 0 0                                      seq nothing 0 0                                        seq nothing 0 0                                          if nothing 0 0                                            == nothing 0 0                                              name n nothing 0 0                                          typecheck tree: fn(){} fn(pat: string, p: int): (int, int, int) 0 0  name range fn(pat: string, p: int): (int, int, int) 0 0  seq nothing 0 0    := nothing 0 0      tuple nothing 0 0        seq nothing 0 0          name q nothing 0 0          seq nothing 0 0            name lo nothing 0 0            seq nothing 0 0              name nil polymorphic type 0 0      call nothing 0 0        name char nothing 0 0        seq nothing 0 0          name pat nothing 0 0          seq nothing 0 0            name p nothing 0 0    seq nothing 0 0      := nothing 0 0        tuple nothing 0 0          seq nothing 0 0            name q1 nothing 0 0            seq nothing 0 0              name hi nothing 0 0              seq nothing 0 0                name esc nothing 0 0        call nothing 0 0          name char nothing 0 0          seq nothing 0 0            name pat nothing 0 0            seq nothing 0 0              name q nothing 0 0      seq nothing 0 0        if nothing 0 0          && nothing 0 0            ! nothing 0 0              name esc nothing 0 0

Lines 1–500 of 2679.