mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-30 07:01:53 +01:00
lazutils: replaced TPASObjectWriter with TCompWriterPas
git-svn-id: trunk@56208 -
This commit is contained in:
parent
f7c4861200
commit
acd77c3bb0
@ -754,6 +754,8 @@ type
|
|||||||
const ClassContext, AncestorClassContext: TFindContext;
|
const ClassContext, AncestorClassContext: TFindContext;
|
||||||
{%H-}LFMNode: TLFMTreeNode;
|
{%H-}LFMNode: TLFMTreeNode;
|
||||||
const IdentName: string; var IsDefined: boolean);
|
const IdentName: string; var IsDefined: boolean);
|
||||||
|
function UpdateComponentInit(Code: TCodeBuffer; const aClassName,
|
||||||
|
AccessClass, StartSignature, EndSignature, InitSrc: string): boolean;
|
||||||
|
|
||||||
// register proc
|
// register proc
|
||||||
function HasInterfaceRegisterProc(Code: TCodeBuffer;
|
function HasInterfaceRegisterProc(Code: TCodeBuffer;
|
||||||
@ -5383,6 +5385,23 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCodeToolManager.UpdateComponentInit(Code: TCodeBuffer;
|
||||||
|
const aClassName, AccessClass, StartSignature, EndSignature, InitSrc: string
|
||||||
|
): boolean;
|
||||||
|
begin
|
||||||
|
Result:=false;
|
||||||
|
{$IFDEF CTDEBUG}
|
||||||
|
DebugLn(['TCodeToolManager.UpdateComponentInit A ',Code.Filename,' Class="'+aClassName+'" AccessClass="'+AccessClass+'" StartSignature="'+StartSignature+'" EndSignature="'+EndSignature+'" InitSrc={'+InitSrc+'}']);
|
||||||
|
{$ENDIF}
|
||||||
|
if not InitCurCodeTool(Code) then exit;
|
||||||
|
try
|
||||||
|
Result:=FCurCodeTool.UpdateComponentInit(aClassName,AccessClass,
|
||||||
|
StartSignature,EndSignature,InitSrc,SourceChangeCache);
|
||||||
|
except
|
||||||
|
on e: Exception do Result:=HandleException(e);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCodeToolManager.FindCreateFormStatement(Code: TCodeBuffer;
|
function TCodeToolManager.FindCreateFormStatement(Code: TCodeBuffer;
|
||||||
StartPos: integer;
|
StartPos: integer;
|
||||||
const AClassName, AVarName: string;
|
const AClassName, AVarName: string;
|
||||||
|
|||||||
@ -124,6 +124,10 @@ type
|
|||||||
const WithExpr: string; // if empty: collect Candidates
|
const WithExpr: string; // if empty: collect Candidates
|
||||||
Candidates: TStrings; SourceChangeCache: TSourceChangeCache): boolean;
|
Candidates: TStrings; SourceChangeCache: TSourceChangeCache): boolean;
|
||||||
|
|
||||||
|
function UpdateComponentInit(const aClassName, AccessClass,
|
||||||
|
StartSignature, EndSignature, InitSrc: string;
|
||||||
|
SourceChangeCache: TSourceChangeCache): boolean;
|
||||||
|
|
||||||
procedure CalcMemSize(Stats: TCTMemStats); override;
|
procedure CalcMemSize(Stats: TCTMemStats); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1696,6 +1700,35 @@ begin
|
|||||||
Result:=true;
|
Result:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TExtractProcTool.UpdateComponentInit(const aClassName, AccessClass,
|
||||||
|
StartSignature, EndSignature, InitSrc: string;
|
||||||
|
SourceChangeCache: TSourceChangeCache): boolean;
|
||||||
|
|
||||||
|
procedure E(TheID: int64; Msg: string);
|
||||||
|
begin
|
||||||
|
raise ECodeToolError.Create(Self,TheID,'TExtractProcTool.UpdateComponentInit: '+Msg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=false;
|
||||||
|
{$IFDEF VerbosePasStream}
|
||||||
|
debugln(['TExtractProcTool.UpdateComponentInit START ',MainFilename,' aClassName="'+aClassName+'" AccessClass="'+AccessClass+'" StartSignature={'+DbgStr(StartSignature)+'} EndSignature={'+dbgstr(EndSignature)+'} InitSrc={'+InitSrc+'}']);
|
||||||
|
{$ENDIF}
|
||||||
|
if aClassName='' then
|
||||||
|
E(20171025224428,'missing aClassName');
|
||||||
|
if not IsValidIdent(aClassName) then
|
||||||
|
E(20171025224540,'invalid aClassName "'+aClassName+'"');
|
||||||
|
if (AccessClass<>'') and not IsValidIdent(AccessClass) then
|
||||||
|
E(20171025224607,'invalid AccessClass "'+AccessClass+'"');
|
||||||
|
if StartSignature='' then
|
||||||
|
E(20171025224636,'missing StartSignature');
|
||||||
|
if EndSignature='' then
|
||||||
|
E(20171025224647,'missing EndSignature');
|
||||||
|
|
||||||
|
// find class
|
||||||
|
// ToDo
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TExtractProcTool.CalcMemSize(Stats: TCTMemStats);
|
procedure TExtractProcTool.CalcMemSize(Stats: TCTMemStats);
|
||||||
begin
|
begin
|
||||||
inherited CalcMemSize(Stats);
|
inherited CalcMemSize(Stats);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@ uses
|
|||||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||||
cthreads,
|
cthreads,
|
||||||
{$ENDIF}{$ENDIF}
|
{$ENDIF}{$ENDIF}
|
||||||
Classes, XMLStreaming, Unit1;
|
Classes, Unit1;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
StreamAsPasForm:=TStreamAsPasForm.Create(nil);
|
StreamAsPasForm:=TStreamAsPasForm.Create(nil);
|
||||||
|
|||||||
@ -5,7 +5,7 @@ unit Unit1;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, LCLProc, typinfo, CompWriterPas;
|
Classes, SysUtils, typinfo, CompWriterPas, LazLogger;
|
||||||
|
|
||||||
type
|
type
|
||||||
TMyEnum = (myEnum1, myEnum2, myEnum3);
|
TMyEnum = (myEnum1, myEnum2, myEnum3);
|
||||||
@ -199,7 +199,7 @@ begin
|
|||||||
SetLength(s,ms.Size);
|
SetLength(s,ms.Size);
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
ms.Read(s[1],length(s));
|
ms.Read(s[1],length(s));
|
||||||
debugln(['TStreamAsPasForm.WriteComponents ',s]);
|
DebugLn(['TStreamAsPasForm.WriteComponents ',s]);
|
||||||
finally
|
finally
|
||||||
ms.Free;
|
ms.Free;
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user