Răsfoiți Sursa

* Merging revisions r46444 from trunk:
------------------------------------------------------------------------
r46444 | michael | 2020-08-15 09:31:43 +0200 (Sat, 15 Aug 2020) | 1 line

* Expose ExtraUnits, remove hardcoded DTypesUnit, patch by Henrique Werlang (bug ID 37570)
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@46625 -

michael 4 ani în urmă
părinte
comite
96f515cff8
2 a modificat fișierele cu 8 adăugiri și 12 ștergeri
  1. 6 0
      utils/pas2js/libstub.pp
  2. 2 12
      utils/pas2js/stubcreator.pp

+ 6 - 0
utils/pas2js/libstub.pp

@@ -153,6 +153,11 @@ begin
   TStubCreator(P).OnUnitAliasData:=CallBackData;
 end;
 
+Procedure AddStubCreatorExtraUnit(P : PStubCreator; AUnitName : PAnsiChar); stdcall;
+begin
+  TStubCreator(P).ExtraUnits:=AUnitName;
+end;
+
 exports
   // Stub creator
   GetStubCreator,
@@ -166,6 +171,7 @@ exports
   GetStubCreatorLastError,
   AddStubCreatorDefine,
   AddStubCreatorForwardClass,
+  AddStubCreatorExtraUnit,
   ExecuteStubCreator,
   SetStubCreatorUnitAliasCallBack;
 

+ 2 - 12
utils/pas2js/stubcreator.pp

@@ -19,9 +19,6 @@ interface
 uses
   Classes, SysUtils, strutils, inifiles, pscanner, pparser, pastree, iostream, paswrite;
 
-Const
-  DTypesUnit = 'jsdelphisystem';
-
 type
   { We have to override abstract TPasTreeContainer methods  }
 
@@ -90,6 +87,7 @@ type
     Property OnUnitAliasData : Pointer Read FOnUnitAliasData Write FOnUnitAliasData;
     Property OnWriteCallBack : TWriteCallBack Read FOnWriteCallBack Write SetWriteCallback;
     Property CallbackData : Pointer Read FCallBackData Write FCallBackData;
+    Property ExtraUnits : String Read FExtraUnits write FExtraUnits;
   Published
     Property Defines : TStrings Read FDefines Write SetDefines;
     Property ConfigFileName : String Read FConfigFile Write FConfigFile;
@@ -390,7 +388,6 @@ procedure TStubCreator.WriteModule(M: TPasModule);
 Var
   F,H : TStream;
   W : TPasWriter;
-  U : String;
 
 begin
   W:=Nil;
@@ -411,18 +408,11 @@ begin
        end;
      W:=TPasWriter.Create(F);
      W.Options:=FOptions;
-     U:=FExtraUnits;
+     W.ExtraUnits:=FExtraUnits;
 
      if Assigned(FOnUnitAlias) then
        W.OnUnitAlias:=@CheckUnitAlias;
 
-     if Pos(LowerCase(DTypesUnit),LowerCase(U)) = 0 then
-       begin
-       if (U<>'') then
-         U:=','+U;
-       U:=DTypesUnit+U;
-       end;
-     W.ExtraUnits:=U;
      if FIndentSize<>-1 then
        W.IndentSize:=FIndentSize;
      if FLineNumberWidth>0 then