2
0
Эх сурвалжийг харах

* Wasm: generator for invoke helper now handles overloaded methods in interfaces

Michaël Van Canneyt 1 жил өмнө
parent
commit
02704f85a9

+ 3 - 3
compiler/symcreat.pas

@@ -1232,7 +1232,7 @@ implementation
   function str_parse_method(str: ansistring): tprocdef; forward;
   function str_parse_method(str: ansistring): tprocdef; forward;
 
 
 
 
-  procedure implement_invoke_helper(cn : string;pd: tprocdef);
+  procedure implement_invoke_helper(cn : string;pd: tprocdef; idx : integer);
 
 
     var
     var
       sarg,str : ansistring;
       sarg,str : ansistring;
@@ -1246,7 +1246,7 @@ implementation
     begin
     begin
       str:='procedure __invoke_helper__';
       str:='procedure __invoke_helper__';
       pn:=pd.procsym.realname;
       pn:=pd.procsym.realname;
-      str:=str+cn+'__'+pn;
+      str:=str+cn+'__'+pn+'_'+tostr(idx);
       for I:=1 to length(str) do
       for I:=1 to length(str) do
         if str[i]='.' then
         if str[i]='.' then
           str[i]:='_';
           str[i]:='_';
@@ -1412,7 +1412,7 @@ implementation
                   cn:=tobjectdef(def.owner.defowner).GetTypeName
                   cn:=tobjectdef(def.owner.defowner).GetTypeName
                 else
                 else
                   internalerror(2023061107);
                   internalerror(2023061107);
-                implement_invoke_helper(cn,pd);
+                implement_invoke_helper(cn,pd,i);
               end;
               end;
           end;
           end;
         end;
         end;