From: DeaDDooMER Date: Tue, 29 Sep 2015 18:04:20 +0000 (+0300) Subject: Fix preverification error on jvm when used procedure types X-Git-Url: http://deadsoftware.ru/gitweb?p=gpcp-linux.git;a=commitdiff_plain;h=d7ca55383f3839e1da067f81255a8de0a653b703 Fix preverification error on jvm when used procedure types --- 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);