src/HOL/Bali/Example.thy
changeset 32960 69916a850301
parent 32456 341c83339aeb
child 33965 f57c11db4ad4
equal deleted inserted replaced
32959:23a8c5ac35f8 32960:69916a850301
   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>"