Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/templateutil.py @ 38252:c2456a7726c1
templater: do dict lookup over a wrapped object
Dict/list lookup operations will be moved to a wrapped interface so that
a returned element can inherit hybrid-ness automatically. wraphybridvalue()
will be inlined.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 21 Mar 2018 01:18:29 +0900 |
parents | 7701c2d4a438 |
children | ad06a4264daf |
comparison
equal
deleted
inserted
replaced
38251:ead71b15efd5 | 38252:c2456a7726c1 |
---|---|
660 d = evalwrapped(context, mapping, darg) | 660 d = evalwrapped(context, mapping, darg) |
661 return mappedgenerator(_applymap, args=(mapping, d, targ)) | 661 return mappedgenerator(_applymap, args=(mapping, d, targ)) |
662 | 662 |
663 def runmember(context, mapping, data): | 663 def runmember(context, mapping, data): |
664 darg, memb = data | 664 darg, memb = data |
665 d = evalrawexp(context, mapping, darg) | 665 d = evalwrapped(context, mapping, darg) |
666 if util.safehasattr(d, 'tomap'): | 666 if util.safehasattr(d, 'tomap'): |
667 lm = context.overlaymap(mapping, d.tomap()) | 667 lm = context.overlaymap(mapping, d.tomap()) |
668 return runsymbol(context, lm, memb) | 668 return runsymbol(context, lm, memb) |
669 if util.safehasattr(d, 'get'): | 669 if util.safehasattr(d, 'get'): |
670 return getdictitem(d, memb) | 670 return getdictitem(d, memb) |