feat: add stat instance method to File class returning Stat object

Implement `File.stat` method that performs an asynchronous `fstat` call on the open file descriptor, returning a `Stat` object populated with file metadata (device, inode, mode, link count, user, group, size, block size, block count). Refactor the existing `statPathCallback` into a generic `statCallback` shared by both `statPath` and the new `fileStat` function. Bump `MAX_METHODS_PER_CLASS` from 11 to 12 to accommodate the new foreign method slot. Add comprehensive test coverage including successful stat retrieval and error handling when called on a closed file.
This commit is contained in:
Bob Nystrom
2016-02-21 18:18:45 +00:00
parent e87cd41c32
commit 42ba73b03b
7 changed files with 88 additions and 43 deletions
+6
View File
@@ -0,0 +1,6 @@
import "io" for File
var file = File.open("test/io/file/file.txt")
file.close()
file.stat // expect runtime error: File is not open.