Exemplo n.º 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);
 }
Exemplo n.º 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);
        }
Exemplo n.º 3
0
        public void NewAssignmentFromObj()
        {
            var typeStructure = new TypeStructure
            {
                IsArray     = false,
                IsSytemType = false,
                Name        = "Person",
                TypeName    = "PersonType"
            };
            var jsType = new JSClass
            {
                ClassName = "Person"
            };

            var jsCode = ((JSRenderble)DI.Get <IFromObjectAssignmentProperty>(typeStructure, jsType)).GetText();

            Assert.AreEqual(jsCode, "/**\r\n    * @type PersonType\r\n*/\r\nthis.Person = new PersonType();\r\nif (typeof dataObject.Person !== \"undefined\")\r\n{\r\n    this.Person._loadFromObject(dataObject.Person);\r\n}\r\n");
        }
Exemplo n.º 4
0
 static Runtime()
 {
     js_class_definition = new RuntimeClassDefinition();
     js_class            = js_class_definition.CreateClass();
 }