* save/result nestsym to ppufile for inline routines

git-svn-id: branches/jvmbackend@18670 -
This commit is contained in:
Jonas Maebe 2011-08-20 08:23:04 +00:00
parent 3a983d8ea5
commit ff37507bca

View File

@ -38,12 +38,17 @@ interface
tcgnestloadnode = class(tcgloadnode)
protected
nestsym: tsym;
nestsymderef: tderef;
procedure generate_nested_access(vs: tsym);override;
public
function pass_typecheck: tnode; override;
function pass_1:tnode;override;
function dogetcopy: tnode; override;
function docompare(p: tnode): boolean; override;
constructor ppuload(t: tnodetype; ppufile: tcompilerppufile); override;
procedure ppuwrite(ppufile: tcompilerppufile); override;
procedure buildderefimpl; override;
procedure derefimpl; override;
end;
implementation
@ -192,6 +197,34 @@ implementation
end;
constructor tcgnestloadnode.ppuload(t: tnodetype; ppufile: tcompilerppufile);
begin
inherited ppuload(t, ppufile);
ppufile.getderef(nestsymderef);
end;
procedure tcgnestloadnode.ppuwrite(ppufile: tcompilerppufile);
begin
inherited ppuwrite(ppufile);
ppufile.putderef(nestsymderef);
end;
procedure tcgnestloadnode.buildderefimpl;
begin
inherited buildderefimpl;
nestsymderef.build(nestsym);
end;
procedure tcgnestloadnode.derefimpl;
begin
inherited derefimpl;
nestsym:=tsym(nestsymderef.resolve);
end;
begin
cloadnode:=tcgnestloadnode;
end.