From cccff83babdd03ed296046a5dc211a6a010ca76c Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 2 Aug 2017 11:11:54 +0000 Subject: [PATCH] * Fix compilation git-svn-id: trunk@36817 - --- utils/pas2js/pas2js.lpi | 13 +------- utils/pas2js/pas2js.pp | 69 ++++++++++++----------------------------- 2 files changed, 21 insertions(+), 61 deletions(-) diff --git a/utils/pas2js/pas2js.lpi b/utils/pas2js/pas2js.lpi index e9ba2a56ca..3b5baddf2c 100644 --- a/utils/pas2js/pas2js.lpi +++ b/utils/pas2js/pas2js.lpi @@ -1,7 +1,7 @@ - + @@ -19,9 +19,6 @@ - - - @@ -37,12 +34,10 @@ - - @@ -55,12 +50,6 @@ - - - - - - diff --git a/utils/pas2js/pas2js.pp b/utils/pas2js/pas2js.pp index fb0ecd11e4..3e15e5f30c 100644 --- a/utils/pas2js/pas2js.pp +++ b/utils/pas2js/pas2js.pp @@ -18,79 +18,50 @@ program pas2js; uses - sysutils, classes, pparser, fppas2js, pastree, jstree, jswriter; + sysutils, classes, pparser, fppas2js, pastree, jstree, jswriter, pasresolver; Type - { TContainer } - - TContainer = Class(TPasTreeContainer) - - public - function CreateElement(AClass: TPTreeElement; const AName: String; - AParent: TPasElement; AVisibility: TPasMemberVisibility; - const ASourceFilename: String; ASourceLinenumber: Integer): TPasElement; - overload; override; - function FindElement(const AName: String): TPasElement; override; - end; - { TConvertPascal } TConvertPascal = Class(TComponent) Procedure ConvertSource(ASource, ADest : String); end; -{ TContainer } - -function TContainer.CreateElement(AClass: TPTreeElement; const AName: String; - AParent: TPasElement; AVisibility: TPasMemberVisibility; - const ASourceFilename: String; ASourceLinenumber: Integer): TPasElement; -begin - Result:=AClass.Create(AName,AParent); -end; - -function TContainer.FindElement(const AName: String): TPasElement; -begin - Result:=Nil; -end; { TConvertPascal } Procedure TConvertPascal.ConvertSource(ASource, ADest: String); Var - p : TPasParser; - C : TPAsTreeContainer; + C : TPas2JSResolver; M : TPasModule; CV : TPasToJSConverter; JS : TJSElement; W : TJSWriter; begin - C:=TContainer.Create; + W:=nil; + M:=Nil; + CV:=Nil; + C:=TPas2JSResolver.Create; try - M:=ParseSource(C,ASource,'','',True); - try - CV:=TPasToJSConverter.Create; - try - JS:=CV.ConvertElement(M); - If JS=nil then - Writeln('No result'); - finally - CV.Free; - end; + M:=ParseSource(C,ASource,'','',[poUseStreams]); + CV:=TPasToJSConverter.Create; + JS:=CV.ConvertPasElement(M,C); + If JS=nil then + Writeln('No result') + else + begin W:=TJSWriter.Create(ADest); - try - W.Options:=[woUseUTF8,woCompactArrayLiterals,woCompactObjectLiterals,woCompactArguments]; - W.IndentSize:=2; - W.WriteJS(JS); - finally - W.Free; - end; - finally - M.Free; - end; + W.Options:=[woUseUTF8,woCompactArrayLiterals,woCompactObjectLiterals,woCompactArguments]; + W.IndentSize:=2; + W.WriteJS(JS); + end finally + W.Free; + CV.Free; + M.Free; C.Free; end;