mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-10 13:18:51 +02:00

they are added (mantis #10807), because a) the typecheckpass of the entire blocks has to be postponed until firstpass because new statements may still be added in the firstpass (otherwise the newly added statements in the firstpass are never typechecked due to the blocknode already having a resultdef set) b) simplify can be called between the typecheck and firstpass, and it needs the typeinfo git-svn-id: trunk@10263 -
62 lines
1.1 KiB
ObjectPascal
62 lines
1.1 KiB
ObjectPascal
unit tw10807;
|
|
|
|
interface
|
|
{$mode delphi}
|
|
|
|
uses
|
|
Classes, SysUtils;
|
|
|
|
const maxword = 65535;
|
|
|
|
type
|
|
PClrStreamHeader = ^TClrStreamHeader;
|
|
TClrStreamHeader = packed record
|
|
Name: array [0..MaxWord] of Char;
|
|
end;
|
|
TJclClrStream = class(TObject)
|
|
constructor Create(const AMetadata: Tobject; AHeader: PClrStreamHeader); virtual;
|
|
end;
|
|
TJclClrStreamClass = class of TJclClrStream;
|
|
|
|
tobjectlist = class
|
|
procedure add(c: tobject);
|
|
end;
|
|
|
|
tJclPeImage=class(tobject)
|
|
end;
|
|
TJclPeMetadata = class(TObject)
|
|
private
|
|
FStreams: TObjectList;
|
|
constructor Create(const AImage: TJclPeImage);
|
|
end;
|
|
|
|
implementation
|
|
|
|
procedure tobjectlist.add(c: tobject);
|
|
begin
|
|
end;
|
|
|
|
constructor TJclPeMetadata.Create(const AImage: TJclPeImage);
|
|
|
|
function GetStreamClass(const Name: string): TJclClrStreamClass;
|
|
begin
|
|
end;
|
|
|
|
procedure UpdateStreams;
|
|
var
|
|
pStream: PClrStreamHeader;
|
|
I: Integer;
|
|
begin
|
|
FStreams.Add(GetStreamClass(pStream.Name).Create(Self, pStream));
|
|
end;
|
|
|
|
begin
|
|
end;
|
|
|
|
constructor TJclClrStream.Create(const AMetadata: Tobject; AHeader: PClrStreamHeader);
|
|
begin
|
|
end;
|
|
|
|
end.
|
|
|