11import ArgumentParser
22import SystemPackage
3- import WAT
43import WasmKit
54import WasmKitWASI
65
@@ -120,12 +119,12 @@ struct Run: ParsableCommand {
120119 let module : Module
121120 if verbose, #available( macOS 13 . 0 , iOS 16 . 0 , watchOS 9 . 0 , tvOS 16 . 0 , * ) {
122121 let ( parsedModule, parseTime) = try measure {
123- try self . parseWasm ( filePath: FilePath ( path) )
122+ try parseWasm ( filePath: FilePath ( path) )
124123 }
125124 log ( " Finished parsing module: \( parseTime) " , verbose: true )
126125 module = parsedModule
127126 } else {
128- module = try self . parseWasm ( filePath: FilePath ( path) )
127+ module = try parseWasm ( filePath: FilePath ( path) )
129128 }
130129
131130 let ( interceptor, finalize) = try deriveInterceptor ( )
@@ -149,23 +148,6 @@ struct Run: ParsableCommand {
149148 }
150149 }
151150
152- /// Parses a `.wasm` or `.wat` module.
153- func parseWasm( filePath: FilePath ) throws -> Module {
154- if filePath. extension == " wat " , #available( macOS 11 . 0 , iOS 14 . 0 , macCatalyst 14 . 0 , tvOS 14 . 0 , visionOS 1 . 0 , watchOS 7 . 0 , * ) {
155- let fileHandle = try FileDescriptor . open ( filePath, . readOnly)
156- defer { try ? fileHandle. close ( ) }
157-
158- let size = try fileHandle. seek ( offset: 0 , from: . end)
159-
160- let wat = try String ( unsafeUninitializedCapacity: Int ( size) ) {
161- try fileHandle. read ( fromAbsoluteOffset: 0 , into: . init( $0) )
162- }
163- return try WasmKit . parseWasm ( bytes: wat2wasm ( wat) )
164- } else {
165- return try WasmKit . parseWasm ( filePath: filePath)
166- }
167- }
168-
169151 /// Derives the runtime interceptor based on the command line arguments
170152 func deriveInterceptor( ) throws -> ( interceptor: EngineInterceptor ? , finalize: ( ) -> Void ) {
171153 var interceptors : [ EngineInterceptor ] = [ ]
0 commit comments