Пример #1
0
 public JSCustomClass(JSContextPtr context, string name, JSHandleObject globalObject)
 {
     Context         = context;
     ClassDefinition = new JSClass(name);
     ClassPtr        = new JSClassPtr(ClassDefinition, out ClassPin);
     GlobalObject    = globalObject;
     SetConstructor(DefaultConstructor);
 }
Пример #2
0
        static JSGlobalObject()
        {
            DefaultClassDefinition = new JSClass(
                "global", JSClassFlags.GLOBAL_FLAGS | JSClassFlags.NEW_RESOLVE
                );

            // HACK: Lazy standard classes
            // DefaultClassDefinition.enumerate = (JSEnumerateOp)global_enumerate;
            // DefaultClassDefinition.resolve = (JSNewResolveOp)global_resolve;

            // We have to pin our JSClass (so everything it points to is retained)
            //  and marshal it into a manually-allocated buffer that doesn't expire.
            // JSClass buffer needs to live as long as the global object, or longer.
            DefaultClass = new JSClassPtr(DefaultClassDefinition, out DefaultClassHandle);
        }