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 <joshtynj...@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 <harbs.li...@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 <harbs.li...@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 <yishayj...@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.
>> >>
>> >
>>
>>

Reply via email to