distributed objects by reflection since we don't allow clients to create
objects, furthermore we needn't do it asynchronously. The object creation
methods were moved into the server-side only interface and made "immediate", so
the caller creates a derived instance of DObject and registers it with the
system instead of creating it with a Subscriber callback.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4342 542714f4-19e9-0310-aa3c-eee0fc999fb1
that we don't try to access array element .125 at runtime.
The designers of flash need to be suspended over a tank of sharks while
people try to write a program in actionscript to reel them in. I bet half
the time it compiles into something that just lets those ropes go.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4334 542714f4-19e9-0310-aa3c-eee0fc999fb1
compiler never wanted to tell me about.
- I was trying to store read values into the streamer itself, referecing
it as "this[ii]". This turns out to be legal, even though the class is
sealed, because you can access public fields using the [] operator with
a string argument. At runtime, ii == 0, it got Stringdafied to "0" and
then a field called "0" was looked up on the class and oh no, it didn't
exist.
- Worse, I had a line that referenced "length" instead of "arr.length".
There is no length defined in the class, nor is there one in the superclass.
It turns out the base class Object has an undocumented constant called
length that seems to always be 0. Isn't that special?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4333 542714f4-19e9-0310-aa3c-eee0fc999fb1
(And found a faster way to compare the classes of two objects.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4321 542714f4-19e9-0310-aa3c-eee0fc999fb1
The default behavior of an event is determined by the entity that calls
into the event dispatcher, so the solution was to unify the dispatch of
these events. Created a utility method in CommandEvent to do that, and
did some singlton-like hackery on the constructor to prevent folks from
thinking they can just dispatch these themselves and have it work correctly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4317 542714f4-19e9-0310-aa3c-eee0fc999fb1
to cast something, it's all OK. Luckily I spelled everything correctly,
but lets change it so that the compiler can help us check things.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4314 542714f4-19e9-0310-aa3c-eee0fc999fb1
was passing in the args as the 'this').
I made the last checkin after compiling to make sure everything was right,
but I forget that compiling doesn't check much in actionscript.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4308 542714f4-19e9-0310-aa3c-eee0fc999fb1
args from one varargs method to another, so that the varargs array from
the outer method is not packaged up as one arg to the inner method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4307 542714f4-19e9-0310-aa3c-eee0fc999fb1
importing anything: Log.testing("bla bla bla");
trace() is global too, but that goes directly to the debugger, not to the
Log system, so we can't see trace() statements in the firebug console,
for example.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4306 542714f4-19e9-0310-aa3c-eee0fc999fb1
otherwise we'll just get the name. I'm killing StringUtil.getMessage().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4304 542714f4-19e9-0310-aa3c-eee0fc999fb1
may already be the case that the normalize() method returned the same
String, but if not, ensure that we're only holding on to one of those Strings.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4297 542714f4-19e9-0310-aa3c-eee0fc999fb1
Also, while I was in there, added some safety so we don't lose track of shutdownIntervals and let them run amuck.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4295 542714f4-19e9-0310-aa3c-eee0fc999fb1