Better compiler errors for accessing undeclared fields, calling undeclared
procedures and procedure fields.
This commit is contained in:
Dominik Picheta 2015-06-04 13:55:48 +01:00
commit 22f6017ab8
7 changed files with 22 additions and 10 deletions

View file

@ -209,7 +209,14 @@ proc resolveOverloads(c: PContext, n, orig: PNode,
pickBest(callOp)
if overloadsState == csEmpty and result.state == csEmpty:
localError(n.info, errUndeclaredIdentifier, considerQuotedIdent(f).s)
if nfDotField in n.flags:
if nfExplicitCall in n.flags:
localError(n.info, errUndeclaredProcedureField,
considerQuotedIdent(f).s)
else:
localError(n.info, errUndeclaredField, considerQuotedIdent(f).s)
else:
localError(n.info, errUndeclaredProcedure, considerQuotedIdent(f).s)
return
elif result.state != csMatch:
if nfExprCall in n.flags: