Преглед изворни кода

pastojs: pcu: fixed compact format

git-svn-id: trunk@39155 -
Mattias Gaertner пре 7 година
родитељ
комит
22cd5ab757
2 измењених фајлова са 11 додато и 3 уклоњено
  1. 2 0
      packages/pastojs/src/fppas2js.pp
  2. 9 3
      packages/pastojs/src/pas2jscompiler.pp

+ 2 - 0
packages/pastojs/src/fppas2js.pp

@@ -1393,6 +1393,7 @@ type
   TPasToJsConverterOptions = set of TPasToJsConverterOption;
 const
   DefaultPasToJSOptions = [coLowerCase];
+  DefaultJSWriterOptions = [woUseUTF8,woCompactArrayLiterals,woCompactObjectLiterals,woCompactArguments];
 type
 
   TPas2JSIsElementUsedEvent = function(Sender: TObject; El: TPasElement): boolean of object;
@@ -13507,6 +13508,7 @@ begin
   aWriter:=TBufferWriter.Create(1000);
   try
     aJSWriter:=TJSWriter.Create(aWriter);
+    aJSWriter.Options:=DefaultJSWriterOptions;
     aJSWriter.IndentSize:=2;
     aJSWriter.WriteJS(El);
     Result:=aWriter.AsAnsistring;

+ 9 - 3
packages/pastojs/src/pas2jscompiler.pp

@@ -1026,13 +1026,19 @@ end;
 function TPas2jsCompilerFile.OnPCUConverterIsElementUsed(Sender: TObject;
   El: TPasElement): boolean;
 begin
-  Result:=UseAnalyzer.IsUsed(El);
+  if (coKeepNotUsedPrivates in Compiler.Options) then
+    Result:=true
+  else
+    Result:=UseAnalyzer.IsUsed(El);
 end;
 
 function TPas2jsCompilerFile.OnPCUConverterIsTypeInfoUsed(Sender: TObject;
   El: TPasElement): boolean;
 begin
-  Result:=UseAnalyzer.IsTypeInfoUsed(El);
+  if (coKeepNotUsedPrivates in Compiler.Options) then
+    Result:=true
+  else
+    Result:=UseAnalyzer.IsTypeInfoUsed(El);
 end;
 
 procedure TPas2jsCompilerFile.OnScannerLog(Sender: TObject; const Msg: String);
@@ -2345,7 +2351,7 @@ begin
 
     // write JavaScript
     aJSWriter:=TJSWriter.Create(aFileWriter);
-    aJSWriter.Options:=[woUseUTF8,woCompactArrayLiterals,woCompactObjectLiterals,woCompactArguments];
+    aJSWriter.Options:=DefaultJSWriterOptions;
     aJSWriter.IndentSize:=2;
     try
       aJSWriter.WriteJS(aFile.JSModule);