furnace-avm2 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/Gemfile.lock +6 -5
- data/Rakefile +1 -0
- data/furnace-avm2.gemspec +1 -1
- data/lib/avm2/abc/metadata/instance_info.rb +2 -0
- data/lib/avm2/abc/metadata/method_body_info.rb +4 -3
- data/lib/avm2/abc/metadata/method_info.rb +2 -1
- data/lib/avm2/abc/metadata/record_with_traits.rb +15 -0
- data/lib/avm2/abc/metadata/trait_info.rb +4 -0
- data/lib/avm2/abc/metadata/trait_method.rb +5 -3
- data/lib/avm2/abc/metadata/trait_slot.rb +6 -4
- data/lib/avm2/abc.rb +3 -0
- data/lib/avm2/transform/ast_build.rb +1 -2
- data/lib/avm2/transform/ast_normalize.rb +50 -0
- data/lib/avm2/version.rb +2 -2
- metadata +226 -533
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: .
|
3
3
|
specs:
|
4
|
-
furnace (0.0.1)
|
4
|
+
furnace-avm2 (0.0.1)
|
5
|
+
furnace
|
6
|
+
trollop
|
5
7
|
|
6
8
|
GEM
|
7
9
|
remote: http://rubygems.org/
|
8
10
|
specs:
|
11
|
+
furnace (0.0.3)
|
9
12
|
trollop (1.16.2)
|
10
13
|
|
11
14
|
PLATFORMS
|
12
|
-
java
|
13
15
|
ruby
|
14
16
|
|
15
17
|
DEPENDENCIES
|
16
|
-
furnace!
|
17
|
-
trollop
|
18
|
+
furnace-avm2!
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/furnace-avm2.gemspec
CHANGED
@@ -17,6 +17,6 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
|
-
s.add_runtime_dependency "furnace"
|
20
|
+
s.add_runtime_dependency "furnace", '>= 0.0.4'
|
21
21
|
s.add_runtime_dependency "trollop"
|
22
22
|
end
|
@@ -19,13 +19,14 @@ module AVM2::ABC
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
def
|
22
|
+
def code_to_ast
|
23
23
|
pipeline = Furnace::Transform::Pipeline.new([
|
24
24
|
AVM2::Transform::ASTBuild.new(validate: true),
|
25
|
-
|
25
|
+
AVM2::Transform::ASTNormalize.new
|
26
26
|
])
|
27
27
|
|
28
|
-
pipeline.run(code, self)
|
28
|
+
ast, = pipeline.run(code, self)
|
29
|
+
ast
|
29
30
|
end
|
30
31
|
end
|
31
32
|
end
|
@@ -25,10 +25,11 @@ module AVM2::ABC
|
|
25
25
|
nested :options, :class => OptionInfo, :if => lambda { flags & HAS_OPTIONAL != 0 }
|
26
26
|
const_array :param_names, :string, :initial_length => :param_count, :if => lambda { flags & HAS_PARAM_NAMES != 0 }
|
27
27
|
|
28
|
-
def to_astlet(name=nil)
|
28
|
+
def to_astlet(index, name=nil)
|
29
29
|
root = AST::Node.new(:method)
|
30
30
|
root.metadata = { origin: self }
|
31
31
|
|
32
|
+
root.children << index
|
32
33
|
root.children << name || self.name
|
33
34
|
|
34
35
|
if return_type
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AVM2::ABC
|
2
|
+
module RecordWithTraits
|
3
|
+
TraitInfo::XlatTable.keys.each do |trait_type|
|
4
|
+
define_method :"#{trait_type.to_s.downcase}_traits" do
|
5
|
+
traits.select { |trait| trait.kind == trait_type }
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def codes_to_ast
|
10
|
+
trees = method_traits.map do |trait|
|
11
|
+
trait.body.code_to_ast rescue nil
|
12
|
+
end.compact
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -48,6 +48,10 @@ module AVM2::ABC
|
|
48
48
|
|
49
49
|
abc_array_of :metadata, :vuint30, :plural => :metadata, :if => lambda { attributes & METADATA != 0 }
|
50
50
|
|
51
|
+
def method_missing(method, *args, &block)
|
52
|
+
data.send(method, *args, &block)
|
53
|
+
end
|
54
|
+
|
51
55
|
def to_astlet
|
52
56
|
data.to_astlet(self)
|
53
57
|
end
|
@@ -3,10 +3,12 @@ module AVM2::ABC
|
|
3
3
|
vuint30 :disp_id
|
4
4
|
root_ref :method
|
5
5
|
|
6
|
+
def body
|
7
|
+
root.method_bodies.find { |body| body.method_idx == method_idx }
|
8
|
+
end
|
9
|
+
|
6
10
|
def to_astlet(trait)
|
7
|
-
|
8
|
-
astlet.metadata[:label] = method_idx
|
9
|
-
astlet
|
11
|
+
method.to_astlet(method_idx, trait.name.to_astlet)
|
10
12
|
end
|
11
13
|
end
|
12
14
|
end
|
@@ -1,11 +1,13 @@
|
|
1
1
|
module AVM2::ABC
|
2
2
|
class TraitSlot < Record
|
3
|
-
vuint30
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
vuint30 :idx
|
4
|
+
const_ref :type, :multiname
|
5
|
+
|
6
|
+
vuint30 :value_idx
|
7
|
+
uint8 :value_kind, :if => lambda { value_idx != 0 }
|
7
8
|
|
8
9
|
def to_astlet(trait)
|
10
|
+
AST::Node.new(:slot, [ trait.name.to_astlet, type.to_astlet, idx ])
|
9
11
|
end
|
10
12
|
end
|
11
13
|
end
|
data/lib/avm2/abc.rb
CHANGED
@@ -52,6 +52,9 @@ require "avm2/abc/metadata/trait_method"
|
|
52
52
|
require "avm2/abc/metadata/trait_class"
|
53
53
|
require "avm2/abc/metadata/trait_function"
|
54
54
|
require "avm2/abc/metadata/trait_info"
|
55
|
+
|
56
|
+
require "avm2/abc/metadata/record_with_traits"
|
57
|
+
|
55
58
|
require "avm2/abc/metadata/instance_info"
|
56
59
|
require "avm2/abc/metadata/klass_info"
|
57
60
|
|
@@ -5,8 +5,7 @@ module AVM2
|
|
5
5
|
:if_le, :if_lt, :if_ne, :if_nge, :if_ngt,
|
6
6
|
:if_nle, :if_nlt, :if_strict_eq, :if_strict_ne, :if_true ]
|
7
7
|
|
8
|
-
CONST_OPERATORS = [ :
|
9
|
-
:push_short, :push_string, :push_true, :push_undefined, :push_null ]
|
8
|
+
CONST_OPERATORS = [ :integer, :double, :string, :false, :true, :nan, :undefined, :null ]
|
10
9
|
|
11
10
|
def initialize(options)
|
12
11
|
@validate = options[:validate] || false
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module AVM2
|
2
|
+
module Transform
|
3
|
+
class ASTNormalize
|
4
|
+
include AST::Visitor
|
5
|
+
|
6
|
+
def transform(ast, method)
|
7
|
+
visit ast
|
8
|
+
|
9
|
+
[ ast, method ]
|
10
|
+
end
|
11
|
+
|
12
|
+
# (pop x) -> (jump-target) x
|
13
|
+
def on_pop(node)
|
14
|
+
child = node.children.first
|
15
|
+
|
16
|
+
node.update(:expand, [
|
17
|
+
child,
|
18
|
+
AST::Node.new(:jump_target, [], node.metadata)
|
19
|
+
], nil)
|
20
|
+
end
|
21
|
+
|
22
|
+
# (call-property-void *) -> (call-property *)
|
23
|
+
def on_call_property_void(node)
|
24
|
+
node.update(:call_property)
|
25
|
+
end
|
26
|
+
|
27
|
+
# (call-super-void *) -> (call-super *)
|
28
|
+
def on_call_super_void(node)
|
29
|
+
node.update(:call_super)
|
30
|
+
end
|
31
|
+
|
32
|
+
# (if-* a b) -> (*' a b)
|
33
|
+
IF_MAPPING = {
|
34
|
+
:eq => [false, :equals],
|
35
|
+
:nge => [true, :greaterequals],
|
36
|
+
}
|
37
|
+
IF_MAPPING.each do |cond, (reverse, comp)|
|
38
|
+
define_method :"on_if_#{cond}" do |node|
|
39
|
+
node.update(comp)
|
40
|
+
node.parent.children[0] = !node.parent.children[0] if reverse
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# TEMPORARY: (jump-target) -> x
|
45
|
+
def on_jump_target(node)
|
46
|
+
node.update(:remove)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/avm2/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module AVM2
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.2"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,41 +1,40 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furnace-avm2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Peter Zotov
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: furnace
|
16
|
-
|
16
|
+
requirement: &84387770 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
17
18
|
requirements:
|
18
19
|
- - ! '>='
|
19
20
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
21
|
-
MA==
|
22
|
-
none: false
|
23
|
-
requirement: *2056
|
24
|
-
prerelease: false
|
21
|
+
version: 0.0.4
|
25
22
|
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *84387770
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: trollop
|
28
|
-
|
27
|
+
requirement: &84385470 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
MA==
|
34
|
-
none: false
|
35
|
-
requirement: *2074
|
36
|
-
prerelease: false
|
32
|
+
version: '0'
|
37
33
|
type: :runtime
|
38
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *84385470
|
36
|
+
description: furnace-avm2 allows one to load, modify and write backFlash ActionScript3
|
37
|
+
bytecode. It can also decompile it.
|
39
38
|
email:
|
40
39
|
- whitequark@whitequark.org
|
41
40
|
executables:
|
@@ -44,536 +43,230 @@ executables:
|
|
44
43
|
extensions: []
|
45
44
|
extra_rdoc_files: []
|
46
45
|
files:
|
47
|
-
-
|
48
|
-
|
49
|
-
-
|
50
|
-
|
51
|
-
-
|
52
|
-
|
53
|
-
-
|
54
|
-
|
55
|
-
-
|
56
|
-
|
57
|
-
-
|
58
|
-
|
59
|
-
-
|
60
|
-
|
61
|
-
-
|
62
|
-
|
63
|
-
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
-
|
68
|
-
|
69
|
-
-
|
70
|
-
|
71
|
-
-
|
72
|
-
|
73
|
-
-
|
74
|
-
|
75
|
-
-
|
76
|
-
|
77
|
-
-
|
78
|
-
|
79
|
-
-
|
80
|
-
|
81
|
-
-
|
82
|
-
|
83
|
-
-
|
84
|
-
|
85
|
-
-
|
86
|
-
|
87
|
-
|
88
|
-
-
|
89
|
-
|
90
|
-
|
91
|
-
-
|
92
|
-
|
93
|
-
|
94
|
-
-
|
95
|
-
|
96
|
-
-
|
97
|
-
|
98
|
-
|
99
|
-
-
|
100
|
-
|
101
|
-
|
102
|
-
-
|
103
|
-
|
104
|
-
-
|
105
|
-
|
106
|
-
-
|
107
|
-
|
108
|
-
-
|
109
|
-
|
110
|
-
-
|
111
|
-
|
112
|
-
-
|
113
|
-
|
114
|
-
-
|
115
|
-
|
116
|
-
-
|
117
|
-
|
118
|
-
-
|
119
|
-
|
120
|
-
-
|
121
|
-
|
122
|
-
-
|
123
|
-
|
124
|
-
-
|
125
|
-
|
126
|
-
-
|
127
|
-
|
128
|
-
|
129
|
-
-
|
130
|
-
|
131
|
-
|
132
|
-
-
|
133
|
-
|
134
|
-
|
135
|
-
-
|
136
|
-
|
137
|
-
|
138
|
-
-
|
139
|
-
|
140
|
-
-
|
141
|
-
|
142
|
-
-
|
143
|
-
|
144
|
-
|
145
|
-
-
|
146
|
-
|
147
|
-
|
148
|
-
-
|
149
|
-
|
150
|
-
|
151
|
-
-
|
152
|
-
|
153
|
-
|
154
|
-
-
|
155
|
-
|
156
|
-
|
157
|
-
-
|
158
|
-
|
159
|
-
|
160
|
-
-
|
161
|
-
|
162
|
-
|
163
|
-
-
|
164
|
-
|
165
|
-
|
166
|
-
-
|
167
|
-
|
168
|
-
-
|
169
|
-
|
170
|
-
|
171
|
-
-
|
172
|
-
|
173
|
-
|
174
|
-
-
|
175
|
-
|
176
|
-
-
|
177
|
-
|
178
|
-
|
179
|
-
-
|
180
|
-
|
181
|
-
-
|
182
|
-
|
183
|
-
|
184
|
-
-
|
185
|
-
|
186
|
-
|
187
|
-
-
|
188
|
-
|
189
|
-
|
190
|
-
-
|
191
|
-
|
192
|
-
-
|
193
|
-
|
194
|
-
-
|
195
|
-
|
196
|
-
-
|
197
|
-
|
198
|
-
-
|
199
|
-
|
200
|
-
-
|
201
|
-
|
202
|
-
-
|
203
|
-
|
204
|
-
-
|
205
|
-
|
206
|
-
-
|
207
|
-
|
208
|
-
-
|
209
|
-
|
210
|
-
-
|
211
|
-
|
212
|
-
|
213
|
-
-
|
214
|
-
|
215
|
-
|
216
|
-
-
|
217
|
-
|
218
|
-
|
219
|
-
-
|
220
|
-
|
221
|
-
|
222
|
-
-
|
223
|
-
|
224
|
-
|
225
|
-
-
|
226
|
-
|
227
|
-
|
228
|
-
-
|
229
|
-
|
230
|
-
|
231
|
-
-
|
232
|
-
|
233
|
-
|
234
|
-
-
|
235
|
-
|
236
|
-
|
237
|
-
-
|
238
|
-
|
239
|
-
|
240
|
-
-
|
241
|
-
|
242
|
-
|
243
|
-
-
|
244
|
-
|
245
|
-
|
246
|
-
-
|
247
|
-
|
248
|
-
|
249
|
-
- !binary |-
|
250
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvY29udHJvbF90cmFuc2Zlci9hczNfaWZ0
|
251
|
-
cnVlLnJi
|
252
|
-
- !binary |-
|
253
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvY29udHJvbF90cmFuc2Zlci9hczNfanVt
|
254
|
-
cC5yYg==
|
255
|
-
- !binary |-
|
256
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvY29udHJvbF90cmFuc2Zlci9hczNfbG9v
|
257
|
-
a3Vwc3dpdGNoLnJi
|
258
|
-
- !binary |-
|
259
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvY29udHJvbF90cmFuc2Zlcl9vcGNvZGUu
|
260
|
-
cmI=
|
261
|
-
- !binary |-
|
262
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZXhjZXB0aW9uL2FzM19uZXdjYXRjaC5y
|
263
|
-
Yg==
|
264
|
-
- !binary |-
|
265
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZXhjZXB0aW9uX29wY29kZS5yYg==
|
266
|
-
- !binary |-
|
267
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbi9hczNf
|
268
|
-
Y2FsbC5yYg==
|
269
|
-
- !binary |-
|
270
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbi9hczNf
|
271
|
-
Y2FsbHByb3BlcnR5LnJi
|
272
|
-
- !binary |-
|
273
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbi9hczNf
|
274
|
-
Y2FsbHByb3B2b2lkLnJi
|
275
|
-
- !binary |-
|
276
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbi9hczNf
|
277
|
-
Y2FsbHN1cGVyLnJi
|
278
|
-
- !binary |-
|
279
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbi9hczNf
|
280
|
-
Y2FsbHN1cGVydm9pZC5yYg==
|
281
|
-
- !binary |-
|
282
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25faW52b2NhdGlvbl9vcGNv
|
283
|
-
ZGUucmI=
|
284
|
-
- !binary |-
|
285
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25fcmV0dXJuL2FzM19yZXR1
|
286
|
-
cm52YWx1ZS5yYg==
|
287
|
-
- !binary |-
|
288
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25fcmV0dXJuL2FzM19yZXR1
|
289
|
-
cm52b2lkLnJi
|
290
|
-
- !binary |-
|
291
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZnVuY3Rpb25fcmV0dXJuX29wY29kZS5y
|
292
|
-
Yg==
|
293
|
-
- !binary |-
|
294
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfYXN0eXBlbGF0ZS5y
|
295
|
-
Yg==
|
296
|
-
- !binary |-
|
297
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfY2hlY2tmaWx0ZXIu
|
298
|
-
cmI=
|
299
|
-
- !binary |-
|
300
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZHVwLnJi
|
301
|
-
- !binary |-
|
302
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZHhuc2xhdGUucmI=
|
303
|
-
- !binary |-
|
304
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZXNjeGF0dHIucmI=
|
305
|
-
- !binary |-
|
306
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZ2V0Z2xvYmFsc2Nv
|
307
|
-
cGUucmI=
|
308
|
-
- !binary |-
|
309
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZ2V0bGV4LnJi
|
310
|
-
- !binary |-
|
311
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZ2V0c2NvcGVvYmpl
|
312
|
-
Y3QucmI=
|
313
|
-
- !binary |-
|
314
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfZ2V0c2xvdC5yYg==
|
315
|
-
- !binary |-
|
316
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfaGFzbmV4dC5yYg==
|
317
|
-
- !binary |-
|
318
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfaGFzbmV4dDIucmI=
|
319
|
-
- !binary |-
|
320
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfaW4ucmI=
|
321
|
-
- !binary |-
|
322
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfaW5zdGFuY2VvZi5y
|
323
|
-
Yg==
|
324
|
-
- !binary |-
|
325
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfaXN0eXBlbGF0ZS5y
|
326
|
-
Yg==
|
327
|
-
- !binary |-
|
328
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfa2lsbC5yYg==
|
329
|
-
- !binary |-
|
330
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfbGFiZWwucmI=
|
331
|
-
- !binary |-
|
332
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfbmV4dG5hbWUucmI=
|
333
|
-
- !binary |-
|
334
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfbmV4dHZhbHVlLnJi
|
335
|
-
- !binary |-
|
336
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfbm9wLnJi
|
337
|
-
- !binary |-
|
338
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfcG9wLnJi
|
339
|
-
- !binary |-
|
340
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfcG9wc2NvcGUucmI=
|
341
|
-
- !binary |-
|
342
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfc2V0c2xvdC5yYg==
|
343
|
-
- !binary |-
|
344
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfc3dhcC5yYg==
|
345
|
-
- !binary |-
|
346
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfdGhyb3cucmI=
|
347
|
-
- !binary |-
|
348
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvZ2VuZXJpYy9hczNfdHlwZW9mLnJi
|
349
|
-
- !binary |-
|
350
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfZ2V0bG9jYWwu
|
351
|
-
cmI=
|
352
|
-
- !binary |-
|
353
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfZ2V0bG9jYWxf
|
354
|
-
MC5yYg==
|
355
|
-
- !binary |-
|
356
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfZ2V0bG9jYWxf
|
357
|
-
MS5yYg==
|
358
|
-
- !binary |-
|
359
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfZ2V0bG9jYWxf
|
360
|
-
Mi5yYg==
|
361
|
-
- !binary |-
|
362
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfZ2V0bG9jYWxf
|
363
|
-
My5yYg==
|
364
|
-
- !binary |-
|
365
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfc2V0bG9jYWwu
|
366
|
-
cmI=
|
367
|
-
- !binary |-
|
368
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfc2V0bG9jYWxf
|
369
|
-
MC5yYg==
|
370
|
-
- !binary |-
|
371
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfc2V0bG9jYWxf
|
372
|
-
MS5yYg==
|
373
|
-
- !binary |-
|
374
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfc2V0bG9jYWxf
|
375
|
-
Mi5yYg==
|
376
|
-
- !binary |-
|
377
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZS9hczNfc2V0bG9jYWxf
|
378
|
-
My5yYg==
|
379
|
-
- !binary |-
|
380
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvbG9hZF9zdG9yZV9vcGNvZGUucmI=
|
381
|
-
- !binary |-
|
382
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
383
|
-
Y29uc3RydWN0LnJi
|
384
|
-
- !binary |-
|
385
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
386
|
-
Y29uc3RydWN0c3VwZXIucmI=
|
387
|
-
- !binary |-
|
388
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
389
|
-
bmV3YWN0aXZhdGlvbi5yYg==
|
390
|
-
- !binary |-
|
391
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
392
|
-
bmV3YXJyYXkucmI=
|
393
|
-
- !binary |-
|
394
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
395
|
-
bmV3Y2xhc3MucmI=
|
396
|
-
- !binary |-
|
397
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
398
|
-
bmV3ZnVuY3Rpb24ucmI=
|
399
|
-
- !binary |-
|
400
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbi9hczNf
|
401
|
-
bmV3b2JqZWN0LnJi
|
402
|
-
- !binary |-
|
403
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb2JqZWN0X21hbmlwdWxhdGlvbl9vcGNv
|
404
|
-
ZGUucmI=
|
405
|
-
- !binary |-
|
406
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvb3Bjb2RlLnJi
|
407
|
-
- !binary |-
|
408
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2NvbnN0cnVjdHBy
|
409
|
-
b3AucmI=
|
410
|
-
- !binary |-
|
411
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2RlbGV0ZXByb3Bl
|
412
|
-
cnR5LnJi
|
413
|
-
- !binary |-
|
414
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2ZpbmRwcm9wZXJ0
|
415
|
-
eS5yYg==
|
416
|
-
- !binary |-
|
417
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2ZpbmRwcm9wc3Ry
|
418
|
-
aWN0LnJi
|
419
|
-
- !binary |-
|
420
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2dldGRlc2NlbmRh
|
421
|
-
bnRzLnJi
|
422
|
-
- !binary |-
|
423
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2dldHByb3BlcnR5
|
424
|
-
LnJi
|
425
|
-
- !binary |-
|
426
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2dldHN1cGVyLnJi
|
427
|
-
- !binary |-
|
428
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX2luaXRwcm9wZXJ0
|
429
|
-
eS5yYg==
|
430
|
-
- !binary |-
|
431
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX3NldHByb3BlcnR5
|
432
|
-
LnJi
|
433
|
-
- !binary |-
|
434
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHkvYXMzX3NldHN1cGVyLnJi
|
435
|
-
- !binary |-
|
436
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHJvcGVydHlfb3Bjb2RlLnJi
|
437
|
-
- !binary |-
|
438
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoYnl0
|
439
|
-
ZS5yYg==
|
440
|
-
- !binary |-
|
441
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoZG91
|
442
|
-
YmxlLnJi
|
443
|
-
- !binary |-
|
444
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoZmFs
|
445
|
-
c2UucmI=
|
446
|
-
- !binary |-
|
447
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoaW50
|
448
|
-
LnJi
|
449
|
-
- !binary |-
|
450
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNobmFu
|
451
|
-
LnJi
|
452
|
-
- !binary |-
|
453
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNobnVs
|
454
|
-
bC5yYg==
|
455
|
-
- !binary |-
|
456
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoc2Nv
|
457
|
-
cGUucmI=
|
458
|
-
- !binary |-
|
459
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoc2hv
|
460
|
-
cnQucmI=
|
461
|
-
- !binary |-
|
462
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNoc3Ry
|
463
|
-
aW5nLnJi
|
464
|
-
- !binary |-
|
465
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNodHJ1
|
466
|
-
ZS5yYg==
|
467
|
-
- !binary |-
|
468
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNodW5k
|
469
|
-
ZWZpbmVkLnJi
|
470
|
-
- !binary |-
|
471
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsL2FzM19wdXNod2l0
|
472
|
-
aC5yYg==
|
473
|
-
- !binary |-
|
474
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvcHVzaF9saXRlcmFsX29wY29kZS5yYg==
|
475
|
-
- !binary |-
|
476
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19hcHBs
|
477
|
-
eXR5cGUucmI=
|
478
|
-
- !binary |-
|
479
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb2Vy
|
480
|
-
Y2UucmI=
|
481
|
-
- !binary |-
|
482
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb2Vy
|
483
|
-
Y2VfYS5yYg==
|
484
|
-
- !binary |-
|
485
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb2Vy
|
486
|
-
Y2VfYi5yYg==
|
487
|
-
- !binary |-
|
488
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb2Vy
|
489
|
-
Y2Vfcy5yYg==
|
490
|
-
- !binary |-
|
491
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb252
|
492
|
-
ZXJ0X2QucmI=
|
493
|
-
- !binary |-
|
494
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb252
|
495
|
-
ZXJ0X2kucmI=
|
496
|
-
- !binary |-
|
497
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb252
|
498
|
-
ZXJ0X28ucmI=
|
499
|
-
- !binary |-
|
500
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb252
|
501
|
-
ZXJ0X3MucmI=
|
502
|
-
- !binary |-
|
503
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uL2FzM19jb252
|
504
|
-
ZXJ0X3UucmI=
|
505
|
-
- !binary |-
|
506
|
-
bGliL2F2bTIvYWJjL29wY29kZXMvdHlwZV9jb252ZXJzaW9uX29wY29kZS5y
|
507
|
-
Yg==
|
508
|
-
- !binary |-
|
509
|
-
bGliL2F2bTIvYWJjL3ByaW1pdGl2ZXMvb3Bjb2RlX3NlcXVlbmNlLnJi
|
510
|
-
- !binary |-
|
511
|
-
bGliL2F2bTIvYWJjL3ByaW1pdGl2ZXMvcmVjb3JkLnJi
|
512
|
-
- !binary |-
|
513
|
-
bGliL2F2bTIvYmluYXJ5L2Nob2ljZV9kZWZpbml0aW9uLnJi
|
514
|
-
- !binary |-
|
515
|
-
bGliL2F2bTIvYmluYXJ5L3JlY29yZC5yYg==
|
516
|
-
- !binary |-
|
517
|
-
bGliL2F2bTIvdHJhbnNmb3JtLnJi
|
518
|
-
- !binary |-
|
519
|
-
bGliL2F2bTIvdHJhbnNmb3JtL2FzdF9idWlsZC5yYg==
|
520
|
-
- !binary |-
|
521
|
-
bGliL2F2bTIvdHJhbnNmb3JtL2FzdF9ub3JtYWxpemUucmI=
|
522
|
-
- !binary |-
|
523
|
-
bGliL2F2bTIvdmVyc2lvbi5yYg==
|
524
|
-
- !binary |-
|
525
|
-
dGVzdC9leGNlcHRpb24uYWJj
|
526
|
-
- !binary |-
|
527
|
-
dGVzdC9leGNlcHRpb24uYXM=
|
528
|
-
- !binary |-
|
529
|
-
dGVzdC9saXRlcmFsLmFiYw==
|
530
|
-
- !binary |-
|
531
|
-
dGVzdC9saXRlcmFsLmFz
|
532
|
-
- !binary |-
|
533
|
-
dGVzdC9sb2dpYy5hYmM=
|
534
|
-
- !binary |-
|
535
|
-
dGVzdC9sb2dpYy5hcw==
|
536
|
-
- !binary |-
|
537
|
-
dGVzdC9sb29wcy5hYmM=
|
538
|
-
- !binary |-
|
539
|
-
dGVzdC9sb29wcy5hcw==
|
540
|
-
- !binary |-
|
541
|
-
dGVzdC9udW1iZXIuYWJj
|
542
|
-
- !binary |-
|
543
|
-
dGVzdC9udW1iZXIuYXM=
|
544
|
-
- !binary |-
|
545
|
-
dGVzdC9zd2l0Y2guYWJj
|
546
|
-
- !binary |-
|
547
|
-
dGVzdC9zd2l0Y2guYXM=
|
548
|
-
- !binary |-
|
549
|
-
dGVzdC90ZXJuYXJ5LmFiYw==
|
550
|
-
- !binary |-
|
551
|
-
dGVzdC90ZXJuYXJ5LmFz
|
46
|
+
- .gitignore
|
47
|
+
- Gemfile
|
48
|
+
- Gemfile.lock
|
49
|
+
- Rakefile
|
50
|
+
- abcdump.abc
|
51
|
+
- bin/furnace-avm2
|
52
|
+
- bin/furnace-avm2-benchmark
|
53
|
+
- darkorbit.abc
|
54
|
+
- furnace-avm2.gemspec
|
55
|
+
- lib/avm2.rb
|
56
|
+
- lib/avm2/abc.rb
|
57
|
+
- lib/avm2/abc/metadata/const_pool_info.rb
|
58
|
+
- lib/avm2/abc/metadata/exception_info.rb
|
59
|
+
- lib/avm2/abc/metadata/file.rb
|
60
|
+
- lib/avm2/abc/metadata/instance_info.rb
|
61
|
+
- lib/avm2/abc/metadata/klass_info.rb
|
62
|
+
- lib/avm2/abc/metadata/metadata_info.rb
|
63
|
+
- lib/avm2/abc/metadata/method_body_info.rb
|
64
|
+
- lib/avm2/abc/metadata/method_info.rb
|
65
|
+
- lib/avm2/abc/metadata/multiname_info.rb
|
66
|
+
- lib/avm2/abc/metadata/multiname_kind_genericname.rb
|
67
|
+
- lib/avm2/abc/metadata/multiname_kind_multiname.rb
|
68
|
+
- lib/avm2/abc/metadata/multiname_kind_multinamel.rb
|
69
|
+
- lib/avm2/abc/metadata/multiname_kind_qname.rb
|
70
|
+
- lib/avm2/abc/metadata/multiname_kind_rtqname.rb
|
71
|
+
- lib/avm2/abc/metadata/multiname_kind_rtqnamel.rb
|
72
|
+
- lib/avm2/abc/metadata/namespace_info.rb
|
73
|
+
- lib/avm2/abc/metadata/ns_set_info.rb
|
74
|
+
- lib/avm2/abc/metadata/option_detail.rb
|
75
|
+
- lib/avm2/abc/metadata/option_info.rb
|
76
|
+
- lib/avm2/abc/metadata/record_with_traits.rb
|
77
|
+
- lib/avm2/abc/metadata/script_info.rb
|
78
|
+
- lib/avm2/abc/metadata/trait_class.rb
|
79
|
+
- lib/avm2/abc/metadata/trait_function.rb
|
80
|
+
- lib/avm2/abc/metadata/trait_info.rb
|
81
|
+
- lib/avm2/abc/metadata/trait_method.rb
|
82
|
+
- lib/avm2/abc/metadata/trait_slot.rb
|
83
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_add.rb
|
84
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_add_i.rb
|
85
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_declocal.rb
|
86
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_declocal_i.rb
|
87
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_decrement.rb
|
88
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_decrement_i.rb
|
89
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_divide.rb
|
90
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_equals.rb
|
91
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_greaterequals.rb
|
92
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_greaterthan.rb
|
93
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_inclocal.rb
|
94
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_inclocal_i.rb
|
95
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_increment.rb
|
96
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_increment_i.rb
|
97
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_lessequals.rb
|
98
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_lessthan.rb
|
99
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_modulo.rb
|
100
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_multiply.rb
|
101
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_multiply_i.rb
|
102
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_negate.rb
|
103
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_negate_i.rb
|
104
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_not.rb
|
105
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_strictequals.rb
|
106
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_subtract.rb
|
107
|
+
- lib/avm2/abc/opcodes/arithmetic/as3_subtract_i.rb
|
108
|
+
- lib/avm2/abc/opcodes/arithmetic_opcode.rb
|
109
|
+
- lib/avm2/abc/opcodes/bitwise/as3_bitand.rb
|
110
|
+
- lib/avm2/abc/opcodes/bitwise/as3_bitnot.rb
|
111
|
+
- lib/avm2/abc/opcodes/bitwise/as3_bitor.rb
|
112
|
+
- lib/avm2/abc/opcodes/bitwise/as3_bitxor.rb
|
113
|
+
- lib/avm2/abc/opcodes/bitwise/as3_lshift.rb
|
114
|
+
- lib/avm2/abc/opcodes/bitwise/as3_rshift.rb
|
115
|
+
- lib/avm2/abc/opcodes/bitwise/as3_urshift.rb
|
116
|
+
- lib/avm2/abc/opcodes/bitwise_opcode.rb
|
117
|
+
- lib/avm2/abc/opcodes/contextual_opcode.rb
|
118
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifeq.rb
|
119
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_iffalse.rb
|
120
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifge.rb
|
121
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifgt.rb
|
122
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifle.rb
|
123
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_iflt.rb
|
124
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifne.rb
|
125
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifnge.rb
|
126
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifngt.rb
|
127
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifnle.rb
|
128
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifnlt.rb
|
129
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifstricteq.rb
|
130
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_ifstrictne.rb
|
131
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_iftrue.rb
|
132
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_jump.rb
|
133
|
+
- lib/avm2/abc/opcodes/control_transfer/as3_lookupswitch.rb
|
134
|
+
- lib/avm2/abc/opcodes/control_transfer_opcode.rb
|
135
|
+
- lib/avm2/abc/opcodes/exception/as3_newcatch.rb
|
136
|
+
- lib/avm2/abc/opcodes/exception_opcode.rb
|
137
|
+
- lib/avm2/abc/opcodes/function_invocation/as3_call.rb
|
138
|
+
- lib/avm2/abc/opcodes/function_invocation/as3_callproperty.rb
|
139
|
+
- lib/avm2/abc/opcodes/function_invocation/as3_callpropvoid.rb
|
140
|
+
- lib/avm2/abc/opcodes/function_invocation/as3_callsuper.rb
|
141
|
+
- lib/avm2/abc/opcodes/function_invocation/as3_callsupervoid.rb
|
142
|
+
- lib/avm2/abc/opcodes/function_invocation_opcode.rb
|
143
|
+
- lib/avm2/abc/opcodes/function_return/as3_returnvalue.rb
|
144
|
+
- lib/avm2/abc/opcodes/function_return/as3_returnvoid.rb
|
145
|
+
- lib/avm2/abc/opcodes/function_return_opcode.rb
|
146
|
+
- lib/avm2/abc/opcodes/generic/as3_astypelate.rb
|
147
|
+
- lib/avm2/abc/opcodes/generic/as3_checkfilter.rb
|
148
|
+
- lib/avm2/abc/opcodes/generic/as3_dup.rb
|
149
|
+
- lib/avm2/abc/opcodes/generic/as3_dxnslate.rb
|
150
|
+
- lib/avm2/abc/opcodes/generic/as3_escxattr.rb
|
151
|
+
- lib/avm2/abc/opcodes/generic/as3_getglobalscope.rb
|
152
|
+
- lib/avm2/abc/opcodes/generic/as3_getlex.rb
|
153
|
+
- lib/avm2/abc/opcodes/generic/as3_getscopeobject.rb
|
154
|
+
- lib/avm2/abc/opcodes/generic/as3_getslot.rb
|
155
|
+
- lib/avm2/abc/opcodes/generic/as3_hasnext.rb
|
156
|
+
- lib/avm2/abc/opcodes/generic/as3_hasnext2.rb
|
157
|
+
- lib/avm2/abc/opcodes/generic/as3_in.rb
|
158
|
+
- lib/avm2/abc/opcodes/generic/as3_instanceof.rb
|
159
|
+
- lib/avm2/abc/opcodes/generic/as3_istypelate.rb
|
160
|
+
- lib/avm2/abc/opcodes/generic/as3_kill.rb
|
161
|
+
- lib/avm2/abc/opcodes/generic/as3_label.rb
|
162
|
+
- lib/avm2/abc/opcodes/generic/as3_nextname.rb
|
163
|
+
- lib/avm2/abc/opcodes/generic/as3_nextvalue.rb
|
164
|
+
- lib/avm2/abc/opcodes/generic/as3_nop.rb
|
165
|
+
- lib/avm2/abc/opcodes/generic/as3_pop.rb
|
166
|
+
- lib/avm2/abc/opcodes/generic/as3_popscope.rb
|
167
|
+
- lib/avm2/abc/opcodes/generic/as3_setslot.rb
|
168
|
+
- lib/avm2/abc/opcodes/generic/as3_swap.rb
|
169
|
+
- lib/avm2/abc/opcodes/generic/as3_throw.rb
|
170
|
+
- lib/avm2/abc/opcodes/generic/as3_typeof.rb
|
171
|
+
- lib/avm2/abc/opcodes/load_store/as3_getlocal.rb
|
172
|
+
- lib/avm2/abc/opcodes/load_store/as3_getlocal_0.rb
|
173
|
+
- lib/avm2/abc/opcodes/load_store/as3_getlocal_1.rb
|
174
|
+
- lib/avm2/abc/opcodes/load_store/as3_getlocal_2.rb
|
175
|
+
- lib/avm2/abc/opcodes/load_store/as3_getlocal_3.rb
|
176
|
+
- lib/avm2/abc/opcodes/load_store/as3_setlocal.rb
|
177
|
+
- lib/avm2/abc/opcodes/load_store/as3_setlocal_0.rb
|
178
|
+
- lib/avm2/abc/opcodes/load_store/as3_setlocal_1.rb
|
179
|
+
- lib/avm2/abc/opcodes/load_store/as3_setlocal_2.rb
|
180
|
+
- lib/avm2/abc/opcodes/load_store/as3_setlocal_3.rb
|
181
|
+
- lib/avm2/abc/opcodes/load_store_opcode.rb
|
182
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_construct.rb
|
183
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_constructsuper.rb
|
184
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_newactivation.rb
|
185
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_newarray.rb
|
186
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_newclass.rb
|
187
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_newfunction.rb
|
188
|
+
- lib/avm2/abc/opcodes/object_manipulation/as3_newobject.rb
|
189
|
+
- lib/avm2/abc/opcodes/object_manipulation_opcode.rb
|
190
|
+
- lib/avm2/abc/opcodes/opcode.rb
|
191
|
+
- lib/avm2/abc/opcodes/property/as3_constructprop.rb
|
192
|
+
- lib/avm2/abc/opcodes/property/as3_deleteproperty.rb
|
193
|
+
- lib/avm2/abc/opcodes/property/as3_findproperty.rb
|
194
|
+
- lib/avm2/abc/opcodes/property/as3_findpropstrict.rb
|
195
|
+
- lib/avm2/abc/opcodes/property/as3_getdescendants.rb
|
196
|
+
- lib/avm2/abc/opcodes/property/as3_getproperty.rb
|
197
|
+
- lib/avm2/abc/opcodes/property/as3_getsuper.rb
|
198
|
+
- lib/avm2/abc/opcodes/property/as3_initproperty.rb
|
199
|
+
- lib/avm2/abc/opcodes/property/as3_setproperty.rb
|
200
|
+
- lib/avm2/abc/opcodes/property/as3_setsuper.rb
|
201
|
+
- lib/avm2/abc/opcodes/property_opcode.rb
|
202
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushbyte.rb
|
203
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushdouble.rb
|
204
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushfalse.rb
|
205
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushint.rb
|
206
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushnan.rb
|
207
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushnull.rb
|
208
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushscope.rb
|
209
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushshort.rb
|
210
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushstring.rb
|
211
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushtrue.rb
|
212
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushundefined.rb
|
213
|
+
- lib/avm2/abc/opcodes/push_literal/as3_pushwith.rb
|
214
|
+
- lib/avm2/abc/opcodes/push_literal_opcode.rb
|
215
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_applytype.rb
|
216
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_coerce.rb
|
217
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_coerce_a.rb
|
218
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_coerce_b.rb
|
219
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_coerce_s.rb
|
220
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_convert_d.rb
|
221
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_convert_i.rb
|
222
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_convert_o.rb
|
223
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_convert_s.rb
|
224
|
+
- lib/avm2/abc/opcodes/type_conversion/as3_convert_u.rb
|
225
|
+
- lib/avm2/abc/opcodes/type_conversion_opcode.rb
|
226
|
+
- lib/avm2/abc/primitives/opcode_sequence.rb
|
227
|
+
- lib/avm2/abc/primitives/record.rb
|
228
|
+
- lib/avm2/binary/choice_definition.rb
|
229
|
+
- lib/avm2/binary/record.rb
|
230
|
+
- lib/avm2/transform.rb
|
231
|
+
- lib/avm2/transform/ast_build.rb
|
232
|
+
- lib/avm2/transform/ast_normalize.rb
|
233
|
+
- lib/avm2/version.rb
|
234
|
+
- test/exception.abc
|
235
|
+
- test/exception.as
|
236
|
+
- test/literal.abc
|
237
|
+
- test/literal.as
|
238
|
+
- test/logic.abc
|
239
|
+
- test/logic.as
|
240
|
+
- test/loops.abc
|
241
|
+
- test/loops.as
|
242
|
+
- test/number.abc
|
243
|
+
- test/number.as
|
244
|
+
- test/switch.abc
|
245
|
+
- test/switch.as
|
246
|
+
- test/ternary.abc
|
247
|
+
- test/ternary.as
|
552
248
|
homepage: http://github.com/whitequark/furnace-avm2
|
553
249
|
licenses: []
|
554
|
-
post_install_message:
|
250
|
+
post_install_message:
|
555
251
|
rdoc_options: []
|
556
252
|
require_paths:
|
557
253
|
- lib
|
558
254
|
required_ruby_version: !ruby/object:Gem::Requirement
|
255
|
+
none: false
|
559
256
|
requirements:
|
560
257
|
- - ! '>='
|
561
258
|
- !ruby/object:Gem::Version
|
562
|
-
version:
|
563
|
-
MA==
|
564
|
-
none: false
|
259
|
+
version: '0'
|
565
260
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
261
|
+
none: false
|
566
262
|
requirements:
|
567
263
|
- - ! '>='
|
568
264
|
- !ruby/object:Gem::Version
|
569
|
-
version:
|
570
|
-
MA==
|
571
|
-
none: false
|
265
|
+
version: '0'
|
572
266
|
requirements: []
|
573
|
-
rubyforge_project:
|
574
|
-
rubygems_version: 1.8.
|
575
|
-
signing_key:
|
267
|
+
rubyforge_project:
|
268
|
+
rubygems_version: 1.8.10
|
269
|
+
signing_key:
|
576
270
|
specification_version: 3
|
577
271
|
summary: AVM2 analysis framework based on Furnace
|
578
272
|
test_files: []
|
579
|
-
...
|