@@ -227,6 +227,10 @@ public enum Instruction: Equatable {
227227 case `tableGrow`( table: UInt32 )
228228 case `tableSize`( table: UInt32 )
229229 case `callRef`( functionIndex: UInt32 )
230+ case `returnCallRef`( functionIndex: UInt32 )
231+ case `asNonNull`
232+ case `brOnNull`( functionIndex: UInt32 )
233+ case `brOnNonNull`( functionIndex: UInt32 )
230234}
231235
232236/// A visitor that visits all instructions by a single visit method.
@@ -289,6 +293,10 @@ extension AnyInstructionVisitor {
289293 public mutating func visitTableGrow( table: UInt32 ) throws { return try self . visit ( . tableGrow( table: table) ) }
290294 public mutating func visitTableSize( table: UInt32 ) throws { return try self . visit ( . tableSize( table: table) ) }
291295 public mutating func visitCallRef( functionIndex: UInt32 ) throws { return try self . visit ( . callRef( functionIndex: functionIndex) ) }
296+ public mutating func visitReturnCallRef( functionIndex: UInt32 ) throws { return try self . visit ( . returnCallRef( functionIndex: functionIndex) ) }
297+ public mutating func visitAsNonNull( ) throws { return try self . visit ( . asNonNull) }
298+ public mutating func visitBrOnNull( functionIndex: UInt32 ) throws { return try self . visit ( . brOnNull( functionIndex: functionIndex) ) }
299+ public mutating func visitBrOnNonNull( functionIndex: UInt32 ) throws { return try self . visit ( . brOnNonNull( functionIndex: functionIndex) ) }
292300}
293301
294302/// A visitor for WebAssembly instructions.
@@ -402,6 +410,14 @@ public protocol InstructionVisitor {
402410 mutating func visitTableSize( table: UInt32 ) throws
403411 /// Visiting `call_ref` instruction.
404412 mutating func visitCallRef( functionIndex: UInt32 ) throws
413+ /// Visiting `return_call_ref` instruction.
414+ mutating func visitReturnCallRef( functionIndex: UInt32 ) throws
415+ /// Visiting `as_non_null` instruction.
416+ mutating func visitAsNonNull( ) throws
417+ /// Visiting `br_on_null` instruction.
418+ mutating func visitBrOnNull( functionIndex: UInt32 ) throws
419+ /// Visiting `br_on_non_null` instruction.
420+ mutating func visitBrOnNonNull( functionIndex: UInt32 ) throws
405421}
406422
407423extension InstructionVisitor {
@@ -461,6 +477,10 @@ extension InstructionVisitor {
461477 case let . tableGrow( table) : return try visitTableGrow ( table: table)
462478 case let . tableSize( table) : return try visitTableSize ( table: table)
463479 case let . callRef( functionIndex) : return try visitCallRef ( functionIndex: functionIndex)
480+ case let . returnCallRef( functionIndex) : return try visitReturnCallRef ( functionIndex: functionIndex)
481+ case . asNonNull: return try visitAsNonNull ( )
482+ case let . brOnNull( functionIndex) : return try visitBrOnNull ( functionIndex: functionIndex)
483+ case let . brOnNonNull( functionIndex) : return try visitBrOnNonNull ( functionIndex: functionIndex)
464484 }
465485 }
466486}
@@ -520,5 +540,9 @@ extension InstructionVisitor {
520540 public mutating func visitTableGrow( table: UInt32 ) throws { }
521541 public mutating func visitTableSize( table: UInt32 ) throws { }
522542 public mutating func visitCallRef( functionIndex: UInt32 ) throws { }
543+ public mutating func visitReturnCallRef( functionIndex: UInt32 ) throws { }
544+ public mutating func visitAsNonNull( ) throws { }
545+ public mutating func visitBrOnNull( functionIndex: UInt32 ) throws { }
546+ public mutating func visitBrOnNonNull( functionIndex: UInt32 ) throws { }
523547}
524548
0 commit comments