Using a getter to alter state sounds like a really bad idea.

Thank you all for looking at this. Glad it wasn't anything important.

OOI, the Sizzle code wraps the access in a condition. Should this be
ported to Prototype?

On 17 May 2011 18:53, Andrew Dupont <goo...@andrewdupont.net> wrote:
> I had to look it up, because that's part of Sizzle [1], but accessing that 
> property does have a side effect, apparently. It makes the `selected` 
> property work correctly when something is selected by default.
>
> That strikes me as a spurious thing for GCC to warn about — you wouldn't 
> typically expect property access to have side effects, but with 
> getters/setters now in JavaScript, it'll become more and more common.
>
> Cheers,
> Andrew
>
> [1] https://github.com/jquery/sizzle/blob/master/sizzle.js#L598
>
>
> On May 17, 2011, at 11:24 AM, Richard Quadling wrote:
>
>> Hi.
>>
>> Using Google Maps API with Prototype. Playing putting it into Google
>> Closure Compiler.
>>
>> Got a message  ...
>>
>> Number of warnings: 1
>>
>> JSC_USELESS_CODE: Suspicious code. This code lacks side-effects. Is
>> there a bug? at line 4437 character 3 in prototype.js
>>                       elem.parentNode.selectedIndex;
>>   ^
>>
>> which is ...
>>
>>       filters: {
>>               enabled: function(elem){
>>                       return elem.disabled === false && elem.type !== 
>> "hidden";
>>               },
>>               disabled: function(elem){
>>                       return elem.disabled === true;
>>               },
>>               checked: function(elem){
>>                       return elem.checked === true;
>>               },
>>               selected: function(elem){
>>                       elem.parentNode.selectedIndex; // <<<<<<<< line 4437
>>                       return elem.selected === true;
>>               },
>>               parent: function(elem){
>>                       return !!elem.firstChild;
>>               },
>>               empty: function(elem){
>>                       return !elem.firstChild;
>>               },
>>
>> It looks like they are right? From what I know, that statement isn't
>> going to do anything.
>>
>>
>> To see this in action...
>>
>> Go to http://closure-compiler.appspot.com/home and enter ...
>>
>> // ==ClosureCompiler==
>> // @compilation_level SIMPLE_OPTIMIZATIONS
>> // @output_file_name default.js
>> // @code_url 
>> http://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js
>> // @code_url 
>> http://maps.google.com/maps/api/js?libraries=geometry&sensor=false
>> // ==/ClosureCompiler==
>>
>> // ADD YOUR CODE HERE
>> alert(1);
>>
>> as the code to optimize.
>>
>> Choose "Simple" from the list of optimizations.
>>
>> Click "Compile" and then look at the warnings tab on the right hand side.
>>
>> Regards,
>>
>> Richard.
>>
>> --
>> Richard Quadling
>> Twitter : EE : Zend
>> @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Prototype: Core" group.
>> To post to this group, send email to prototype-core@googlegroups.com
>> To unsubscribe from this group, send email to 
>> prototype-core-unsubscr...@googlegroups.com
>> For more options, visit this group at 
>> http://groups.google.com/group/prototype-core?hl=en
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Prototype: Core" group.
> To post to this group, send email to prototype-core@googlegroups.com
> To unsubscribe from this group, send email to 
> prototype-core-unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/prototype-core?hl=en



-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to 
prototype-core-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en

Reply via email to