     public var sRef :References = new References();
     public var tRef :References = new References();
 
-    public function EncodingContext (bytes :ByteArray)
+    public function Context (bytes :ByteArray)
     {
         this.bytes = bytes;
     }

            }
            // if so, just stream them out
            encodeString(String(prop));
            encodeValue(context, arr[prop]);
        }
        encodeString("");

        // finally send the dense values
        for (var ii :int = 0; ii < denseEnd; ii ++) {
            encodeValue(context, arr[ii]);
        }

        context.oRef.table[value] = context.oRef.ix ++;
    }

    private static function encodeObject (context :Context, object :Object) :void
    {
        if (context.oRef.table[object] !== undefined) {
            encodeInteger(context.oRef.table[object] << 1);
            return;
        }

        // enumerate the sealed types
        var vars :Array = Domain.currentDomain.getVariables(type);
        for (var ii :int = 0; ii < vars.length; ii ++) {
            varSet[vars[ii]] = true;
        }

        // then whatever's left, if anything, is dynamic
        for (var prop :String in type) {
            if (varSet[prop] === undefined) {
                dynVars.push(prop);
            }

package {

import avmplus.*;
import flash.utils.getQualifiedClassName;
import flash.utils.ByteArray;
import flash.utils.Dictionary;

/**
 * Partial AMF3 encoder, based on
