wardite 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,198 @@
1
+ # Generated from lib/wardite/load.rb with RBS::Inline
2
+
3
+ # rbs_inline: enabled
4
+ module Wardite
5
+ class Section
6
+ attr_accessor name: String
7
+
8
+ attr_accessor code: Integer
9
+
10
+ attr_accessor size: Integer
11
+ end
12
+
13
+ class TypeSection < Section
14
+ attr_accessor defined_types: Array[Array[Symbol]]
15
+
16
+ attr_accessor defined_results: Array[Array[Symbol]]
17
+
18
+ # @rbs return: void
19
+ def initialize: () -> void
20
+ end
21
+
22
+ class FunctionSection < Section
23
+ attr_accessor func_indices: Array[Integer]
24
+
25
+ # @rbs return: void
26
+ def initialize: () -> void
27
+ end
28
+
29
+ class MemorySection < Section
30
+ attr_accessor limits: Array[[ Integer, Integer | nil ]]
31
+
32
+ # @rbs return: void
33
+ def initialize: () -> void
34
+ end
35
+
36
+ class GlobalSection < Section
37
+ class Global
38
+ attr_accessor type: Symbol
39
+
40
+ attr_accessor mutable: bool
41
+
42
+ # TODO: unused in wasm 1.0 spec?
43
+ attr_accessor shared: bool
44
+
45
+ attr_accessor value: I32 | I64 | F32 | F64
46
+
47
+ # @rbs &blk: (Global) -> void
48
+ # @rbs return: void
49
+ def initialize: () { (Global) -> void } -> void
50
+ end
51
+
52
+ attr_accessor globals: Array[Global]
53
+
54
+ # @rbs return: void
55
+ def initialize: () -> void
56
+ end
57
+
58
+ class CodeSection < Section
59
+ class CodeBody
60
+ attr_accessor locals_count: Array[Integer]
61
+
62
+ attr_accessor locals_type: Array[Symbol]
63
+
64
+ attr_accessor body: Array[Op]
65
+
66
+ # @rbs &blk: (CodeBody) -> void
67
+ # @rbs return: void
68
+ def initialize: () { (CodeBody) -> void } -> void
69
+ end
70
+
71
+ attr_accessor func_codes: Array[CodeBody]
72
+
73
+ # @rbs return: void
74
+ def initialize: () -> void
75
+ end
76
+
77
+ class DataSection < Section
78
+ class Segment
79
+ attr_accessor flags: Integer
80
+
81
+ attr_accessor offset: Integer
82
+
83
+ attr_accessor data: String
84
+
85
+ # @rbs &blk: (Segment) -> void
86
+ # @rbs return: void
87
+ def initialize: () { (Segment) -> void } -> void
88
+ end
89
+
90
+ attr_accessor segments: Array[Segment]
91
+
92
+ # @rbs return: void
93
+ def initialize: () -> void
94
+ end
95
+
96
+ class ExportSection < Section
97
+ class ExportDesc
98
+ attr_accessor name: String
99
+
100
+ attr_accessor kind: Integer
101
+
102
+ attr_accessor func_index: Integer
103
+ end
104
+
105
+ attr_accessor exports: Hash[String, ExportDesc]
106
+
107
+ def initialize: () -> void
108
+
109
+ # @rbs &blk: (ExportDesc) -> void
110
+ def add_desc: () { (ExportDesc) -> void } -> untyped
111
+ end
112
+
113
+ class ImportSection < Section
114
+ class ImportDesc
115
+ attr_accessor module_name: String
116
+
117
+ attr_accessor name: String
118
+
119
+ attr_accessor kind: Integer
120
+
121
+ attr_accessor sig_index: Integer
122
+ end
123
+
124
+ attr_accessor imports: Array[ImportDesc]
125
+
126
+ def initialize: () -> void
127
+
128
+ # @rbs &blk: (ImportDesc) -> void
129
+ def add_desc: () { (ImportDesc) -> void } -> untyped
130
+ end
131
+
132
+ module BinaryLoader
133
+ extend Wardite::Leb128Helper
134
+
135
+ extend Wardite::ValueHelper
136
+
137
+ # @rbs buf: File|StringIO
138
+ # @rbs import_object: Hash[Symbol, Hash[Symbol, Proc]]
139
+ # @rbs enable_wasi: boolish
140
+ # @rbs return: Instance
141
+ def self.load_from_buffer: (File | StringIO buf, ?import_object: Hash[Symbol, Hash[Symbol, Proc]], ?enable_wasi: boolish) -> Instance
142
+
143
+ # @rbs return: Integer
144
+ def self.preamble: () -> Integer
145
+
146
+ # @rbs return: Array[Section]
147
+ def self.sections: () -> Array[Section]
148
+
149
+ # @rbs return: TypeSection
150
+ def self.type_section: () -> TypeSection
151
+
152
+ # @rbs return: ImportSection
153
+ def self.import_section: () -> ImportSection
154
+
155
+ # @rbs return: MemorySection
156
+ def self.memory_section: () -> MemorySection
157
+
158
+ # @rbs return: GlobalSection
159
+ def self.global_section: () -> GlobalSection
160
+
161
+ # @rbs return: FunctionSection
162
+ def self.function_section: () -> FunctionSection
163
+
164
+ # @rbs return: CodeSection
165
+ def self.code_section: () -> CodeSection
166
+
167
+ # @rbs buf: StringIO
168
+ # @rbs return: Array[::Wardite::Op]
169
+ def self.code_body: (StringIO buf) -> Array[::Wardite::Op]
170
+
171
+ # @rbs return: DataSection
172
+ def self.data_section: () -> DataSection
173
+
174
+ # @rbs sbuf: StringIO
175
+ # @rbs return: String
176
+ def self.fetch_insn_while_end: (StringIO sbuf) -> String
177
+
178
+ # @rbs ops: Array[Op]
179
+ # @rbs return: Integer
180
+ def self.decode_expr: (Array[Op] ops) -> Integer
181
+
182
+ # @rbs ops: Array[Op]
183
+ # @rbs return: I32|I64|F32|F64
184
+ def self.decode_global_expr: (Array[Op] ops) -> (I32 | I64 | F32 | F64)
185
+
186
+ # @rbs return: ExportSection
187
+ def self.export_section: () -> ExportSection
188
+
189
+ # @rbs code: Integer
190
+ # @rbs return: nil
191
+ def self.unimplemented_skip_section: (Integer code) -> nil
192
+
193
+ # @rbs sbuf: StringIO
194
+ # @rbs n: Integer
195
+ # @rbs return: String
196
+ def self.assert_read: (StringIO sbuf, Integer n) -> String
197
+ end
198
+ end
@@ -7,171 +7,6 @@ module Wardite
7
7
  end
