cooker: use BBHandler.inherit for INHERIT
authorChris Larson <chris_larson@mentor.com>
Thu, 24 Feb 2011 20:16:43 +0000 (13:16 -0700)
committerChris Larson <chris_larson@mentor.com>
Fri, 25 Feb 2011 15:17:13 +0000 (08:17 -0700)
commit057c3cddeb72584c6c3908bd702288cece9b66ea
tree888db2d64f1de7f5a2c23b541e6318c861e6f319
parent87112adee4e8add0a97ff8be8311d9afe202412d
cooker: use BBHandler.inherit for INHERIT

Ideally we'd avoid direct BBHandler usage, but honestly, to say the whole
bb.parse abstraction is incredibly leaky is an understatement.  If we try to
make handle() not reparse classes, things get ugly fairly quickly, as
inherit() calls handle() itself after adding the class to the inherit cache.

This change fixes it so we no longer risk reparsing a class if:

- it's listed in INHERIT multiple times
- it's listed in INHERIT and is 'inherit'ed from a class in INHERIT

Signed-off-by: Chris Larson <chris_larson@mentor.com>
lib/bb/cooker.py