From 5c76657004e341ea6e76b6fad62daa6d4dcbccc6 Mon Sep 17 00:00:00 2001 From: mattias Date: Fri, 21 Mar 2008 21:52:52 +0000 Subject: [PATCH] codetools: h2p: writing global pascal variables git-svn-id: trunk@14609 - --- components/codetools/h2pastool.pas | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/components/codetools/h2pastool.pas b/components/codetools/h2pastool.pas index 378b8e1612..0580e72dcb 100644 --- a/components/codetools/h2pastool.pas +++ b/components/codetools/h2pastool.pas @@ -948,6 +948,7 @@ var var H2PNode: TH2PNode; UsesClause: String; + PascalCode: String; begin IndentStr:=''; @@ -977,9 +978,18 @@ begin while H2PNode<>nil do begin case H2PNode.PascalDesc of ctnVarDefinition: - begin + if H2PNode.Parent=nil then begin + // global variable SetSection(ctnVarSection); - W(H2PNode.PascalName+': '+H2PNode.PascalCode+'; cvar; public;'); + PascalCode:=H2PNode.PascalCode+';'; + if H2PNode.CName<>'' then begin + PascalCode:=PascalCode+' cvar; public'; + if H2PNode.PascalName<>H2PNode.CName then begin + PascalCode:=PascalCode+' name '''+H2PNode.CName+''''; + end; + PascalCode:=PascalCode+';'; + end; + W(H2PNode.PascalName+': '+PascalCode); end; end; H2PNode:=H2PNode.Next; @@ -992,7 +1002,6 @@ begin // write end. W('end.'); - W(''); end; function TH2PasTool.GetSimplePascalTypeOfCVar(CVarNode: TCodeTreeNode): string;