I'll try to find time to look at this later in the month.
- Gordon
> Date: Thu, 1 Jan 2015 16:07:04 -0500
> Subject: Re: [FALCON] internal error related to identifier resolution (?)
> From: darrell.love...@gmail.com
> To: dev@flex.apache.org
>
> >>No problem. It was not obvious, and I don’t think I’ve ever seen that
> >>pattern before. That’s why I’m hoping you or Gordon know how to teach the
> >>parser or reducer and other code how to handle this. It looks like the
> >>compiler sees the {} as a block and not an object literal.
>
> I'm currently trying to improve the code coverage utility so I don't have
> the cycles to take on this issue.
>
>
> -Darrell
>
>
> On Wed, Dec 31, 2014 at 11:12 AM, Alex Harui <aha...@adobe.com> wrote:
>
> > No problem. It was not obvious, and I don’t think I’ve ever seen that
> > pattern before. That’s why I’m hoping you or Gordon know how to teach the
> > parser or reducer and other code how to handle this. It looks like the
> > compiler sees the {} as a block and not an object literal.
> >
> > -Alex
> >
> > On 12/31/14, 5:06 AM, "Darrell Loverin" <darrell.love...@gmail.com> wrote:
> >
> > >Agreed I see it now. Sorry for the bad info.
> > >
> > >-Darrell
> > >
> > >On Wednesday, December 31, 2014, Alex Harui <aha...@adobe.com> wrote:
> > >
> > >> Yeah, I had to read it twice, but I believe result is supposed to be
> > >> assigned to an Object with a property called “get” that points to a
> > >> function. The {} after result is an Object literal.
> > >>
> > >> On 12/30/14, 8:03 PM, "Greg Dove" <greg.d...@gmail.com <javascript:;>>
> > >> wrote:
> > >>
> > >> >Darrell, isn't that "get" simply a field/property with a function
> > >>value?
> > >> >
> > >> >If the issue is with the get keyword as a property name, then the OP
> > >>could
> > >> >try using json-style field naming, with quotes:
> > >> >
> > >> >result =
> > >> > {
> > >> > "get": function():Object
> > >> > {
> > >> > return JSON.parse(request.toString());
> > >> > }
> > >> > };
> > >> >
> > >> >If the above works unimpeded then the issue is with the new compiler
> > >>not
> > >> >handling the keyword 'get' as a property name correctly (which it may
> > >>now
> > >> >no longer allow as I understand it is more strict in some cases).
> > >> >
> > >> >
> > >> >On Wed, Dec 31, 2014 at 4:31 PM, Darrell Loverin
> > >> ><darrell.love...@gmail.com <javascript:;>>
> > >> >wrote:
> > >> >
> > >> >> > {
> > >> >> > // result =
> > >> >> > // {
> > >> >> > // get: function():Object
> > >> >> > // {
> > >> >> > // return
> > >>JSON.parse(request.toString());
> > >> >> > // }
> > >> >> > // };
> > >> >>
> > >> >> To further isolate the problem I would try removing the "get:" label
> > >> >>from
> > >> >> the anonymous function to see it that compiles. I'm assuming this
> > >>code
> > >> >> works in the old compiler.
> > >> >>
> > >> >>
> > >> >> -Darrell
> > >> >>
> > >> >> On Tue, Dec 30, 2014 at 11:40 AM, Alex Harui <aha...@adobe.com
> > >> <javascript:;>> wrote:
> > >> >>
> > >> >> > Hi, thanks for finding that.
> > >> >> >
> > >> >> > I forgot to ask you to use [FALCON] in the subject of these
> > >> >>discussions
> > >> >> (I
> > >> >> > changed the subject). Things like errors in the ABC subsystem
> > >>might
> > >> >> > require advice from Gordon or Darrell.
> > >> >> >
> > >> >> > Thanks,
> > >> >> > -Alex
> > >> >> >
> > >> >> > On 12/30/14, 2:02 AM, "Left Right" <olegsivo...@gmail.com
> > >> <javascript:;>> wrote:
> > >> >> >
> > >> >> > >I was able to find the error:
> > >> >> > >
> > >> >> > > private function loadDescriptionBytes(request:ByteArray,
> > >> >> > > success:Function, failure:Function):void
> > >> >> > > {
> > >> >> > > var result:Object;
> > >> >> > > try
> > >> >> > > {
> > >> >> > > try
> > >> >> > > {
> > >> >> > > result = request.readObject();
> > >> >> > > if (!this.tryCreateDescription(result,
> > >>success,
> > >> >> > >failure))
> > >> >> > > {
> > >> >> > > request.position = 0;
> > >> >> > > throw new Error();
> > >> >> > > }
> > >> >> > > }
> > >> >> > > catch (error:Error)
> > >> >> > > {
> > >> >> > > // result =
> > >> >> > > // {
> > >> >> > > // get: function():Object
> > >> >> > > // {
> > >> >> > > // return
> > >>JSON.parse(request.toString());
> > >> >> > > // }
> > >> >> > > // };
> > >> >> > > if (!this.tryCreateDescription(result,
> > >>success,
> > >> >> > >failure))
> > >> >> > > {
> > >> >> > > request.position = 0;
> > >> >> > > throw new Error();
> > >> >> > > }
> > >> >> > > }
> > >> >> > > }
> > >> >> > > catch (error:Error)
> > >> >> > > {
> > >> >> > > var loader:Loader = new Loader();
> > >> >> > > loader.contentLoaderInfo.addEventListener(
> > >> >> > > Event.COMPLETE, this.loaderCompleteHandler);
> > >> >> > > this._success = success;
> > >> >> > > this._failure = failure;
> > >> >> > > loader.loadBytes(request,
> > >> >> > > new LoaderContext(false,
> > >> >> > >ApplicationDomain.currentDomain));
> > >> >> > > }
> > >> >> > > }
> > >> >> > >
> > >> >> > >With the above commented, the compilation succeeds.
> > >> >> > >
> > >> >> > >On Tue, Dec 30, 2014 at 11:23 AM, Left Right
> > >><olegsivo...@gmail.com
> > >> <javascript:;>>
> > >> >> > >wrote:
> > >> >> > >> [mxmlc]
> > >> >> >
> > >>
> > >>>>>>/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as
> > >> >> > >> [mxmlc] Error: Internal error in ABC generator subsystem,
> > >>when
> > >> >> > >> generating code for:
> > >> >> > >>
> > >> >>/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:
> > >> >> > >> java.lang.IllegalArgumentException: Label
> > >> >> > >> org.apache.flex.abc.semantics.Label@2bd23245 => 0 was
> > >>referenced,
> > >> >>but
> > >> >> > >> never defined.
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.abc.semantics.MethodBodyInfo.getBlock(MethodBodyInfo.
> > >>>>>>ja
> > >> >>>>va
> > >> >> > >>:312)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.abc.semantics.MethodBodyInfo.getBlock(MethodBodyInfo.
> > >>>>>>ja
> > >> >>>>va
> > >> >> > >>:293)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>
> > >>>>>>org.apache.flex.abc.ABCEmitter.emitExceptionInfo(ABCEmitter.java:974)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.abc.ABCEmitter.emitCode(ABCEmitter.java:805)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.abc.ABCEmitter.access$1100(ABCEmitter.java:144)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.abc.ABCEmitter$EmitterMethodInfoVisitor.visitEnd(ABCE
> > >>>>>>mi
> > >> >>>>tt
> > >> >> > >>er.java:1937)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateMet
> > >>>>>>ho
> > >> >>>>dB
> > >> >> > >>odyForFunction(ABCGenerator.java:349)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateFun
> > >>>>>>ct
> > >> >>>>io
> > >> >> > >>n(ABCGenerator.java:262)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >> >>>>
> > >> org.apache.flex.compiler.internal.as.codegen.ClassDirectiveProcessor.de
> > >> >>>>cl
> > >> >> > >>areFunction(ClassDirectiveProcessor.java:782)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.proce
> > >>>>>>ss
> > >> >>>>No
> > >> >> > >>de(DirectiveProcessor.java:214)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.trave
> > >>>>>>rs
> > >> >>>>e(
> > >> >> > >>DirectiveProcessor.java:188)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor
> > >>>>>>.d
> > >> >>>>ec
> > >> >> > >>lareClass(GlobalDirectiveProcessor.java:423)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.proce
> > >>>>>>ss
> > >> >>>>No
> > >> >> > >>de(DirectiveProcessor.java:206)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.trave
> > >>>>>>rs
> > >> >>>>e(
> > >> >> > >>DirectiveProcessor.java:188)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor
> > >>>>>>.d
> > >> >>>>ec
> > >> >> > >>larePackage(GlobalDirectiveProcessor.java:449)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.proce
> > >>>>>>ss
> > >> >>>>No
> > >> >> > >>de(DirectiveProcessor.java:223)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.trave
> > >>>>>>rs
> > >> >>>>e(
> > >> >> > >>DirectiveProcessor.java:188)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(AB
> > >>>>>>CG
> > >> >>>>en
> > >> >> > >>erator.java:122)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.ASCompilationUnit.handleABCBy
> > >>>>>>te
> > >> >>>>sR
> > >> >> > >>equest(ASCompilationUnit.java:477)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.processAB
> > >>>>>>CB
> > >> >>>>yt
> > >> >> > >>esRequest(CompilationUnitBase.java:866)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.access$30
> > >>>>>>0(
> > >> >>>>Co
> > >> >> > >>mpilationUnitBase.java:107)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(
> > >>>>>>Co
> > >> >>>>mp
> > >> >> > >>ilationUnitBase.java:309)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(
> > >>>>>>Co
> > >> >>>>mp
> > >> >> > >>ilationUnitBase.java:305)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(
> > >>>>>>Re
> > >> >>>>qu
> > >> >> > >>estMaker.java:228)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(
> > >>>>>>Re
> > >> >>>>qu
> > >> >> > >>estMaker.java:222)
> > >> >> > >> [mxmlc] at
> > >> >> java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExec
> > >>>>>>ut
> > >> >>>>io
> > >> >> > >>n(ThreadPoolExecutor.java:2025)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.jav
> > >>>>>>a:
> > >> >>>>82
> > >> >> > >>1)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.ja
> > >>>>>>va
> > >> >>>>:1
> > >> >> > >>372)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorS
> > >>>>>>er
> > >> >>>>vi
> > >> >> > >>ce.java:132)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.requests.RequestMaker.getRequ
> > >>>>>>es
> > >> >>>>t(
> > >> >> > >>RequestMaker.java:188)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.getABCByt
> > >>>>>>es
> > >> >>>>Re
> > >> >> > >>quest(CompilationUnitBase.java:614)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.units.CompilationUnitBase.startBuil
> > >>>>>>dA
> > >> >>>>sy
> > >> >> > >>nc(CompilationUnitBase.java:1067)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.targets.Target.getDependentCompilat
> > >>>>>>io
> > >> >>>>nU
> > >> >> > >>nits(Target.java:359)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.targets.Target.findAllCompilationUn
> > >>>>>>it
> > >> >>>>sT
> > >> >> > >>oLink(Target.java:159)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.targets.Target.buildAllCompilationU
> > >>>>>>ni
> > >> >>>>ts
> > >> >> > >>(Target.java:297)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.targets.Target.getBuiltCompilationU
> > >>>>>>ni
> > >> >>>>tS
> > >> >> > >>et(Target.java:306)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.internal.targets.SWFTarget.build(SWFTarget.j
> > >>>>>>av
> > >> >>>>a:
> > >> >> > >>228)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>>>org.apache.flex.compiler.clients.MXMLC.buildSWFModel(MXMLC.java:760)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>>>org.apache.flex.compiler.clients.MXMLC.buildArtifact(MXMLC.java:746)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.compiler.clients.MXMLC.compile(MXMLC.java:625)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.compiler.clients.MXMLC.compile(MXMLC.java:611)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.compiler.clients.MXMLC.mainNoExit(MXMLC.java:230)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.compiler.clients.MXMLC.mainNoExit(MXMLC.java:198)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>
> > >>>>>>org.apache.flex.compiler.clients.MXMLC.staticMainNoExit(MXMLC.java:15
> > >>>>>>9)
> > >> >> > >> [mxmlc] at
> > >>sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > >> >> > >>Method)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> > >>>>>>ja
> > >> >>>>va
> > >> >> > >>:57)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> > >>>>>>so
> > >> >>>>rI
> > >> >> > >>mpl.java:43)
> > >> >> > >> [mxmlc] at java.lang.reflect.Method.invoke(Method.java:606)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.flex.compiler.ant.FlexTask.executeInProcess(FlexTask.java:
> > >>>>>>31
> > >> >>>>0)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.flex.compiler.ant.FlexTask.execute(FlexTask.java:261)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>>>org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
> > >> >> > >> [mxmlc] at
> > >>sun.reflect.GeneratedMethodAccessor4.invoke(Unknown
> > >> >> > >>Source)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> > >>>>>>so
> > >> >>>>rI
> > >> >> > >>mpl.java:43)
> > >> >> > >> [mxmlc] at java.lang.reflect.Method.invoke(Method.java:606)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
> > >>>>>>a:
> > >> >>>>10
> > >> >> > >>6)
> > >> >> > >> [mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
> > >> >> > >> [mxmlc] at
> > >>org.apache.tools.ant.Target.execute(Target.java:392)
> > >> >> > >> [mxmlc] at
> > >> >> org.apache.tools.ant.Target.performTasks(Target.java:413)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >>>>org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.tools.ant.Project.executeTarget(Project.java:1368)
> > >> >> > >> [mxmlc] at
> > >> >> >
> > >> >>
> > >>
> > >>>>>>org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
> > >>>>>>cu
> > >> >>>>to
> > >> >> > >>r.java:41)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.tools.ant.Project.executeTargets(Project.java:1251)
> > >> >> > >> [mxmlc] at org.apache.tools.ant.Main.runBuild(Main.java:811)
> > >> >> > >> [mxmlc] at org.apache.tools.ant.Main.startAnt(Main.java:217)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
> > >> >> > >> [mxmlc] at
> > >> >> > >>org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
> > >> >> > >>
> > >> >> > >> I'm also attaching the source for which this error was
> > >>generated.
> > >> >>If
> > >> >> > >> this won't be enough, (there are some dependencies, although
> > >>it's
> > >> >> > >> possible to replace them by dummies), I'll provide a complete
> > >> >>example
> > >> >> > >> (the source code is not open, so I'd rather not share too much
> > >>of
> > >> >>it).
> > >> >> > >>
> > >> >> > >> Thanks!
> > >> >> >
> > >> >> >
> > >> >>
> > >>
> > >>
> >
> >