예제 #1
0
        internal void AddValue(QuickJSRefcounted value)
        {
#if NET20
            if (_values.Contains(value))
            {
                return;
            }
#endif
            _values.Add(value);
        }
예제 #2
0
        internal void ReleaseInContextThread(QuickJSRefcounted value)
        {
            if (value is null)
            {
                return;
            }

            lock (_finalizedValues)
            {
                _finalizedValues.Add(value);
            }
        }
예제 #3
0
        private QuickJSValue(QuickJSContext context, JSValue value)
        {
            if (context is null)
            {
                throw new ArgumentOutOfRangeException(nameof(context));
            }
            if (value.Tag != JSTag.Object)
            {
                throw new ArgumentOutOfRangeException(nameof(value));
            }

            _refcounted = new QuickJSRefcounted(context, value);
            context.AddValue(_refcounted);
        }
예제 #4
0
 internal void RemoveValue(QuickJSRefcounted value)
 {
     _values.Remove(value);
 }