From d7ca55383f3839e1da067f81255a8de0a653b703 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Tue, 29 Sep 2015 21:04:20 +0300 Subject: [PATCH] Fix preverification error on jvm when used procedure types --- gpcp/JavaMaker.cp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gpcp/JavaMaker.cp b/gpcp/JavaMaker.cp index 23abf98..0a9d699 100644 --- a/gpcp/JavaMaker.cp +++ b/gpcp/JavaMaker.cp @@ -385,6 +385,7 @@ MODULE JavaMaker; VAR pType : Ty.Procedure; (* The procedure type that is being emitted *) proxy : Ty.Record; (* The record that stands for the proc-type *) invoke : Id.MthId; (* The abstract invoke method for this *) + junk : INTEGER; BEGIN pType := this.prcT; proxy := pType.hostClass; @@ -396,6 +397,11 @@ MODULE JavaMaker; out.RecMakeInit(proxy, NIL); out.CallSuperCtor(proxy, NIL); out.VoidTail(); + + out.CopyProcHead(proxy); + junk := out.newLocal(); + junk := out.newLocal(); + out.VoidTail(); (* Emit the abstract Invoke method *) invoke := Ju.getProcVarInvoke(pType); -- 2.29.2