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