浏览代码

[swfinterp] Implement equals opcode

Philipp Hagemeister 10 年之前
父节点
当前提交
eb5376044c
共有 2 个文件被更改,包括 15 次插入0 次删除
  1. 10 0
      test/swftests/EqualsOperator.as
  2. 5 0
      youtube_dl/swfinterp.py

+ 10 - 0
test/swftests/EqualsOperator.as

@@ -0,0 +1,10 @@
+// input: []
+// output: false
+
+package {
+public class EqualsOperator {
+    public static function main():Boolean{
+        return 1 == 2;
+    }
+}
+}

+ 5 - 0
youtube_dl/swfinterp.py

@@ -629,6 +629,11 @@ class SWFInterpreter(object):
                     value1 = stack.pop()
                     res = value1 % value2
                     stack.append(res)
+                elif opcode == 171:  # equals
+                    value2 = stack.pop()
+                    value1 = stack.pop()
+                    result = value1 == value2
+                    stack.append(result)
                 elif opcode == 175:  # greaterequals
                     value2 = stack.pop()
                     value1 = stack.pop()