You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Josh Tynjala <jo...@bowlerhat.dev> on 2022/01/03 17:50:57 UTC

Re: TDF fails at tree example

It sounds like there's an edge case that I didn't handle when parsing
bindings to determine what properties shouldn't be renamed. I'll take a
look soon.

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Thu, Dec 30, 2021 at 9:46 AM Harbs <ha...@gmail.com> wrote:

> I got the same error.
>
> It appears to throw a parse exception when tying to
> FindRoyaleMXMLPropertyNamesToKeep on:
>
> TreeExample.prototype._bindings = [
> 2,
> "treeData",
> null,
> ["myTree", "dataProvider"],
> /** @this {TreeExample} */
> function() { return "Selected Item: " +
> this.selectedNode.attribute('label'); },
> null,
> ["$ID_10_1", "text"],
> 0,
> 2,
> "treeData",
> "valueChange",
> 0,
> null,
> null,
> 1,
> 2,
> "selectedNode",
> "valueChange",
> 1,
> null,
> [
> 2,
> 3,
> "selectedNode",
> 1,
> null,
> null]];
>
> Harbs
>
> > On Dec 30, 2021, at 7:33 PM, Harbs <ha...@gmail.com> wrote:
> >
> > I didn’t know we had such a complex example of using modules. Trying to
> compile now...
> >
> >> On Dec 30, 2021, at 3:53 PM, Yishay Weiss <yi...@hotmail.com>
> wrote:
> >>
> >> There’s an internal compiler error [1]. I’m guessing compiler is
> failing on
> >>
> >>
> >>          <fx:Declarations>
> >>              <fx:XMLList id="treeData">
> >>                         <node label="Mail Box">
> >>                             <node label="Inbox">
> >>                                 <node label="Marketing"/>
> >>                                 <node label="Product Management"/>
> >>                                 <node label="Personal"/>
> >>                             </node>
> >>                             <node label="Outbox">
> >>                                 <node label="Professional"/>
> >>                                 <node label="Personal"/>
> >>                             </node>
> >>                             <node label="Spam"/>
> >>                             <node label="Sent"/>
> >>                                </node>
> >>              </fx:XMLList>
> >>          </fx:Declarations>
> >>
> >> [1]
> >>   [mxmlc] MXMLJSC
> >>   [mxmlc] -module-output=/mx/controls/
> >>   [mxmlc]
> -load-externs=C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/bin/js-debug/link_report-js.xml
> >>   [mxmlc] -js-compiler-option=--variable_map_input_file
> ../../gcc_variablemap.txt
> >>   [mxmlc] -js-compiler-option+=--property_map_input_file
> ../../gcc_propertymap.txt
> >>   [mxmlc] -js-compiler-option+=--externs
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/bin/js-debug/externs_report.js
> >>   [mxmlc] +playerglobal.version=11.1
> >>   [mxmlc] +env.AIR_HOME=C:\MoonshineSDKs\Flex_SDK\Flex_4.16.1_AIR_32.0
> >>  [mxmlc] +env.PLAYERGLOBAL_HOME=C:\dev\player
> >>   [mxmlc] -compiler.debug=false
> >>   [mxmlc] +royalelib=C:\dev\full_royale_sdk\royale-asjs/frameworks/
> >>   [mxmlc]
> -load-config=C:\dev\full_royale_sdk\royale-asjs/frameworks/flex-config.xml
> >>   [mxmlc]
> -output=C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\bin-debug\mx\controls\TreeExample.swf
> >>   [mxmlc] --
> >>   [mxmlc]
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/src//mx/controls/TreeExample.mxml
> >>   [mxmlc] Loading configuration:
> C:\dev\full_royale_sdk\royale-asjs\frameworks\flex-config.xml
> >>   [mxmlc]
> >>   [mxmlc] 18652 bytes written to
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\bin-debug\mx\controls\TreeExample.swf
> in 2.917 seconds
> >>   [mxmlc]
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\src\mx\controls\TreeExample.mxml(66):
> col: 52 Warning: Data binding will not be able to detect assignments to
> 'label'.
> >>   [mxmlc]
> >>   [mxmlc]                 text="Selected Item: {selectedNode.@label}"/>
> >>   [mxmlc]                                                    ^
> >>   [mxmlc]
> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
> com.google.javascript.jscomp.LoggerErrorManager println
> >>   [mxmlc] WARNING:
> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/mx/core/UIComponent.js:4230:
> WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
> >>   [mxmlc]   } else if ((this.mx_core_UIComponent__toolTip == null ||
> this.mx_core_UIComponent__toolTip == "") &&
> this.mx_core_UIComponent__toolTipBead != null) {
> >>   [mxmlc]
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   [mxmlc]
> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
> com.google.javascript.jscomp.LoggerErrorManager println
> >>   [mxmlc] WARNING:
> externs/org/apache/royale/externsjs/inspiretree/InspireTreeDOM.js:65:
> WARNING - Parse error. illegal use of unknown JSDoc tag "category";
> ignoring it
> >>   [mxmlc]  * @category DOM
> >>   [mxmlc]    ^
> >>   [mxmlc]
> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
> com.google.javascript.jscomp.LoggerErrorManager printSummary
> >>   [mxmlc] WARNING: 0 error(s), 2 warning(s)
> >>   [mxmlc] Internal error: java.lang.RuntimeException: INTERNAL COMPILER
> ERROR.
> >>   [mxmlc] Please report this problem.
> >>   [mxmlc]
> >>   [mxmlc] Find MXML property names to keep parse failure: NUMBER 3.0
> 549 [length: 1] [source_file:
> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js]
> >>   [mxmlc]   Node(GETPROP):
> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js:525:0
> >>   [mxmlc] TreeExample.prototype._bindings = [
> >>   [mxmlc]   Parent(ASSIGN):
> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js:525:0
> >>   [mxmlc] TreeExample.prototype._bindings = [
> >>   [mxmlc]
> com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.throwParseException(FindRoyaleMXMLPropertyNamesToKeep.java:311)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.traverseWatchers(FindRoyaleMXMLPropertyNamesToKeep.java:301)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.traverseWatchers(FindRoyaleMXMLPropertyNamesToKeep.java:306)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.checkForBindings(FindRoyaleMXMLPropertyNamesToKeep.java:384)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.visit(FindRoyaleMXMLPropertyNamesToKeep.java:43)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:908)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:858)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:883)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:392)com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:402)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.process(FindRoyaleMXMLPropertyNamesToKeep.java:36)com.google.javascript.jscomp.RoyaleClosurePassConfig$11$1.process(RoyaleClosurePassConfig.java:1306)com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:310)com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:231)com.google.javascript.jscomp.Compiler.check(Compiler.java:1084)com.google.javascript.jscomp.Compiler.performChecksAndTranspilation(Compiler.java:888)com.google.javascript.jscomp.Compiler.lambda$stage1Passes$0(Compiler.java:827)com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102)java.util.concurrent.FutureTask.run(FutureTask.java:266)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)java.lang.Thread.run(Thread.java:748)
> >>   [mxmlc]
> >>   [mxmlc]
> >>   [mxmlc]
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\src\mx\controls\TreeExample.mxml(66):
> col: 52 Warning: Data binding will not be able to detect assignments to
> 'label'.
> >>   [mxmlc]
> >>   [mxmlc]                 text="Selected Item: {selectedNode.@label}"/>
> >>   [mxmlc]                                                    ^
> >>   [mxmlc]
> >>   [mxmlc] 16.0516016 seconds
> >>   [mxmlc] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
> >>
> >> BUILD FAILED
> >>
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\build.xml:287:
> The following error occurred while executing this line:
> >>
> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\build.xml:96:
> mxmlc task failed.
> >>
> >
>
>

