Remove Def* bytecodes from hhas tests
[hiphop-php.git] / hphp / test / quick / constructor_destructor.hhas
blob52cdbb588aecbc479931ddef75f9b24503edbe3d
1 .hh_file 1;
2 # tests that constructors and destructors fail verification properly when
3 # poorly defined
5 .main {
7   Int 1
8   RetC
11 .class A {
12   .property [public] attre =
13     """N;""";
14   .method [public] <"" N  > get() {
15     CheckThis
16     BaseH
17     QueryM 0 CGet PT:"attre"
18     RetC
19   }
20   .method [public] <"" N  > set($x) {
21     CheckThis
22     CGetL $x
23     BaseH
24     SetM 0 PT:"attre"
25     PopC
26     Null
27     RetC
28   }
29   .method [public static] <"" N  > __construct($attre) {
30     CGetL $attre
31     BaseH
32     SetM 0 PT:"attre"
33     PopC
34     Null
35     RetC
36   }
39 .class B {
40   .method [public] <"" N  > __construct() isClosureBody {
41     String ""
42     BaseH
43     SetM 0 PT:"attre"
44     PopC
45     Null
46     RetC
47   }
50 .function ["__EntryPoint"("""y:0:{}""")] main() {
51   .declvars $x;
52   NewObjD "A"
53   Dup
54   NullUninit
55   NullUninit
56   String "foo"
57   FCallCtor <LockWhileUnwinding> 1 1 "" - "" ""
58   PopC
59   LockObj
60   SetL $x
61   PopC
62   CGetL $x
63   NullUninit
64   NullUninit
65   String "bar"
66   FCallObjMethodD <> 1 1 "" - "" "" NullThrows "set"
67   PopC
68   NullUninit
69   NullUninit
70   NullUninit
71   CGetL $x
72   NullUninit
73   NullUninit
74   FCallObjMethodD <> 0 1 "" - "" "" NullThrows "get"
75   FCallFuncD <> 1 1 "" - "" "var_dump"
76   PopC
77   Int 1
78   RetC