Mercurial > MadButterfly
view tools/foreach.m4 @ 1351:1a4d15fe2c62
Fix the issue for name confliction between two used traits.
- When a class use two or more traits, and the name of a method from
one trait conflicts with an attribute from another one, composite
will be fault for setting method proxys.
- Solution is to skip attributes that is not callable when setting
proxys.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 13 Feb 2011 10:04:33 +0800 |
parents | f4b792afa74e |
children |
line wrap: on
line source
divert([-1]) define([_arg1], [$1]) define([_foreach], [ifelse([$2], [()], [], [define([$1], _arg1$2)$3[]_foreach([$1], (shift$2), [$3])])]) define([foreach], [pushdef([$1])_foreach($@)popdef([$1])]) divert[]dnl