This might be a good candidate for getting the static initialization code
block working (it is currently not in js).
We discussed that recently in another thread.
public class MyClass{
{//static init block
COMPILE::JS{
Object.defineProperty(MyClass.prototype,"0",
{
"get": function(){return this},
"set": function(){},
enumerable: true,
configurable: true
}
);
}
}
public function MyClass (){
}
}
On Tue, Dec 10, 2019 at 6:00 AM Alex Harui <[email protected]> wrote:
> Did you try:
>
> function get 0():XML { return this; }
> function set 0(value:XML) {}
>
> Within a COMPILE::JS, I think the variables:
>
> this["constructor"]
> this["__proto__"]
>
> are available.
>
> HTH,
> -Alex
>
> On 12/9/19, 8:27 AM, "Harbs" <[email protected]> wrote:
>
> In my question to minimize memory requirements in XML, I’d like to
> optimize the zero index accessor.
>
> Right now, we have Object.defineProperty in the XML constructor. The
> byproduct of that is we have a function defined on every single instance of
> XML. Ideally that should be on the prototype object. This should
> drastically reduce the memory requirements for instantiating XML.
>
> In JS, that’s pretty easy to do:
>
> Object.defineProperty(thePrototype,"0",
> {
> "get": function(){return this},
> "set": function(){},
> enumerable: true,
> configurable: true
> }
> );
>
> I’m struggling with how to do it in AS3. How can we get a reference to
> the prototype outside the constructor or have the compiler construct this
> kind of function automatically?
>
> Thoughts?
> Harbs
>
>