public TypeRegister(ScriptRuntime runtime, ScriptContext context) { var ctx = (JSContext)context; _context = context; _atoms = new AtomCache(_context); _db = runtime.GetTypeDB(); }
public TypeRegister(ScriptContext context) { var ctx = (JSContext)context; _context = context; _refCount = 1; _atoms = new AtomCache(_context); _db = context.GetTypeDB(); }
public ScriptContext(ScriptRuntime runtime, int contextId) { _isValid = true; _runtime = runtime; _contextId = contextId; _ctx = JSApi.JS_NewContext(_runtime); JSApi.JS_SetContextOpaque(_ctx, (IntPtr)_contextId); JSApi.JS_AddIntrinsicOperators(_ctx); _atoms = new AtomCache(_ctx); _stringCache = new JSStringCache(_ctx); _moduleCache = JSApi.JS_NewObject(_ctx); _loadedModuleHash = new Dictionary <string, string>(); _globalObject = JSApi.JS_GetGlobalObject(_ctx); _objectConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Object); _numberConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Number); _proxyConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Proxy); _stringConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_String); _functionConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Function); _operatorCreate = JSApi.JS_UNDEFINED; var operators = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Operators); if (!operators.IsNullish()) { if (operators.IsException()) { _ctx.print_exception(); } else { var create = JSApi.JS_GetProperty(_ctx, operators, GetAtom("create")); JSApi.JS_FreeValue(_ctx, operators); if (create.IsException()) { _ctx.print_exception(); } else { if (JSApi.JS_IsFunction(_ctx, create) == 1) { _operatorCreate = create; // Function.prototype[Symbol.operatorSet] = Operators.create(); CreateDefaultOperators(_functionConstructor); } else { JSApi.JS_FreeValue(_ctx, create); } } } } }
public ScriptContext(ScriptRuntime runtime, int contextId) { _isValid = true; _runtime = runtime; _contextId = contextId; _ctx = JSApi.JS_NewContext(_runtime); JSApi.JS_SetContextOpaque(_ctx, (IntPtr)_contextId); JSApi.JS_AddIntrinsicOperators(_ctx); _atoms = new AtomCache(_ctx); _moduleCache = JSApi.JS_NewObject(_ctx); _globalObject = JSApi.JS_GetGlobalObject(_ctx); _numberConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Number); _stringConstructor = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_String); _operatorCreate = JSApi.JS_UNDEFINED; var operators = JSApi.JS_GetProperty(_ctx, _globalObject, JSApi.JS_ATOM_Operators); if (!operators.IsNullish()) { if (operators.IsException()) { _ctx.print_exception(); } else { var create = JSApi.JS_GetProperty(_ctx, operators, GetAtom("create")); JSApi.JS_FreeValue(_ctx, operators); if (create.IsException()) { _ctx.print_exception(); } else { if (JSApi.JS_IsFunction(_ctx, create) == 1) { _operatorCreate = create; } else { JSApi.JS_FreeValue(_ctx, create); } } } } }