|
@@ -223,7 +223,6 @@ type
|
|
end;
|
|
end;
|
|
|
|
|
|
type
|
|
type
|
|
-
|
|
|
|
TJOB_JSValueKind = (
|
|
TJOB_JSValueKind = (
|
|
jjvkUndefined,
|
|
jjvkUndefined,
|
|
jjvkBoolean,
|
|
jjvkBoolean,
|
|
@@ -389,6 +388,8 @@ var
|
|
FuncName, TypeName, aClassName, Code, ReadFuncName: String;
|
|
FuncName, TypeName, aClassName, Code, ReadFuncName: String;
|
|
begin
|
|
begin
|
|
Result:=true;
|
|
Result:=true;
|
|
|
|
+ if Attr.AttributeType=nil then
|
|
|
|
+ exit;
|
|
FuncName:=GetterPrefix+GetName(Attr);
|
|
FuncName:=GetterPrefix+GetName(Attr);
|
|
TypeName:=GetTypeName(Attr.AttributeType);
|
|
TypeName:=GetTypeName(Attr.AttributeType);
|
|
AddLn('Function '+FuncName+': '+TypeName+';');
|
|
AddLn('Function '+FuncName+': '+TypeName+';');
|
|
@@ -408,7 +409,7 @@ begin
|
|
'Single',
|
|
'Single',
|
|
'Double': ReadFuncName:='ReadJSPropertyDouble';
|
|
'Double': ReadFuncName:='ReadJSPropertyDouble';
|
|
'UnicodeString': ReadFuncName:='ReadJSPropertyUnicodeString';
|
|
'UnicodeString': ReadFuncName:='ReadJSPropertyUnicodeString';
|
|
- //'JSValue':
|
|
|
|
|
|
+ 'TJOB_JSValue': ReadFuncName:='ReadJSPropertyValue';
|
|
else
|
|
else
|
|
raise EConvertError.Create('not yet implemented: Getter '+Typename);
|
|
raise EConvertError.Create('not yet implemented: Getter '+Typename);
|
|
end;
|
|
end;
|
|
@@ -428,6 +429,8 @@ var
|
|
begin
|
|
begin
|
|
if aoReadOnly in Attr.Options then
|
|
if aoReadOnly in Attr.Options then
|
|
exit(false);
|
|
exit(false);
|
|
|
|
+ if Attr.AttributeType=nil then
|
|
|
|
+ exit;
|
|
|
|
|
|
Result:=true;
|
|
Result:=true;
|
|
FuncName:=SetterPrefix+GetName(Attr);
|
|
FuncName:=SetterPrefix+GetName(Attr);
|
|
@@ -449,7 +452,7 @@ begin
|
|
'Single',
|
|
'Single',
|
|
'Double': WriteFuncName:='WriteJSPropertyDouble';
|
|
'Double': WriteFuncName:='WriteJSPropertyDouble';
|
|
'UnicodeString': WriteFuncName:='WriteJSPropertyUnicodeString';
|
|
'UnicodeString': WriteFuncName:='WriteJSPropertyUnicodeString';
|
|
- //'JSValue':
|
|
|
|
|
|
+ 'TJOB_JSValue': WriteFuncName:='WriteJSPropertyValue';
|
|
else
|
|
else
|
|
raise EConvertError.Create('not yet implemented: Setter '+Typename);
|
|
raise EConvertError.Create('not yet implemented: Setter '+Typename);
|
|
end;
|
|
end;
|
|
@@ -467,6 +470,11 @@ function TWebIDLToPasWasmJob.WriteProperty(Attr: TIDLAttributeDefinition
|
|
var
|
|
var
|
|
PropName, TypeName, Code: String;
|
|
PropName, TypeName, Code: String;
|
|
begin
|
|
begin
|
|
|
|
+ if Attr.AttributeType=nil then
|
|
|
|
+ begin
|
|
|
|
+ AddLn('skipping field without type: "'+Attr.Name+'"');
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
PropName:=GetName(Attr);
|
|
PropName:=GetName(Attr);
|
|
TypeName:=GetTypeName(Attr.AttributeType);
|
|
TypeName:=GetTypeName(Attr.AttributeType);
|
|
Code:='Property '+PropName+': '+TypeName+' read '+GetterPrefix+PropName;
|
|
Code:='Property '+PropName+': '+TypeName+' read '+GetterPrefix+PropName;
|