Browse Source

webidl: wasmjob: write implicit arrays as IJSArray

mattias 3 years ago
parent
commit
2cbbcdf096
2 changed files with 4 additions and 1 deletions
  1. 3 1
      packages/webidl/src/webidltopas.pp
  2. 1 0
      packages/webidl/src/webidltowasmjob.pp

+ 3 - 1
packages/webidl/src/webidltopas.pp

@@ -511,8 +511,8 @@ begin
     begin
     FAutoTypes.Add(TN);
     DoLog('Automatically adding %s sequence definition for %s.',[TN,GetDefPos(ST)]);
-    AddLn('%s = Array of %s;',[TN,GetTypeName(ST.ElementType)]);
     ST.Data:=CreatePasName(TN,ST,true);
+    WriteSequenceDef(ST);
     end;
 end;
 
@@ -814,6 +814,8 @@ begin
     aResolvedTypename:=GetTypeName(TIDLTypeDefDefinition(Result))
   else
     aResolvedTypename:=GetName(Result);
+  if aTypeName='sequence' then
+    aTypeName:=aResolvedTypename;
 end;
 
 function TBaseWebIDLToPas.GetSequenceTypeName(

+ 1 - 0
packages/webidl/src/webidltowasmjob.pp

@@ -448,6 +448,7 @@ begin
 
   Suff:='';
   ReturnDef:=GetResolvedType(aDef.ReturnType,ReturnTypeName,ResolvedReturnTypeName);
+  writeln('AAA1 TWebIDLToPasWasmJob.WriteFunctionDefinition ',aDef.Name,' ',ReturnTypeName,' ',ResolvedReturnTypeName,' ReturnDef=',ReturnDef.ClassName);
   InvokeName:='';
   InvokeClassName:='';
   if (foConstructor in aDef.Options) then