Re: TDF fails at tree example

Posted by Josh Tynjala <jo...@bowlerhat.dev>.
Fixed. The issue was actually triggered by this line, where there was a
binding to XML:

<mx:TextArea height="100%" width="50%"
    text="Selected Item: {selectedNode.@label}"/>

There was a missing break statement in the compiler that caused it to fall
through a switch case into the next.

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Mon, Jan 3, 2022 at 9:50 AM Josh Tynjala <jo...@bowlerhat.dev>
wrote:

> It sounds like there's an edge case that I didn't handle when parsing
> bindings to determine what properties shouldn't be renamed. I'll take a
> look soon.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Thu, Dec 30, 2021 at 9:46 AM Harbs <ha...@gmail.com> wrote:
>
>> I got the same error.
>>
>> It appears to throw a parse exception when tying to
>> FindRoyaleMXMLPropertyNamesToKeep on:
>>
>> TreeExample.prototype._bindings = [
>> 2,
>> "treeData",
>> null,
>> ["myTree", "dataProvider"],
>> /** @this {TreeExample} */
>> function() { return "Selected Item: " +
>> this.selectedNode.attribute('label'); },
>> null,
>> ["$ID_10_1", "text"],
>> 0,
>> 2,
>> "treeData",
>> "valueChange",
>> 0,
>> null,
>> null,
>> 1,
>> 2,
>> "selectedNode",
>> "valueChange",
>> 1,
>> null,
>> [
>> 2,
>> 3,
>> "selectedNode",
>> 1,
>> null,
>> null]];
>>
>> Harbs
>>
>> > On Dec 30, 2021, at 7:33 PM, Harbs <ha...@gmail.com> wrote:
>> >
>> > I didn’t know we had such a complex example of using modules. Trying to
>> compile now...
>> >
>> >> On Dec 30, 2021, at 3:53 PM, Yishay Weiss <yi...@hotmail.com>
>> wrote:
>> >>
>> >> There’s an internal compiler error [1]. I’m guessing compiler is
>> failing on
>> >>
>> >>
>> >>          <fx:Declarations>
>> >>              <fx:XMLList id="treeData">
>> >>                         <node label="Mail Box">
>> >>                             <node label="Inbox">
>> >>                                 <node label="Marketing"/>
>> >>                                 <node label="Product Management"/>
>> >>                                 <node label="Personal"/>
>> >>                             </node>
>> >>                             <node label="Outbox">
>> >>                                 <node label="Professional"/>
>> >>                                 <node label="Personal"/>
>> >>                             </node>
>> >>                             <node label="Spam"/>
>> >>                             <node label="Sent"/>
>> >>                                </node>
>> >>              </fx:XMLList>
>> >>          </fx:Declarations>
>> >>
>> >> [1]
>> >>   [mxmlc] MXMLJSC
>> >>   [mxmlc] -module-output=/mx/controls/
>> >>   [mxmlc]
>> -load-externs=C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/bin/js-debug/link_report-js.xml
>> >>   [mxmlc] -js-compiler-option=--variable_map_input_file
>> ../../gcc_variablemap.txt
>> >>   [mxmlc] -js-compiler-option+=--property_map_input_file
>> ../../gcc_propertymap.txt
>> >>   [mxmlc] -js-compiler-option+=--externs
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/bin/js-debug/externs_report.js
>> >>   [mxmlc] +playerglobal.version=11.1
>> >>   [mxmlc] +env.AIR_HOME=C:\MoonshineSDKs\Flex_SDK\Flex_4.16.1_AIR_32.0
>> >>  [mxmlc] +env.PLAYERGLOBAL_HOME=C:\dev\player
>> >>   [mxmlc] -compiler.debug=false
>> >>   [mxmlc] +royalelib=C:\dev\full_royale_sdk\royale-asjs/frameworks/
>> >>   [mxmlc]
>> -load-config=C:\dev\full_royale_sdk\royale-asjs/frameworks/flex-config.xml
>> >>   [mxmlc]
>> -output=C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\bin-debug\mx\controls\TreeExample.swf
>> >>   [mxmlc] --
>> >>   [mxmlc]
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules/src//mx/controls/TreeExample.mxml
>> >>   [mxmlc] Loading configuration:
>> C:\dev\full_royale_sdk\royale-asjs\frameworks\flex-config.xml
>> >>   [mxmlc]
>> >>   [mxmlc] 18652 bytes written to
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\bin-debug\mx\controls\TreeExample.swf
>> in 2.917 seconds
>> >>   [mxmlc]
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\src\mx\controls\TreeExample.mxml(66):
>> col: 52 Warning: Data binding will not be able to detect assignments to
>> 'label'.
>> >>   [mxmlc]
>> >>   [mxmlc]                 text="Selected Item: {selectedNode.@label
>> }"/>
>> >>   [mxmlc]                                                    ^
>> >>   [mxmlc]
>> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
>> com.google.javascript.jscomp.LoggerErrorManager println
>> >>   [mxmlc] WARNING:
>> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/mx/core/UIComponent.js:4230:
>> WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
>> >>   [mxmlc]   } else if ((this.mx_core_UIComponent__toolTip == null ||
>> this.mx_core_UIComponent__toolTip == "") &&
>> this.mx_core_UIComponent__toolTipBead != null) {
>> >>   [mxmlc]
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> >>   [mxmlc]
>> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
>> com.google.javascript.jscomp.LoggerErrorManager println
>> >>   [mxmlc] WARNING:
>> externs/org/apache/royale/externsjs/inspiretree/InspireTreeDOM.js:65:
>> WARNING - Parse error. illegal use of unknown JSDoc tag "category";
>> ignoring it
>> >>   [mxmlc]  * @category DOM
>> >>   [mxmlc]    ^
>> >>   [mxmlc]
>> >>   [mxmlc] Dec 30, 2021 3:44:53 PM
>> com.google.javascript.jscomp.LoggerErrorManager printSummary
>> >>   [mxmlc] WARNING: 0 error(s), 2 warning(s)
>> >>   [mxmlc] Internal error: java.lang.RuntimeException: INTERNAL
>> COMPILER ERROR.
>> >>   [mxmlc] Please report this problem.
>> >>   [mxmlc]
>> >>   [mxmlc] Find MXML property names to keep parse failure: NUMBER 3.0
>> 549 [length: 1] [source_file:
>> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js]
>> >>   [mxmlc]   Node(GETPROP):
>> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js:525:0
>> >>   [mxmlc] TreeExample.prototype._bindings = [
>> >>   [mxmlc]   Parent(ASSIGN):
>> C:/dev/full_royale_sdk/royale-asjs/examples/mxroyale/tourdeflexmodules/bin/js-debug/mx/controls/TreeExample.js:525:0
>> >>   [mxmlc] TreeExample.prototype._bindings = [
>> >>   [mxmlc]
>> com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.throwParseException(FindRoyaleMXMLPropertyNamesToKeep.java:311)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.traverseWatchers(FindRoyaleMXMLPropertyNamesToKeep.java:301)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.traverseWatchers(FindRoyaleMXMLPropertyNamesToKeep.java:306)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.checkForBindings(FindRoyaleMXMLPropertyNamesToKeep.java:384)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.visit(FindRoyaleMXMLPropertyNamesToKeep.java:43)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:908)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:858)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:883)com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:1020)com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:904)com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:392)com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:402)com.google.javascript.jscomp.FindRoyaleMXMLPropertyNamesToKeep.process(FindRoyaleMXMLPropertyNamesToKeep.java:36)com.google.javascript.jscomp.RoyaleClosurePassConfig$11$1.process(RoyaleClosurePassConfig.java:1306)com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:310)com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:231)com.google.javascript.jscomp.Compiler.check(Compiler.java:1084)com.google.javascript.jscomp.Compiler.performChecksAndTranspilation(Compiler.java:888)com.google.javascript.jscomp.Compiler.lambda$stage1Passes$0(Compiler.java:827)com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102)java.util.concurrent.FutureTask.run(FutureTask.java:266)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)java.lang.Thread.run(Thread.java:748)
>> >>   [mxmlc]
>> >>   [mxmlc]
>> >>   [mxmlc]
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\src\mx\controls\TreeExample.mxml(66):
>> col: 52 Warning: Data binding will not be able to detect assignments to
>> 'label'.
>> >>   [mxmlc]
>> >>   [mxmlc]                 text="Selected Item: {selectedNode.@label
>> }"/>
>> >>   [mxmlc]                                                    ^
>> >>   [mxmlc]
>> >>   [mxmlc] 16.0516016 seconds
>> >>   [mxmlc] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
>> >>
>> >> BUILD FAILED
>> >>
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\build.xml:287:
>> The following error occurred while executing this line:
>> >>
>> C:\dev\full_royale_sdk\royale-asjs\examples\mxroyale\tourdeflexmodules\build.xml:96:
>> mxmlc task failed.
>> >>
>> >
>>
>>