From: Rico Tzschichholz Date: Tue, 5 Nov 2019 10:14:26 +0000 (+0100) Subject: vala: Don't mark method as used on recursive usage of itself X-Git-Tag: 0.47.1~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47e0679af3cbaafea39324d15b37de63144c03a8;p=thirdparty%2Fvala.git vala: Don't mark method as used on recursive usage of itself See https://gitlab.gnome.org/GNOME/vala/issues/100 --- diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala index 421ee8a9f..e09c36551 100644 --- a/vala/valamemberaccess.vala +++ b/vala/valamemberaccess.vala @@ -737,7 +737,17 @@ public class Vala.MemberAccess : Expression { member = symbol_reference; } - member.used = true; + // recursive usage of itself doesn't count as used + unowned CodeNode? parent = this; + while (parent != member) { + parent = parent.parent_node; + if (parent == null || parent == member) { + break; + } + } + if (parent != member) { + member.used = true; + } member.version.check (source_reference); if (access == SymbolAccessibility.PROTECTED && member.parent_symbol is TypeSymbol) {