diff options
Diffstat (limited to 'nim/trees.pas')
-rwxr-xr-x[-rw-r--r--] | nim/trees.pas | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/nim/trees.pas b/nim/trees.pas index 4df85f6bb..0e0c04a22 100644..100755 --- a/nim/trees.pas +++ b/nim/trees.pas @@ -144,21 +144,19 @@ end; function getOpSym(op: PNode): PSym; begin - if not (op.kind in [nkCall, nkGenericCall, nkHiddenCallConv, nkCommand]) then + if not (op.kind in [nkCall, nkHiddenCallConv, nkCommand, nkCallStrLit]) then result := nil else begin if (sonsLen(op) <= 0) then InternalError(op.info, 'getOpSym'); - case op.sons[0].Kind of - nkSym, nkQualified: result := op.sons[0].sym; - else result := nil - end + if op.sons[0].Kind = nkSym then result := op.sons[0].sym + else result := nil end end; function getMagic(op: PNode): TMagic; begin case op.kind of - nkCall, nkHiddenCallConv, nkCommand: begin + nkCall, nkHiddenCallConv, nkCommand, nkCallStrLit: begin case op.sons[0].Kind of nkSym: begin result := op.sons[0].sym.magic; @@ -166,9 +164,6 @@ begin else result := mNone end end; - nkExplicitTypeListCall, nkGenericCall: begin - result := getMagic(op.sons[sonsLen(op)-1]); - end; else result := mNone end |