Hi,
Well Frank, after much headache and a little research, I managed to
get the prototype of 'AS3.bind()' replacement in this production.
Basically, I have now verbatim your class A, which basically means we
are rolling for classes! Obviously interfaces will be very simple.
The only thing that is not in this production is native references
which I can get, I made an enum of your classes you use. And I have to
run through the nodes in the Type scope to get that static trace
statement which I know I can do.
So those are the two thing I know need to be finished, please look
through this code and see if you notice anything wrong with it.
Mike
PS you know we then have the little things like for, catch, stuff I
can abstract into the base JSEmitter. But this is a good start.
define(["exports", "runtime/AS3", "classes/com/acme/I"],
function($exports, AS3, I) {
"use strict";
AS3.compilationUnit($exports, function($primaryDeclaration){
function A(msg) {
this.msg = msg;
}
$primaryDeclaration(AS3.class_({
package_: "com.acme",
class_: "A",
implements_: [
I
],
members: {
constructor: A,
_msg$1:{
value:0,
writable:true
},
msg: {
get: function msg$get() {
return String(this._msg$1);
},
set: function msg$set(value) {
this._msg$1 = parseInt(value,
10);
}
},
secret$1: function secret(n) {
return this.msg + n;
},
foo: function foo(x) {
return this.secret$1(A.bar(x));
},
baz: function baz() {
var tmp = AS3.bind(this, "secret$1");
return tmp("-bound");
},
staticMembers: {
bar: function bar(x) {
return x + 1;
}
}
}
}));
});
});
Quoting Frank Wienberg <fr...@jangaroo.net>:
Mike, this is really amazing! Or "just art", as you called it in a tweet.
It you continue at this pace, we'll have the Open Flash Chart demo up and
running in FalconJx by the end of next week!
Excited,
-Frank-
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com