mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-25 16:09:08 +02:00
webidl: wasmjob: error on passing not supported array as argument
This commit is contained in:
parent
e25594c48e
commit
d9e156e90e
@ -404,7 +404,7 @@ Var
|
||||
Data: TPasDataWasmJob;
|
||||
FN, RT, Suff, Args, ProcKind, Sig, aClassName, Code, InvokeName,
|
||||
InvokeCode, ArgName, TryCode, VarSection, FinallyCode, LocalName,
|
||||
WrapperFn: String;
|
||||
WrapperFn, ArgTypeName: String;
|
||||
Overloads: TFPObjectList;
|
||||
I: Integer;
|
||||
AddFuncBody: Boolean;
|
||||
@ -494,6 +494,15 @@ begin
|
||||
if Args<>'' then
|
||||
Args:=Args+',';
|
||||
ArgName:=GetName(ArgDef);
|
||||
if ArgDef.ArgumentType is TIDLSequenceTypeDefDefinition then
|
||||
begin
|
||||
ArgTypeName:=TIDLSequenceTypeDefDefinition(ArgDef.ArgumentType).ElementType.TypeName;
|
||||
ArgType:=FindGlobalDef(ArgTypeName);
|
||||
writeln('TWebIDLToPasWasmJob.WriteFunctionDefinition sequence of ',ArgTypeName,' Element=',ArgType<>nil);
|
||||
raise EConvertError.Create('not yet supported: passing an array of '+ArgTypeName+' as argument at '+GetDefPos(ArgDef));
|
||||
end
|
||||
else
|
||||
begin
|
||||
ArgType:=FindGlobalDef(ArgDef.ArgumentType.TypeName);
|
||||
if (ArgType is TIDLFunctionDefinition) and (foCallBack in TIDLFunctionDefinition(ArgType).Options) then
|
||||
begin
|
||||
@ -504,6 +513,7 @@ begin
|
||||
FinallyCode:=FinallyCode+' '+LocalName+'.free;'+sLineBreak;
|
||||
ArgName:=LocalName;
|
||||
end;
|
||||
end;
|
||||
Args:=Args+ArgName;
|
||||
end;
|
||||
Args:=',['+Args+']';
|
||||
|
Loading…
Reference in New Issue
Block a user