diff -r 325b8e754523 -r 6fc37b5c5e98 src/HOL/MicroJava/JVM/Method.thy --- a/src/HOL/MicroJava/JVM/Method.thy Thu Nov 25 12:30:57 1999 +0100 +++ b/src/HOL/MicroJava/JVM/Method.thy Fri Nov 26 08:46:59 1999 +0100 @@ -23,9 +23,11 @@ argsoref = take (n+1) stk; oref = last argsoref; xp' = raise_xcpt (oref=Null) NullPointer; - dynT = fst(hp \\ (the_Addr oref)); - (dc,mh,mxl,c)= the (cmethd (G,dynT) (mn,ps)); - frs' = xcpt_update xp' [([],rev argsoref@replicate mxl arbitrary,dc,(mn,ps),0)] [] + dynT = fst(hp !! (the_Addr oref)); + (dc,mh,mxl,c)= the (method (G,dynT) (mn,ps)); + frs' = if xp'=None + then [([],rev argsoref@replicate mxl arbitrary,dc,(mn,ps),0)] + else [] in (xp' , frs' , drop (n+1) stk , pc+1))"