Skip to content

XMLListCollection: exception in constructor #167

@SemiConscious

Description

@SemiConscious

Test case code:

i2.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:mx="library://ns.apache.org/royale/mx"
                   width="600" height="400" >
	<fx:Script>
		<![CDATA[

			// this works
			// import mx.collections.XMLListCollection; 
			// static public var xmllc:XMLListCollection=new XMLListCollection();

			// this doesn't
			import testglob;
			public var h:String = testglob.Hello;
		]]>
	</fx:Script>
	<mx:Label text="{xmllc.toString()}"/>
</mx:Application>

testglob.as:

package
{
	import mx.collections.XMLListCollection;

	[Bindable]
	public class testglob
	{
		static public var Hello:String = "Hello";
 		static public var Devices:XMLListCollection=new XMLListCollection();
	}
}

When the XMLListCollection is initialised in the mxml file, everything is fine and the initialisation is successful.

When it's initialised by importing the testglob.as class, I get an exception:

Uncaught TypeError: Cannot read property 'createUID' of undefined
    at mx.collections.XMLListAdapter.set__source (XMLListAdapter.js:615)
    at new mx.collections.XMLListAdapter (XMLListAdapter.js:37)
    at mx.collections.XMLListCollection.set__source (XMLListCollection.js:362)
    at new mx.collections.XMLListCollection (XMLListCollection.js:37)
    at testglob.js:50

On the face of it it seems a bit like the other XML bug I reported a couple of days ago, where the framework is calling an internal function that seems not to be there. So it's either never loaded (it looks as if it is) or something is treading on it. Or something else completely different.

I am running the nightly build on OSX big sur, log follows:

Using Royale Compiler codebase: /Users/jim.page/Documents/Royale/nightly-mvn/SDKs/js/bin/../..
Using Royale SDK: /Users/jim.page/Documents/Royale/nightly-mvn/SDKs/js/bin/../..
MXMLJSC
+royalelib=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/js/bin/../../frameworks
-sdk-js-lib=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/js/bin/../../frameworks/js/Royale/generated-sources
-source-path
./src/
-compiler.services=src/services-config.xml
-locale=en_US,es_ES
-allow-source-path-overlap=true
-source-path=./src/locale/{locale}
-compiler.fonts.managers=flash.fonts.AFEFontManager
-target-player=32.0.0
-compiler.optimize=false
-define+=config::DEBUG,true
-define+=goog::DEBUG,false
+configname=flex
-compiler.targets=JSRoyale
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/js/libs/royale-typedefs-gcl-0.9.8-SNAPSHOT-typedefs.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Core-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Language-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/HTML-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Basic-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Collections-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Binding-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Graphics-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/MXRoyale-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/DragDrop-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Express-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Effects-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Formatters-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Charts-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Network-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/Reflection-0.9.8-SNAPSHOT-js.swc
-library-path+=/Users/jim.page/Documents/Royale/nightly-mvn/SDKs/frameworks/libs/XML-0.9.8-SNAPSHOT-js.swc
-link-report=./report.xml
-output
bld/index.swf
--
src/i2.mxml
Dec 13, 2020 3:24:40 AM com.google.javascript.jscomp.LoggerErrorManager println
WARNING: /Users/jim.page/Documents/git/flexportal/bin/js-debug/mx/core/UIComponent.js:3357: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
  } else if ((this.mx_core_UIComponent__toolTip == null || this.mx_core_UIComponent__toolTip == "") && this.mx_core_UIComponent__toolTipBead != null) {
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Dec 13, 2020 3:24:40 AM com.google.javascript.jscomp.LoggerErrorManager printSummary
WARNING: 0 error(s), 2 warning(s), 98.2% typed
The project 'i2' has been successfully compiled and optimized.
40.123570103 seconds

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions