static ejsval DIBuilder_impl (ejsval env, ejsval _this, int argc, ejsval *args) { if (EJSVAL_IS_UNDEFINED(_this)) { // called as a function EJS_NOT_IMPLEMENTED(); } else { DIBuilder* dib = ((DIBuilder*)EJSVAL_TO_OBJECT(_this)); REQ_LLVM_MODULE_ARG(0, module); dib->llvm_dibuilder = new llvm::DIBuilder (*module); return _this; } }
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(); }
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; } }
static EJS_NATIVE_FUNC(GlobalVariable_impl) { if (EJSVAL_IS_UNDEFINED(newTarget)) { // called as a function EJS_NOT_IMPLEMENTED(); } else { ejsval O = OrdinaryCreateFromConstructor(newTarget, _ejs_GlobalVariable_prototype, &_ejs_GlobalVariable_specops); *_this = O; GlobalVariable* gv = (GlobalVariable*)EJSVAL_TO_OBJECT(O); REQ_LLVM_MODULE_ARG(0, module); REQ_LLVM_TYPE_ARG(1, type); REQ_UTF8_ARG(2, name); REQ_NULLABLE_LLVM_CONST_ARG(3, init); REQ_BOOL_ARG(4, visible); gv->llvm_global = new ::llvm::GlobalVariable(*module, type, false, visible ? llvm::GlobalValue::ExternalLinkage : llvm::GlobalValue::InternalLinkage, init, name); return *_this; } }