mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 09:39:09 +02:00
* fixed property write
This commit is contained in:
parent
77e2d5ad2a
commit
10c57d43f3
@ -572,12 +572,9 @@ unit pexpr;
|
||||
message(parser_e_no_paras_allowed);
|
||||
{ subscribed access? }
|
||||
if p1=nil then
|
||||
begin
|
||||
p1:=genloadnode(pvarsym(ppropertysym(sym)^.readaccesssym),st);
|
||||
end
|
||||
p1:=genloadnode(pvarsym(ppropertysym(sym)^.writeaccesssym),st)
|
||||
else
|
||||
p1:=gensubscriptnode(pvarsym(
|
||||
ppropertysym(sym)^.readaccesssym),p1);
|
||||
p1:=gensubscriptnode(pvarsym(ppropertysym(sym)^.writeaccesssym),p1);
|
||||
consume(ASSIGNMENT);
|
||||
{ read the expression }
|
||||
p2:=comp_expr(true);
|
||||
@ -607,19 +604,14 @@ unit pexpr;
|
||||
message(parser_e_no_paras_allowed);
|
||||
{ subscribed access? }
|
||||
if p1=nil then
|
||||
begin
|
||||
p1:=genloadnode(pvarsym(
|
||||
ppropertysym(sym)^.readaccesssym),st);
|
||||
end
|
||||
p1:=genloadnode(pvarsym(ppropertysym(sym)^.readaccesssym),st)
|
||||
else
|
||||
p1:=gensubscriptnode(pvarsym(
|
||||
ppropertysym(sym)^.readaccesssym),p1);
|
||||
p1:=gensubscriptnode(pvarsym(ppropertysym(sym)^.readaccesssym),p1);
|
||||
end
|
||||
else if ppropertysym(sym)^.readaccesssym^.typ=procsym then
|
||||
begin
|
||||
{ generate the method call }
|
||||
p1:=genmethodcallnode(pprocsym(
|
||||
ppropertysym(sym)^.readaccesssym),st,p1);
|
||||
p1:=genmethodcallnode(pprocsym(ppropertysym(sym)^.readaccesssym),st,p1);
|
||||
{ we know the procedure to call, so
|
||||
force the usage of that procedure }
|
||||
p1^.procdefinition:=pprocdef(ppropertysym(sym)^.readaccessdef);
|
||||
@ -1973,7 +1965,10 @@ unit pexpr;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.92 1999-04-08 20:59:43 florian
|
||||
Revision 1.93 1999-04-15 09:00:08 peter
|
||||
* fixed property write
|
||||
|
||||
Revision 1.92 1999/04/08 20:59:43 florian
|
||||
* fixed problem with default properties which are a class
|
||||
* case bug (from the mailing list with -O2) fixed, the
|
||||
distance of the case labels can be greater than the positive
|
||||
|
Loading…
Reference in New Issue
Block a user