From 6007752ff3bc2b59bf0292448345880ab91828ea Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 27 Jul 2022 08:20:39 +0200 Subject: [PATCH] webidl: property get array --- packages/webidl/src/webidltowasmjob.pp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/webidl/src/webidltowasmjob.pp b/packages/webidl/src/webidltowasmjob.pp index 7db9ae83b8..50afda24de 100644 --- a/packages/webidl/src/webidltowasmjob.pp +++ b/packages/webidl/src/webidltowasmjob.pp @@ -724,7 +724,11 @@ begin Call:=FuncName+'(aMethod)('+Params+')'; case ResolvedReturnTypeName of - '': GetFunc:='Result:=H.AllocUndefined('+Call+');'; + '': + begin + Code:=Code+' '+Call+';'+sLineBreak; + GetFunc:='Result:=H.AllocUndefined;'; + end; 'Boolean': GetFunc:='Result:=H.AllocBool('+Call+');'; 'ShortInt', 'Byte', @@ -801,9 +805,14 @@ begin 'UnicodeString': ReadFuncName:='ReadJSPropertyUnicodeString'; 'TJOB_JSValue': ReadFuncName:='ReadJSPropertyValue'; else - ObjClassName:=GetName(AttrType); - if ObjClassName='' then - ObjClassName:=IntfToPasClassName(AttrTypeName); + if AttrType is TIDLSequenceTypeDefDefinition then + ObjClassName:=ClassPrefix+'Array'+ClassSuffix + else + begin + ObjClassName:=GetName(AttrType); + if ObjClassName='' then + ObjClassName:=IntfToPasClassName(AttrTypeName); + end; Call:='ReadJSPropertyObject('''+Attr.Name+''','+ObjClassName+') as '+AttrTypeName; end;