168 |
168 |
169 constdefs |
169 constdefs |
170 Ext_foo :: mdecl |
170 Ext_foo :: mdecl |
171 "Ext_foo \<equiv> (foo_sig, |
171 "Ext_foo \<equiv> (foo_sig, |
172 \<lparr>access=Public,static=False,pars=[z],resT=Class Ext, |
172 \<lparr>access=Public,static=False,pars=[z],resT=Class Ext, |
173 mbody=\<lparr>lcls=[] |
173 mbody=\<lparr>lcls=[] |
174 ,stmt=Expr({Ext,Ext,False}Cast (Class Ext) (!!z)..vee := |
174 ,stmt=Expr({Ext,Ext,False}Cast (Class Ext) (!!z)..vee := |
175 Lit (Intg 1)) ;; |
175 Lit (Intg 1)) ;; |
176 Return (Lit Null)\<rparr> |
176 Return (Lit Null)\<rparr> |
177 \<rparr>)" |
177 \<rparr>)" |
178 |
178 |
179 constdefs |
179 constdefs |
180 |
180 |
181 arr_viewed_from :: "qtname \<Rightarrow> qtname \<Rightarrow> var" |
181 arr_viewed_from :: "qtname \<Rightarrow> qtname \<Rightarrow> var" |
182 "arr_viewed_from accC C \<equiv> {accC,Base,True}StatRef (ClassT C)..arr" |
182 "arr_viewed_from accC C \<equiv> {accC,Base,True}StatRef (ClassT C)..arr" |
183 |
183 |
184 BaseCl :: "class" |
184 BaseCl :: "class" |
185 "BaseCl \<equiv> \<lparr>access=Public, |
185 "BaseCl \<equiv> \<lparr>access=Public, |
186 cfields=[(arr, \<lparr>access=Public,static=True ,type=PrimT Boolean.[]\<rparr>), |
186 cfields=[(arr, \<lparr>access=Public,static=True ,type=PrimT Boolean.[]\<rparr>), |
187 (vee, \<lparr>access=Public,static=False,type=Iface HasFoo \<rparr>)], |
187 (vee, \<lparr>access=Public,static=False,type=Iface HasFoo \<rparr>)], |
188 methods=[Base_foo], |
188 methods=[Base_foo], |
189 init=Expr(arr_viewed_from Base Base |
189 init=Expr(arr_viewed_from Base Base |
190 :=New (PrimT Boolean)[Lit (Intg 2)]), |
190 :=New (PrimT Boolean)[Lit (Intg 2)]), |
191 super=Object, |
191 super=Object, |
192 superIfs=[HasFoo]\<rparr>" |
192 superIfs=[HasFoo]\<rparr>" |