I agree.

As to Raju's usage, that's an inefficient mechanism for getting around a known 
deficiency in LZX.  We have (somewhere than I can't find) a proposal that LZX 
should use a lexical rather than a dynamic model for variable lookup.  That is, 
it would be nice if you could write:

  <class ...
     <view name="bar" ...
       <view ...
         <view ...
           <method ...
             bar.doSomething();

and have the inner `bar` resolve to the lexically apparent `bar` binding, 
rather than having to say `parent.parent.parent.bar`.  I think many people 
would be happy if this worked.  With Don's work on LPP-8751, we should be able 
to tell at compile time when a reference is not an instance reference, and look 
for a lexical binding that matches before defaulting to a dynamic lookup.

On 2011-03-07, at 08:21, André Bargull wrote:

> Actually it was already marked private in r7878 by Don as part of the 
> harmonisation of the 3.x and 4.0 docs. Don made it private in <node>, because 
> searchParents() wasn't referenced as a public method for <node> in the 3.x 
> docs, instead it was erroneously documented on the <view> reference page. So 
> you could say it was solely an accident that the method got private.
> Although it was an accident, I'd still say we should not make it public 
> again, because searchParents() doesn't perform what it sounds like: I'd 
> expect it walks up the parent-chain to find a matching attribute, but instead 
> it uses the immediateparent-chain.
> 
>> Not clear.  Looks like I marked it private in r9179 as general doc cleanup.  
>> Probably I was being over-zealous.
>> 
>> Can you give an example of how you used this?  Internally, this is used 
>> mostly to inherit attribute values.  The modern way to do that is to use CSS:
>> 
>>   <attribute name="foo" style="foo" inherit="true" />
>> 
>> Will cause a node to inherit the CSS foo value from it's parent if it does 
>> not have one of its own.  Are there other applications?  If not, I am in 
>> favor of leaving this interface private.
>> 
>> On 2011-03-06, at 07:36, Raju Bitter wrote:
>> 
>>> >  The LzNode#searchParents() method doesn't show up in the
>>> >  documentation, it's private now. What was the reason to make that
>>> >  method private? I used it a lot in my apps.


Reply via email to