8
8
 
9
9
  module Wardite
10
- class Section
11
- attr_accessor name: String
12
-
13
- attr_accessor code: Integer
14
-
15
- attr_accessor size: Integer
16
- end
17
-
18
- class TypeSection < Section
19
- attr_accessor defined_types: Array[Array[Symbol]]
20
-
21
- attr_accessor defined_results: Array[Array[Symbol]]
22
-
23
- # @rbs return: void
24
- def initialize: () -> void
25
- end
26
-
27
- class FunctionSection < Section
28
- attr_accessor func_indices: Array[Integer]
29
-
30
- # @rbs return: void
31
- def initialize: () -> void
32
- end
33
-
34
- class MemorySection < Section
35
- attr_accessor limits: Array[[ Integer, Integer | nil ]]
36
-
37
- # @rbs return: void
38
- def initialize: () -> void
39
- end
40
-
41
- class CodeSection < Section
42
- class CodeBody
43
- attr_accessor locals_count: Array[Integer]
44
-
45
- attr_accessor locals_type: Array[Symbol]
46
-
47
- attr_accessor body: Array[Op]
48
-
49
- # @rbs &blk: (CodeBody) -> void
50
- # @rbs return: void
51
- def initialize: () { (CodeBody) -> void } -> void
52
- end
53
-
54
- attr_accessor func_codes: Array[CodeBody]
55
-
56
- # @rbs return: void
57
- def initialize: () -> void
58
- end
59
-
60
- class DataSection < Section
61
- class Segment
62
- attr_accessor flags: Integer
63
-
64
- attr_accessor offset: Integer
65
-
66
- attr_accessor data: String
67
-
68
- # @rbs &blk: (Segment) -> void
69
- # @rbs return: void
70
- def initialize: () { (Segment) -> void } -> void
71
- end
72
-
73
- attr_accessor segments: Array[Segment]
74
-
75
- # @rbs return: void
76
- def initialize: () -> void
77
- end
78
-
79
- class ExportSection < Section
80
- class ExportDesc
81
- attr_accessor name: String
82
-
83
- attr_accessor kind: Integer
84
-
85
- attr_accessor func_index: Integer
86
- end
87
-
88
- attr_accessor exports: Hash[String, ExportDesc]
89
-
90
- def initialize: () -> void
91
-
92
- # @rbs &blk: (ExportDesc) -> void
93
- def add_desc: () { (ExportDesc) -> void } -> untyped
94
- end
95
-
96
- class ImportSection < Section
97
- class ImportDesc
98
- attr_accessor module_name: String
99
-
100
- attr_accessor name: String
101
-
102
- attr_accessor kind: Integer
103
-
104
- attr_accessor sig_index: Integer
105
- end
106
-
107
- attr_accessor imports: Array[ImportDesc]
108
-
109
- def initialize: () -> void
110
-
111
- # @rbs &blk: (ImportDesc) -> void
112
- def add_desc: () { (ImportDesc) -> void } -> untyped
113
- end
114
-
115
- module BinaryLoader
116
- extend Wardite::Leb128Helper
117
-
118
- extend Wardite::ValueHelper
119
-
120
- # @rbs buf: File|StringIO
121
- # @rbs import_object: Hash[Symbol, Hash[Symbol, Proc]]
122
- # @rbs enable_wasi: boolish
123
- # @rbs return: Instance
124
- def self.load_from_buffer: (File | StringIO buf, ?import_object: Hash[Symbol, Hash[Symbol, Proc]], ?enable_wasi: boolish) -> Instance
125
-
126
- # @rbs return: Integer
127
- def self.preamble: () -> Integer
128
-
129
- # @rbs return: Array[Section]
130
- def self.sections: () -> Array[Section]
131
-
132
- # @rbs return: TypeSection
133
- def self.type_section: () -> TypeSection
134
-
135
- # @rbs return: ImportSection
136
- def self.import_section: () -> ImportSection
137
-
138
- # @rbs return: MemorySection
139
- def self.memory_section: () -> MemorySection
140
-
141
- # @rbs return: FunctionSection
142
- def self.function_section: () -> FunctionSection
143
-
144
- # @rbs return: CodeSection
145
- def self.code_section: () -> CodeSection
146
-
147
- # @rbs buf: StringIO
148
- # @rbs return: Array[::Wardite::Op]
149
- def self.code_body: (StringIO buf) -> Array[::Wardite::Op]
150
-
151
- # @rbs return: DataSection
152
- def self.data_section: () -> DataSection
153
-
154
- # @rbs sbuf: StringIO
155
- # @rbs return: String
156
- def self.fetch_insn_while_end: (StringIO sbuf) -> String
157
-
158
- # @rbs ops: Array[Op]
159
- # @rbs return: Integer
160
- def self.decode_expr: (Array[Op] ops) -> Integer
161
-
162
- # @rbs return: ExportSection
163
- def self.export_section: () -> ExportSection
164
-
165
- # @rbs code: Integer
166
- # @rbs return: nil
167
- def self.unimplemented_skip_section: (Integer code) -> nil
168
-
169
- # @rbs sbuf: StringIO
170
- # @rbs n: Integer
171
- # @rbs return: String
172
- def self.assert_read: (StringIO sbuf, Integer n) -> String
173
- end
174
-
175
10
  class Instance
