Merge pull request #2867 from Araq/fix-2584

Fixes #2584
This commit is contained in:
Andreas Rumpf 2015-06-07 10:51:35 +02:00
commit 380d617f86
7 changed files with 17 additions and 10 deletions

View file

@ -34,7 +34,9 @@ type
errNoneSpeedOrSizeExpectedButXFound, errGuiConsoleOrLibExpectedButXFound, errNoneSpeedOrSizeExpectedButXFound, errGuiConsoleOrLibExpectedButXFound,
errUnknownOS, errUnknownCPU, errGenOutExpectedButXFound, errUnknownOS, errUnknownCPU, errGenOutExpectedButXFound,
errArgsNeedRunOption, errInvalidMultipleAsgn, errColonOrEqualsExpected, errArgsNeedRunOption, errInvalidMultipleAsgn, errColonOrEqualsExpected,
errExprExpected, errUndeclaredIdentifier, errUseQualifier, errTypeExpected, errExprExpected, errUndeclaredIdentifier, errUndeclaredField,
errUndeclaredRoutine, errUseQualifier,
errTypeExpected,
errSystemNeeds, errExecutionOfProgramFailed, errNotOverloadable, errSystemNeeds, errExecutionOfProgramFailed, errNotOverloadable,
errInvalidArgForX, errStmtHasNoEffect, errXExpectsTypeOrValue, errInvalidArgForX, errStmtHasNoEffect, errXExpectsTypeOrValue,
errXExpectsArrayType, errIteratorCannotBeInstantiated, errExprXAmbiguous, errXExpectsArrayType, errIteratorCannotBeInstantiated, errExprXAmbiguous,
@ -190,6 +192,8 @@ const
errColonOrEqualsExpected: "\':\' or \'=\' expected, but found \'$1\'", errColonOrEqualsExpected: "\':\' or \'=\' expected, but found \'$1\'",
errExprExpected: "expression expected, but found \'$1\'", errExprExpected: "expression expected, but found \'$1\'",
errUndeclaredIdentifier: "undeclared identifier: \'$1\'", errUndeclaredIdentifier: "undeclared identifier: \'$1\'",
errUndeclaredField: "undeclared field: \'$1\'",
errUndeclaredRoutine: "attempting to call undeclared routine: \'$1\'",
errUseQualifier: "ambiguous identifier: \'$1\' -- use a qualifier", errUseQualifier: "ambiguous identifier: \'$1\' -- use a qualifier",
errTypeExpected: "type expected", errTypeExpected: "type expected",
errSystemNeeds: "system module needs \'$1\'", errSystemNeeds: "system module needs \'$1\'",

View file

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

View file

@ -1,6 +1,6 @@
discard """ discard """
line: 7 line: 7
errormsg: "undeclared identifier: 'items'" errormsg: "attempting to call undeclared routine: 'items'"
""" """
type a = enum b,c,d type a = enum b,c,d

View file

@ -1,7 +1,7 @@
discard """ discard """
file: "tissue710.nim" file: "tissue710.nim"
line: 8 line: 8
errorMsg: "undeclared identifier: '||'" errorMsg: "attempting to call undeclared routine: '||'"
""" """
var sum = 0 var sum = 0
for x in 3..1000: for x in 3..1000:

View file

@ -1,7 +1,7 @@
discard """ discard """
file: "tnoop.nim" file: "tnoop.nim"
line: 11 line: 11
errormsg: "undeclared identifier: 'a'" errormsg: "attempting to call undeclared routine: 'a'"
""" """

View file

@ -1,7 +1,7 @@
discard """ discard """
file: "topaque.nim" file: "topaque.nim"
line: 16 line: 16
errormsg: "undeclared identifier: \'buffer\'" errormsg: "undeclared field: \'buffer\'"
""" """
# Test the new opaque types # Test the new opaque types

View file

@ -1,7 +1,7 @@
discard """ discard """
file: "twrongtupleaccess.nim" file: "twrongtupleaccess.nim"
line: 9 line: 9
errormsg: "undeclared identifier: \'setBLAH\'" errormsg: "attempting to call undeclared routine: \'setBLAH\'"
""" """
# Bugfix # Bugfix