public JavaScriptConverter(JavaScriptEngine engine) { engine_ = engine.engineWeakReference; api_ = engine.Api; projectionTypes_ = new Dictionary <Type, JavaScriptProjection>(); eventMarshallers_ = new Dictionary <Type, Expression>(); }
public JavaScriptConverter(JavaScriptEngine engine) { engine_ = new WeakReference<JavaScriptEngine>(engine); api_ = engine.Api; projectionTypes_ = new Dictionary<Type, JavaScriptProjection>(); eventMarshallers_ = new Dictionary<Type, Expression>(); }
internal JavaScriptValue(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) { Debug.Assert(handle != null); Debug.Assert(engine != null); Debug.Assert(Enum.IsDefined(typeof(JavaScriptValueType), type)); handle.SetEngine(engine); api_ = engine.Api; uint count; Errors.ThrowIfIs(api_.JsAddRef(handle.DangerousGetHandle(), out count)); handle_ = handle; type_ = type; engine_ = new WeakReference<JavaScriptEngine>(engine); }
internal JavaScriptEngine(JavaScriptEngineSafeHandle handle, JavaScriptRuntime runtime, ChakraApi api) { Debug.Assert(handle != null); Debug.Assert(runtime != null); Debug.Assert(api != null); api_ = api; handle_ = handle; runtime_ = new WeakReference <JavaScriptRuntime>(runtime); converter_ = new JavaScriptConverter(this); nativeFunctionThunks_ = new List <NativeFunctionThunkData>(); externalObjects_ = new HashSet <ExternalObjectThunkData>(); handlesToRelease_ = new List <IntPtr>(); handleReleaseLock_ = new object(); }
internal JavaScriptEngine(JavaScriptEngineSafeHandle handle, JavaScriptRuntime runtime, ChakraApi api) { Debug.Assert(handle != null); Debug.Assert(runtime != null); Debug.Assert(api != null); api_ = api; handle_ = handle; runtime_ = new WeakReference<JavaScriptRuntime>(runtime); converter_ = new JavaScriptConverter(this); nativeFunctionThunks_ = new List<NativeFunctionThunkData>(); externalObjects_ = new HashSet<ExternalObjectThunkData>(); handlesToRelease_ = new List<IntPtr>(); handleReleaseLock_ = new object(); }
internal JavaScriptValue(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) { Debug.Assert(handle != null); Debug.Assert(engine != null); Debug.Assert(type >= 0 && type <= JavaScriptValueType.DataView); handle.SetEngine(engine); api_ = engine.Api; uint count; Errors.ThrowIfIs(api_.JsAddRef(handle.DangerousGetHandle(), out count)); handle_ = handle; type_ = type; engine_ = engine.engineWeakReference; }
internal JavaScriptValue(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) { Debug.Assert(handle != null); Debug.Assert(engine != null); Debug.Assert(Enum.IsDefined(typeof(JavaScriptValueType), type)); handle.SetEngine(engine); api_ = engine.Api; uint count; Errors.ThrowIfIs(api_.JsAddRef(handle.DangerousGetHandle(), out count)); handle_ = handle; type_ = type; engine_ = new WeakReference <JavaScriptEngine>(engine); }
internal JavaScriptEngine(JavaScriptEngineSafeHandle handle, JavaScriptRuntime runtime, ChakraApi api) { Debug.Assert(handle != null); Debug.Assert(runtime != null); Debug.Assert(api != null); api_ = api; handle_ = handle; runtime_ = new WeakReference <JavaScriptRuntime>(runtime); converter_ = new JavaScriptConverter(this); nativeFunctionThunks_ = new List <NativeFunctionThunkData>(); externalObjects_ = new HashSet <ExternalObjectThunkData>(); handlesToRelease_ = new List <IntPtr>(); handleReleaseLock_ = new object(); ClaimContextPrivate(); JavaScriptValueSafeHandle global; Errors.ThrowIfIs(api_.JsGetGlobalObject(out global)); global_ = CreateObjectFromHandle(global); JavaScriptValueSafeHandle undef; Errors.ThrowIfIs(api_.JsGetUndefinedValue(out undef)); undefined_ = CreateValueFromHandle(undef); JavaScriptValueSafeHandle @null; Errors.ThrowIfIs(api_.JsGetNullValue(out @null)); null_ = CreateObjectFromHandle(@null); JavaScriptValueSafeHandle @true; Errors.ThrowIfIs(api_.JsGetTrueValue(out @true)); true_ = CreateValueFromHandle(@true); JavaScriptValueSafeHandle @false; Errors.ThrowIfIs(api_.JsGetFalseValue(out @false)); false_ = CreateValueFromHandle(@false); ReleaseContextPrivate(); }
public JavaScriptConverter(JavaScriptEngine engine) { engine_ = new WeakReference <JavaScriptEngine>(engine); api_ = engine.Api; }
public JavaScriptConverter(JavaScriptEngine engine) { engine_ = new WeakReference<JavaScriptEngine>(engine); api_ = engine.Api; }