Looks like the externs file doesn't have an @type for the $ constant.  You
can try adding it in the build script or see if Google will accept a patch
for it.

-Alex

On 4/20/16, 4:13 PM, "Harbs" <[email protected]> wrote:

>Replacing “$” with “jQuery” makes the warnings go away. Why would “$” be
>different than “jQuery”? It sounds to me like a bug in the definitions.
>
>jQuery always returns a JQuery object which has many defined methods. One
>of those is attr.
>
>On Apr 21, 2016, at 1:50 AM, Alex Harui <[email protected]> wrote:
>
>> IMO, this is why Jquery is painful for strong typing.
>> 
>> I think you may need to do casting:
>> 
>>      ($("#topcoat") as Whatever).attr(..)
>> 
>> Where Whatever is a "type" that has an attr function.
>> 
>> And you may need to use @flexjsignorecoercion or other compiler options
>>to
>> not actually do the "as" test in the JS output.
>> 
>> Good luck,
>> -Alex
>> 
>> 
>> On 4/20/16, 3:46 PM, "Harbs" <[email protected]> wrote:
>> 
>>> Here’s an example:
>>> $("#topcoat").attr("href", "css/topcoat-desktop-lightlight.min.css");
>>> 
>>> It looks like “$” is defined as an object.
>>> 
>>> Here’s the exact warnings I’m getting:
>>> 
>>> Could not resolve variable (may be a dynamic member) 'attr' at line 43
>>> column 19.  ThemeManager.as /MyExtension/src/com/unhurdle   Unknown Flash
>>> Problem
>>> Maybe invoking a non function. Found
>>> $("#topcoat").attr("href","css/topcoat-desktop-lightlight.min.css"); at
>>> line 43 column 
>>> 5.  ThemeManager.as /MyExtension/src/com/unhurdle   Unknown Flash Problem
>>> 
>>> And yes, js/libs/jquery.swc is included. If I remove it, I get an error
>>> that “$” is not defined instead of a warning.
>>> 
>>> On Apr 21, 2016, at 1:39 AM, Alex Harui <[email protected]> wrote:
>>> 
>>>> 
>>>> 
>>>> On 4/20/16, 3:34 PM, "Harbs" <[email protected]> wrote:
>>>> 
>>>>> Does anyone know if there’s a way to get FDT to not flag JQuery
>>>>> expressions with “could not resolve variable” and "Maybe invoke a non
>>>>> function” warnings?
>>>> 
>>>> What kind of expressions result in this output?  Are you sure you have
>>>> the
>>>> jquery.swc from the externs on the -external-library-path?
>>>> 
>>>> -Alex
>>>> 
>>> 
>> 
>

Reply via email to