Explorar el Código

* 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 hace 4 años
padre
commit
96f515cff8
Se han modificado 2 ficheros con 8 adiciones y 12 borrados
  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;
   TStubCreator(P).OnUnitAliasData:=CallBackData;
 end;
 end;
 
 
+Procedure AddStubCreatorExtraUnit(P : PStubCreator; AUnitName : PAnsiChar); stdcall;
+begin
+  TStubCreator(P).ExtraUnits:=AUnitName;
+end;
+
 exports
 exports
   // Stub creator
   // Stub creator
   GetStubCreator,
   GetStubCreator,
@@ -166,6 +171,7 @@ exports
   GetStubCreatorLastError,
   GetStubCreatorLastError,
   AddStubCreatorDefine,
   AddStubCreatorDefine,
   AddStubCreatorForwardClass,
   AddStubCreatorForwardClass,
+  AddStubCreatorExtraUnit,
   ExecuteStubCreator,
   ExecuteStubCreator,
   SetStubCreatorUnitAliasCallBack;
   SetStubCreatorUnitAliasCallBack;
 
 

+ 2 - 12
utils/pas2js/stubcreator.pp

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