I like that it warns about *lack* of side effects. I mean, any
functional programmer would think that's a great warning to have :)

-foca

On Tue, May 17, 2011 at 3:24 PM, Rick Waldron <waldron.r...@gmail.com> wrote:
> Andrew, Richard
> Not sure if this helps, but I figured it was worth the mention... jQuery no
> longer uses GCC for min/compression... but when we did, we had the warn
> level set to quiet:
> https://github.com/jquery/jquery/commit/d503845d0cf45632c0d7c3542ffd1b19257a8e5e#L0L104
>
> Hopefully that's useful information :)
> Rick
>
>
>
>
> On Tue, May 17, 2011 at 1:53 PM, 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
>
> --
> 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

Reply via email to