Esempio n. 1
0
        public void Finish()
        {
            SubmitOperators();
            _atoms.Clear();
            var ctx = (JSContext)_context;

            for (int i = 0, count = _pendingTypes.Count; i < count; i++)
            {
                var type  = _pendingTypes[i];
                var proto = _db.GetPrototypeOf(type);
                if (!proto.IsNullish())
                {
                    var baseType    = type.BaseType;
                    var parentProto = _db.FindChainedPrototypeOf(baseType);
                    if (!parentProto.IsNullish())
                    {
                        JSApi.JS_SetPrototype(ctx, proto, parentProto);
                    }
                }
            }

            for (int i = 0, count = _pendingClasses.Count; i < count; i++)
            {
                var clazz = _pendingClasses[i];
                clazz.Close();
            }

            _pendingTypes.Clear();
        }
Esempio n. 2
0
        public void Finish()
        {
            _refCount--;

            if (_refCount == 0)
            {
                _context.ReleaseTypeRegister(this);
#if !JSB_NO_BIGNUM
                SubmitOperators();
#endif
                _atoms.Clear();
                var ctx = (JSContext)_context;

                for (int i = 0, count = _pendingTypes.Count; i < count; i++)
                {
                    var type  = _pendingTypes[i];
                    var proto = _db.GetPrototypeOf(type);
                    if (!proto.IsNullish())
                    {
                        var baseType    = type.BaseType;
                        var parentProto = _db.FindChainedPrototypeOf(baseType);
                        if (!parentProto.IsNullish())
                        {
                            JSApi.JS_SetPrototype(ctx, proto, parentProto);
                        }
                    }
                }

                for (int i = 0, count = _pendingClasses.Count; i < count; i++)
                {
                    var clazz = _pendingClasses[i];
                    clazz.Close();
                }

                _pendingTypes.Clear();
            }
        }