The error is right here; the return type "jQuery.callbacks"
public static function Callbacks(flags:String = null):jQuery.callbacks {
return null; }
Just for sake of consistency, you might want to rename;
<classToFunction>
to
<class-to-function>
You are using jquery-1.9.js right?
That should be excluded with;
Mike
On Sat, Jun 20, 2015 at 2:46 PM, Frédéric THOMAS <[email protected]>
wrote:
> I'm looking for a while why I've got this king of errors for a while now,
> any clue ?
>
> U:\sources\asf\flex\falcon\externs\jquery\out\as\classes\jQuery.as:210
> Erreur interne : java.lang.NullPointerException
> at
> org.apache.flex.compiler.internal.scopes.TypeScope.getPropertyForMemberAccess(TypeScope.java:344)
> at
> org.apache.flex.compiler.internal.scopes.ScopeView.getPropertyForMemberAccess(ScopeView.java:81)
> at
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:879)
> at
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:841)
> at
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:760)
> at
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.resolveMemberRef(IdentifierNode.java:829)
> at
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.resolve(IdentifierNode.java:377)
> at
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.getMName(IdentifierNode.java:432)
> at
> org.apache.flex.compiler.internal.tree.as.MemberAccessExpressionNode.getMName(MemberAccessExpressionNode.java:158)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGeneratingReducer.dottedName(ABCGeneratingReducer.java:840)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.action_321(CmcEmitter.java:5236)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.dispatchAction(CmcEmitter.java:8487)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39127)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.dispatchAction(CmcEmitter.java:6881)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39127)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.dispatchAction(CmcEmitter.java:9434)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39127)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduce(CmcEmitter.java:39104)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceSubgoals(CmcEmitter.java:39146)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39126)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduce(CmcEmitter.java:39104)
> at
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.burm(CmcEmitter.java:39406)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateInstructions(ABCGenerator.java:228)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateMethodBodyForFunction(ABCGenerator.java:393)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateMethodBodyForFunction(ABCGenerator.java:347)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateFunction(ABCGenerator.java:262)
> at
> org.apache.flex.compiler.internal.as.codegen.ClassDirectiveProcessor.declareFunction(ClassDirectiveProcessor.java:787)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:214)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
> at
> org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareClass(GlobalDirectiveProcessor.java:423)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:206)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
> at
> org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declarePackage(GlobalDirectiveProcessor.java:449)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:223)
> at
> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
> at
> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(ABCGenerator.java:122)
> at
> org.apache.flex.compiler.internal.units.ASCompilationUnit.handleABCBytesRequest(ASCompilationUnit.java:477)
> at
> org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:866)
> at
> org.apache.flex.compiler.internal.units.CompilationUnitBase.access$300(CompilationUnitBase.java:107)
> at
> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:309)
> at
> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:305)
> at
> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
> at
> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> public static function Callbacks(flags:String = null):jQuery.callbacks
> { return null; }
> ^
>
> This is my jquery-config-xml:
>
> <flex-config>
>
> <compiler>
> <accessible>true</accessible>
>
> <locale/>
>
> <source-path>
> <path-element>src</path-element>
> </source-path>
>
> <warn-no-constructor>false</warn-no-constructor>
> </compiler>
>
> <external>
> <path-element>externs/jquery-1.9.js</path-element>
> </external>
>
> <as-root>out/as</as-root>
>
> <!-- JQuery -->
> <classToFunction>$</classToFunction>
>
> <exclude><class>jQuery</class><name>is</name></exclude>
> <exclude><class>jQuery</class><name>promise</name></exclude>
> <exclude><class>jQuery</class><name>getJSON</name></exclude>
> <exclude><class>jQuery</class><name>ajax</name></exclude>
> <exclude><class>jQuery</class><name>when</name></exclude>
> <exclude><class>jQuery</class><name>post</name></exclude>
> <exclude><class>jQuery</class><name>getScript</name></exclude>
> <exclude><class>jQuery</class><name>Callbacks</name></exclude>
>
> <class-exclude><class>Deferred</class></class-exclude>
> <class-exclude><class>jQuery.deferred</class></class-exclude>
> <class-exclude><class>jQuery.Event</class></class-exclude>
> <class-exclude><class>jQuery.Deferred</class></class-exclude>
> <class-exclude><class>$.Event</class></class-exclude>
> <class-exclude><class>$.Deferred</class></class-exclude>
> <class-exclude><class>$.deferred</class></class-exclude>
>
> </flex-config>
>
>
> I had to create:
>
> @Config(allowMultiple = true)
> @Mapping("classToFunction")
> @InfiniteArguments
> public void setClassToFunctions(ConfigurationValue cfgval,
> List<String> values)
> {
> for (String val : values)
> addClassToFunction(val);
> }
>
>
> Frédéric THOMAS
>
>
> ----------------------------------------
> > From: [email protected]
> > To: [email protected]
> > Subject: Re: [FalconJX FlexJS] JQuery up and running, a nightmare but we
> now have 1.9 in AS
> > Date: Sat, 20 Jun 2015 16:52:00 +0000
> >
> >
> >
> > On 6/20/15, 8:38 AM, "Michael Schmalle" <[email protected]>
> wrote:
> >
> >>What happens if you try to compile an external that does this that is not
> >>part of the JS.swc build? Well for one, it won't be added because the
> >>Window class is already compiled into the JS.swc.
> >>
> >>So for now, it's important that we add all externs to JS.swc that mixin
> to
> >>the HTML DOM classes.
> >>
> >>Good frameworks I would think don't do this? It's just their API and that
> >>is all.
> >>
> >
> > Hmm, I’ll get a lot of frameworks hack the built-in prototypes. We’re
> > doing that in the UI frameworks for FlexJS. First of all, it is possible,
> > second, there are only so many ways to associate the actual HTML elements
> > with the actual classes you want to present.
> >
> > So maybe, instead of having a stack of SWCs where Jquery.swc depend on
> > js.swc, the Jquery.swc will be all-inclusive and not depend on js.swc
> > because it will have its own copies of the classes that are in js.swc in
> > it with the modifications that JQuery applies.
> >
> > -Alex
> >
>
>