summaryrefslogtreecommitdiff
path: root/compiler/pexpr.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/pexpr.pas')
-rw-r--r--compiler/pexpr.pas21
1 files changed, 11 insertions, 10 deletions
diff --git a/compiler/pexpr.pas b/compiler/pexpr.pas
index 1558e38263..47801234a3 100644
--- a/compiler/pexpr.pas
+++ b/compiler/pexpr.pas
@@ -3558,17 +3558,18 @@ implementation
(block_type=bt_body) and
(token in [_LT,_LSHARPBRACKET]) then
begin
- if p1.nodetype=typen then
- idstr:=ttypenode(p1).typesym.name
- else
- if (p1.nodetype=loadvmtaddrn) and
- (tloadvmtaddrnode(p1).left.nodetype=typen) then
- idstr:=ttypenode(tloadvmtaddrnode(p1).left).typesym.name
+ idstr:='';
+ case p1.nodetype of
+ typen:
+ idstr:=ttypenode(p1).typesym.name;
+ loadvmtaddrn:
+ if tloadvmtaddrnode(p1).left.nodetype=typen then
+ idstr:=ttypenode(tloadvmtaddrnode(p1).left).typesym.name;
+ loadn:
+ idstr:=tloadnode(p1).symtableentry.name;
else
- if (p1.nodetype=loadn) then
- idstr:=tloadnode(p1).symtableentry.name
- else
- idstr:='';
+ ;
+ end;
{ if this is the case then the postfix handling is done in
sub_expr if necessary }
dopostfix:=not could_be_generic(idstr);