RDL.nowrap :File

RDL.type :File, 'self.absolute_path', '(String file, ?String dir) -> String abs_file'
RDL.type :File, 'self.atime', '(%path or IO file) -> Time'
RDL.type :File, 'self.basename', '(String file, ?String suffix) -> String base_name'
RDL.type :File, 'self.binread', '(String) -> String'
RDL.type :File, 'self.binread', '(String, Fixnum) -> String'
RDL.type :File, 'self.binread', '(String, Fixnum, Fixnum) -> String'
RDL.type :File, 'self.birthtime', '(%path or IO file) -> Time'
RDL.type :File, 'self.blockdev?', '(String or IO file) -> %bool'
RDL.type :File, 'self.chardev?', '(String or IO file) -> %bool'
RDL.type :File, 'self.chmod', '(Integer mode, *String files) -> Integer'
RDL.type :File, 'self.chown', '(Integer owner, Integer group, *String files) -> Integer'
RDL.type :File, 'self.ctime', '(%path or IO file) -> Time'
RDL.type :File, 'self.delete', '(*String files) -> Integer'
RDL.type :File, 'self.directory?', '(String or IO file) -> %bool'
RDL.type :File, 'self.dirname', '(String file) -> String dir'
RDL.type :File, 'self.executable?', '(String file) -> %bool'
RDL.type :File, 'self.executable_real?', '(String file) -> %bool'
RDL.type :File, 'self.exist?', '(%path or IO file) -> %bool'
# exists? deprecated
RDL.type :File, 'self.expand_path', '(%path file, ?%path dir) -> String abs_file'
RDL.type :File, 'self.extname', '(String path) -> String'
RDL.type :File, 'self.file?', '(String or IO file) -> %bool'
RDL.type :File, 'self.fnmatch', '(String pattern, String path, ?Integer flags) -> %bool'
RDL.rdl_alias :File, :'self.fnmatch?', :'self.fnmatch'
RDL.type :File, 'self.ftype', '(String file) -> String' # TODO: return in set of strings
RDL.type :File, 'self.grpowned?', '(String or IO file) -> %bool'
RDL.type :File, 'self.identical?', '(String or IO file_1, String or IO file_2) -> %bool'
RDL.type :File, 'self.join', '(*(%path or File or Array<String>)) -> String'
RDL.type :File, 'self.lchmod', '(Integer mode, *String files) -> Integer'
RDL.type :File, 'self.lchown', '(Integer owner, Integer group, *String files) -> Integer'
RDL.type :File, 'self.link', '(String old, String new) -> 0'
RDL.type :File, 'self.lstat', '(String file) -> File::Stat'
RDL.type :File, 'self.mtime', '(%path or IO file) -> Time'
RDL.type :File, 'self.open', '(%path file, ?String file, ?String perm, ?Integer opt, mode:?String, external_encoding: ?String, internal_encoding: ?String, encoding: ?String, textmode: ?%any, binmode: ?%any, autoclose: ?%any) -> File'
RDL.type :File, 'self.open', '(%path file, ?String mode, ?String perm, ?Integer opt, mode:?String, external_encoding: ?String, internal_encoding: ?String, encoding: ?String, textmode: ?%any, binmode: ?%any, autoclose: ?%any) { (File) -> t } -> t'
RDL.type :File, 'self.owned?', '(String file) -> %bool'
RDL.type :File, 'self.path', '(String path) -> String'
RDL.type :File, 'self.pipe?', '(String file) -> %bool'
RDL.type :File, 'self.readable?', '(String file) -> %bool'
RDL.type :File, 'self.readable_real?', '(String file) -> %bool'
RDL.type :File, 'self.readlink', '(String link) -> String file'
RDL.type :File, 'self.realdirpath', '(String pathname, ?String dir) -> String real_pathname'
RDL.type :File, 'self.realpath', '(String pathname, ?String dir) -> String real_pathname'
RDL.type :File, 'self.rename', '(String old, String new) -> 0'
RDL.type :File, 'self.setgid?', '(String file) -> %bool'
RDL.type :File, 'self.setuid?', '(String file) -> %bool'
RDL.type :File, 'self.size', '(String or IO file) -> Integer'
RDL.type :File, 'self.size?', '(String or IO file) -> Integer or nil'
RDL.type :File, 'self.socket?', '(String or IO file) -> %bool'
RDL.type :File, 'self.split', '(String file) -> [String, String]'
RDL.type :File, 'self.stat', '(%path file) -> File::Stat'
RDL.type :File, 'self.sticky?', '(String file) -> %bool'
RDL.type :File, 'self.symlink', '(String old, String new) -> 0'
RDL.type :File, 'self.symlink?', '(String file) -> %bool'
RDL.type :File, 'self.truncate', '(String file, Integer) -> 0'
RDL.type :File, 'self.umask', '(?Integer) -> Integer'
RDL.rdl_alias :File, :'self.unlink', :'self.delete'
RDL.type :File, 'self.utime', '(Time atime, Time mtime, *String files) -> Integer'
RDL.type :File, 'self.world_readable?', '(String or IO file) -> Integer or nil'
RDL.type :File, 'self.world_writable?', '(String or IO file) -> Integer or nil'
RDL.type :File, 'self.writable?', '(String file) -> Integer or nil'
RDL.type :File, 'self.writable_real?', '(String file) -> Integer or nil'
RDL.type :File, 'self.zero?', '(String or IO file) -> Integer or nil'

