Bladeren bron

fcl-js: write ?: with empty B and C

git-svn-id: trunk@37986 -
Mattias Gaertner 7 jaren geleden
bovenliggende
commit
096c386aac
1 gewijzigde bestanden met toevoegingen van 14 en 4 verwijderingen
  1. 14 4
      packages/fcl-js/src/jswriter.pp

+ 14 - 4
packages/fcl-js/src/jswriter.pp

@@ -1028,14 +1028,24 @@ end;
 
 procedure TJSWriter.WriteConditionalExpression(El: TJSConditionalExpression);
 
+var
+  NeedBrackets: Boolean;
 begin
-  write('(');
+  NeedBrackets:=true;
+  if NeedBrackets then
+    begin
+    write('(');
+    FSkipRoundBrackets:=true;
+    end;
   WriteJS(El.A);
   write(' ? ');
-  WriteJS(El.B);
+  if El.B<>nil then
+    WriteJS(El.B);
   write(' : ');
-  WriteJS(El.C);
-  write(')');
+  if El.C<>nil then
+    WriteJS(El.C);
+  if NeedBrackets then
+    write(')');
 end;
 
 procedure TJSWriter.WriteAssignStatement(El: TJSAssignStatement);