From 2d170a0b8b1519befc4cdad57a0a46ccf8d16e0a Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 1 Sep 2010 13:35:40 -0300 Subject: Fixed function modification propagation. Now all modifications on base function will be propagate until a new modification was found. Reviewer: Hugo Parente Lima Lauro Moura --- abstractmetalang.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'abstractmetalang.cpp') diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp index fe6c6b372..da48a315f 100644 --- a/abstractmetalang.cpp +++ b/abstractmetalang.cpp @@ -690,8 +690,9 @@ FunctionModificationList AbstractMetaFunction::modifications(const AbstractMetaC FunctionModificationList mods; while (implementor) { mods += implementor->typeEntry()->functionModifications(minimalSignature()); - if (implementor == implementor->baseClass() || implementor == implementingClass()) - break; + if ((implementor == implementor->baseClass()) || + (implementor == implementingClass() && (mods.size() > 0))) + break; implementor = implementor->baseClass(); } return mods; -- cgit v1.2.3