Example #1
0
    static EJS_NATIVE_FUNC(GlobalVariable_prototype_setInitializer) {
        GlobalVariable* global = (GlobalVariable*)EJSVAL_TO_OBJECT(*_this);

        REQ_LLVM_CONST_ARG (0, init);

        global->llvm_global->setInitializer (init);

        return _ejs_undefined;
    }
Handle< ::v8::Value> GlobalVariable::SetInitializer(const Arguments& args)
{
    HandleScope scope;
    GlobalVariable* val = ObjectWrap::Unwrap<GlobalVariable>(args.This());

    REQ_LLVM_CONST_ARG (0, init);

    val->llvm_global->setInitializer(init);
    return scope.Close(Undefined());
}
Example #3
0
    ejsval
    GlobalVariable_prototype_setInitializer(ejsval env, ejsval _this, int argc, ejsval *args)
    {
        GlobalVariable* global = (GlobalVariable*)EJSVAL_TO_OBJECT(_this);

        REQ_LLVM_CONST_ARG (0, init);

        global->llvm_global->setInitializer (init);

        return _ejs_undefined;
    }
Handle< ::v8::Value> GlobalVariable::New(const Arguments& args)
{
    HandleScope scope;
    if (args.Length()) {
        REQ_LLVM_MODULE_ARG(0, module);
        REQ_LLVM_TYPE_ARG(1, type);
        REQ_UTF8_ARG(2, name);
        REQ_LLVM_CONST_ARG(3, init);

        GlobalVariable* val = new GlobalVariable(new ::llvm::GlobalVariable(*module, type, false, llvm::GlobalValue::InternalLinkage, init, *name));

        val->Wrap(args.This());
    }
    return args.This();
}
Example #5
0
    static ejsval
    GlobalVariable_impl (ejsval env, ejsval _this, int argc, ejsval *args)
    {
        if (EJSVAL_IS_UNDEFINED(_this)) {
            // called as a function
            EJS_NOT_IMPLEMENTED();
        }
        else {
            GlobalVariable* gv = (GlobalVariable*)EJSVAL_TO_OBJECT(_this);

            REQ_LLVM_MODULE_ARG(0, module);
            REQ_LLVM_TYPE_ARG(1, type);
            REQ_UTF8_ARG(2, name);
            REQ_LLVM_CONST_ARG(3, init);

            gv->llvm_global = new ::llvm::GlobalVariable(*module, type, false, llvm::GlobalValue::InternalLinkage, init, name);
            free(name); 
            return _this;
        }
    }