RDL.type :File, :atime, '() -> Time'
RDL.type :File, :birthtime, '() -> Time'
RDL.type :File, :chmod, '(Integer mode) -> 0'
RDL.type :File, :chown, '(Integer owner, Integer group) -> 0'
RDL.type :File, :ctime, '() -> Time'
RDL.type :File, :flock, '(Integer) -> 0 or %bool'
RDL.type :File, :initialize, '(String file, ?String mode, ?String perm, ?Integer opt) -> self'
RDL.type :File, :lstat, '() -> File::Stat'
RDL.type :File, :mtime, '() -> Time'
RDL.type :File, :path, '() -> String file'
RDL.type :File, :size, '() -> Integer'
RDL.rdl_alias :File, :to_path, :path
RDL.type :File, :truncate, '(Integer) -> 0'

RDL.nowrap :'File::Stat'

RDL.type :'File::Stat', :<=>, '(File::Stat other) -> -1 or 0 or 1 or nil'
RDL.type :'File::Stat', :atime, '() -> Time'
RDL.type :'File::Stat', :birthtime, '() -> Time'
RDL.type :'File::Stat', :blksize, '() -> Integer or nil'
RDL.type :'File::Stat', :blockdev?, '() -> %bool'
RDL.type :'File::Stat', :blocks, '() -> Integer or nil'
RDL.type :'File::Stat', :chardev?, '() -> %bool'
RDL.type :'File::Stat', :ctime, '() -> Time'
RDL.type :'File::Stat', :dev, '() -> Integer'
RDL.type :'File::Stat', :dev_major, '() -> Integer'
RDL.type :'File::Stat', :dev_minor, '() -> Integer'
RDL.type :'File::Stat', :directory?, '() -> %bool'
RDL.type :'File::Stat', :executable?, '() -> %bool'
RDL.type :'File::Stat', :executable_real?, '() -> %bool'
RDL.type :'File::Stat', :file?, '() -> %bool'
RDL.type :'File::Stat', :ftype, '() -> String'
RDL.type :'File::Stat', :gid, '() -> Integer'
RDL.type :'File::Stat', :grpowned?, '() -> %bool'
RDL.type :'File::Stat', :ino, '() -> Integer'
RDL.type :'File::Stat', :initialize, '(String file) -> self'
RDL.type :'File::Stat', :inspect, '() -> String'
RDL.type :'File::Stat', :mode, '() -> Integer'
RDL.type :'File::Stat', :mtime, '() -> Time'
RDL.type :'File::Stat', :nlink, '() -> Integer'
RDL.type :'File::Stat', :owned?, '() -> %bool'
RDL.type :'File::Stat', :pipe?, '() -> %bool'
RDL.type :'File::Stat', :rdev, '() -> Integer or nil'
RDL.type :'File::Stat', :rdev_major, '() -> Integer'
RDL.type :'File::Stat', :rdev_minor, '() -> Integer'
RDL.type :'File::Stat', :readable?, '() -> %bool'
RDL.type :'File::Stat', :readable_real?, '() -> %bool'
RDL.type :'File::Stat', :setgid?, '() -> %bool'
RDL.type :'File::Stat', :setuid?, '() -> %bool'
RDL.type :'File::Stat', :size, '() -> Integer'
RDL.type :'File::Stat', :socket?, '() -> %bool'
RDL.type :'File::Stat', :sticky?, '() -> %bool'
RDL.type :'File::Stat', :symlink?, '() -> %bool'
RDL.type :'File::Stat', :uid, '() -> Integer'
RDL.type :'File::Stat', :world_readable?, '() -> Integer or nil'
RDL.type :'File::Stat', :world_writable?, '() -> Integer or nil'
RDL.type :'File::Stat', :writable?, '() -> %bool'
RDL.type :'File::Stat', :writable_real?, '() -> %bool'
RDL.type :'File::Stat', :zero?, '() -> %bool'
