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