summaryrefslogtreecommitdiff
path: root/test/typed-function-references.wast.from-wast
blob: 794f3acec271c5a33eb28b1355847361cbbdfc55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
(module
 (type $none_=>_none (func))
 (type $i32_=>_i32 (func (param i32) (result i32)))
 (type $none_=>_eqref (func (result eqref)))
 (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32)))
 (type $none_=>_i32 (func (result i32)))
 (type $none_=>_anyref (func (result anyref)))
 (type $none_=>_anyref_f32_anyref_f32 (func (result anyref f32 anyref f32)))
 (type $ref_null[i32_->_i32]_=>_i32 (func (param (ref null $i32_=>_i32)) (result i32)))
 (type $none_=>_i32_ref_null[_->_anyref_f32_anyref_f32]_f64 (func (result i32 (ref null $none_=>_anyref_f32_anyref_f32) f64)))
 (type $none_=>_ref_null[i32_i32_i32_i32_i32_->_] (func (result (ref null $i32_i32_i32_i32_i32_=>_none))))
 (type $f64_=>_ref_null[_->_eqref] (func (param f64) (result (ref null $none_=>_eqref))))
 (type $none_=>_ref_null[_->_ref_null[i32_i32_i32_i32_i32_->_]] (func (result (ref null $none_=>_ref_null[i32_i32_i32_i32_i32_->_]))))
 (func $call-ref
  (call_ref
   (ref.func $call-ref)
  )
 )
 (func $return-call-ref
  (return_call_ref
   (ref.func $call-ref)
  )
 )
 (func $call-ref-more (param $0 i32) (result i32)
  (call_ref
   (i32.const 42)
   (ref.func $call-ref-more)
  )
 )
 (func $call_from-param (param $f (ref null $i32_=>_i32)) (result i32)
  (call_ref
   (i32.const 42)
   (local.get $f)
  )
 )
 (func $call_from-param-null (param $f (ref null $i32_=>_i32)) (result i32)
  (call_ref
   (i32.const 42)
   (local.get $f)
  )
 )
 (func $call_from-local-null (result i32)
  (local $f (ref null $i32_=>_i32))
  (local.set $f
   (ref.func $call-ref-more)
  )
  (call_ref
   (i32.const 42)
   (local.get $f)
  )
 )
 (func $ref-in-sig (param $0 f64) (result (ref null (func (result eqref))))
  (ref.null (func (result eqref)))
 )
 (func $type-only-in-tuple-local
  (local $x (i32 (ref null (func (result anyref))) f64))
  (nop)
 )
 (func $type-only-in-tuple-block
  (drop
   (block $block (result i32 (ref null (func (result anyref f32 anyref f32))) f64)
    (unreachable)
   )
  )
 )
 (func $nested-type-only-there (result (ref null (func (result (ref null (func (param i32 i32 i32 i32 i32)))))))
  (unreachable)
 )
)