1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-07-04 16:29:52 +00:00

Fix detection of local duplicate names

This commit is contained in:
Karol Stasiak 2019-07-08 19:10:21 +02:00
parent 56c1ab008d
commit 769f410767

View File

@ -511,8 +511,14 @@ class Environment(val parent: Option[Environment], val prefix: String, val cpuFa
if (builtinsAdded && Environment.keywords(name)) {
log.error(s"Cannot redefine a builtin keyword `$name`", position)
false
} else if (things.contains(name) || parent.exists(_.things.contains(name))) {
log.error(s"`$name` is already defined", position)
} else if (things.contains(name) || parent.exists(_.things.contains(name)) || things.contains(name.stripPrefix(prefix))) {
if (!name.contains('.')){
if (parent.isDefined) {
log.error(s"`${name.stripPrefix(prefix)}` is already defined in this function", position)
} else {
log.error(s"`$name` is already defined", position)
}
}
false
} else {
true