Browse Source

* Remove some useless warnings

Michaël Van Canneyt 1 year ago
parent
commit
9f72de4276
2 changed files with 17 additions and 4 deletions
  1. 14 2
      packages/webidl/src/webidltopas.pp
  2. 3 2
      packages/webidl/src/webidltowasmjob.pp

+ 14 - 2
packages/webidl/src/webidltopas.pp

@@ -650,6 +650,18 @@ procedure TBaseWebIDLToPas.EnsureUniqueNames(ML: TIDLDefinitionList);
 Var
 Var
   L: TFPObjectHashTable;
   L: TFPObjectHashTable;
 
 
+  Function CanRename(Def: TIDLDefinition) : Boolean;
+
+  var
+    isStringifier : Boolean;
+    IsIterable : Boolean;
+
+  begin
+    IsStringifier:=(Def.Name='') and (Def is TIDLAttributeDefinition) and (aoStringifier in TIDLAttributeDefinition(Def).Options);
+    isIterable:=(Def is TIDLIterableDefinition);
+    Result:=not (IsStringifier or isIterable);
+  end;
+
   Procedure CheckRename(Def: TIDLDefinition);
   Procedure CheckRename(Def: TIDLDefinition);
 
 
   var
   var
@@ -701,10 +713,10 @@ begin
   L:=TFPObjectHashTable.Create(False);
   L:=TFPObjectHashTable.Create(False);
   try
   try
     For D in ML Do
     For D in ML Do
-      if not (D is TIDLConstDefinition) then
+      if CanRename(D) and not (D is TIDLConstDefinition) then
         CheckRename(D);
         CheckRename(D);
     For D in ML Do
     For D in ML Do
-      if (D is TIDLConstDefinition) then
+      if CanRename(D) and(D is TIDLConstDefinition) then
         CheckRename(D);
         CheckRename(D);
   finally
   finally
     L.Free;
     L.Free;

+ 3 - 2
packages/webidl/src/webidltowasmjob.pp

@@ -1254,9 +1254,10 @@ var
   AttrType: TIDLDefinition;
   AttrType: TIDLDefinition;
 begin
 begin
   if aParent=nil then ;
   if aParent=nil then ;
-  if Attr.AttributeType=nil then
+  if (Attr.AttributeType=nil) then
     begin
     begin
-    writeln('Note: skipping field "'+Attr.Name+'" without type at '+GetDefPos(Attr));
+    if not (aoStringifier in Attr.Options) then
+      writeln('Note: skipping field "'+Attr.Name+'" without type at '+GetDefPos(Attr));
     exit;
     exit;
     end;
     end;
   PropName:=GetName(Attr);
   PropName:=GetName(Attr);