176
11
  attr_accessor version: Integer
177
12
 
@@ -198,6 +33,9 @@ module Wardite
198
33
  # @rbs return: MemorySection|nil
199
34
  def memory_section: () -> (MemorySection | nil)
200
35
 
36
+ # @rbs return: GlobalSection|nil
37
+ def global_section: () -> (GlobalSection | nil)
38
+
201
39
  # @rbs return: DataSection|nil
202
40
  def data_section: () -> (DataSection | nil)
203
41
 
@@ -322,6 +160,8 @@ module Wardite
322
160
 
323
161
  attr_accessor memories: Array[Memory]
324
162
 
163
+ attr_accessor globals: Array[Global]
164
+
325
165
  # @rbs inst: Instance
326
166
  # @rbs return: void
327
167
  def initialize: (Instance inst) -> void
@@ -349,6 +189,25 @@ module Wardite
349
189
  def inspect: () -> untyped
350
190
  end
351
191
 
192
+ class Global
193
+ attr_accessor type: Symbol
194
+
195
+ attr_accessor mutable: bool
196
+
197
+ # TODO: unused in wasm 1.0 spec?
198
+ attr_accessor shared: bool
199
+
200
+ attr_accessor value: I32 | I64 | F32 | F64
201
+
202
+ # @rbs &blk: (Global) -> void
203
+ # @rbs return: void
204
+ def initialize: () { (Global) -> void } -> void
205
+
206
+ alias mutable? mutable
207
+
208
+ alias shared? shared
209
+ end
210
+
352
211
  class WasmData
353
212
  attr_accessor memory_index: Integer
354
213
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wardite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uchio Kondo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-04 00:00:00.000000000 Z
11
+ date: 2024-11-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A pure-ruby webassembly runtime
14
14
  email:
@@ -28,6 +28,7 @@ files:
28
28
  - examples/consts.wat
29
29
  - examples/fib.wat
30
30
  - examples/fib2.wat
31
+ - examples/global.wat
31
32
  - examples/helloworld.wat
32
33
  - examples/i32_const.wat
33
34
  - examples/i32_store.wat
@@ -43,6 +44,7 @@ files:
43
44
  - lib/wardite/convert.generated.rb
44
45
  - lib/wardite/instruction.rb
45
46
  - lib/wardite/leb128.rb
47
+ - lib/wardite/load.rb
46
48
  - lib/wardite/value.rb
47
49
  - lib/wardite/version.rb
48
50
  - lib/wardite/wasi.rb
@@ -59,6 +61,7 @@ files:
59
61
  - sig/generated/wardite/convert.generated.rbs
60
62
  - sig/generated/wardite/instruction.rbs
61
63
  - sig/generated/wardite/leb128.rbs
64
+ - sig/generated/wardite/load.rbs
62
65
  - sig/generated/wardite/value.rbs
63
66
  - sig/generated/wardite/version.rbs
64
67
  - sig/generated/wardite/wasi.rbs