GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — javascript/javascript_instance.cpp at master · godotjs/javascript Expand file tree/ Copy pathjavascript_instance.cppMore file actions 79 lines (68 loc) · 2.36 KB / Copy pathjavascript_instance.cppFile metadata and controls79 lines (68 loc) · 2.36 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 #include "javascript_instance.h" #include "javascript.h" #include "src/language/javascript_language.h" Ref<Script> JavaScriptInstance::get_script() const { return script; } void JavaScriptInstance::get_method_list(List<MethodInfo> *p_list) const { if (!javascript_class) return; for (const KeyValue<StringName, MethodInfo> &i : javascript_class->methods) { p_list->push_back(i.value); } } bool JavaScriptInstance::has_method(const StringName &p_method) const { if (!binder || !javascript_object.javascript_object) return false; return binder->has_method(javascript_object, p_method); } bool JavaScriptInstance::set(const StringName &p_name, const Variant &p_value) { if (!binder || !javascript_object.javascript_object) return false; return binder->set_instance_property(javascript_object, p_name, p_value); } bool JavaScriptInstance::get(const StringName &p_name, Variant &r_ret) const { if (!binder || !javascript_object.javascript_object) return false; return binder->get_instance_property(this->javascript_object, p_name, r_ret); } void JavaScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const { if (!javascript_class) return; for (const KeyValue<StringName, JavaScriptProperyInfo> &i : javascript_class->properties) { p_properties->push_back(i.value); } } Variant::Type JavaScriptInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const { *r_is_valid = false; if (javascript_class) { if (const JavaScriptProperyInfo *pi = javascript_class->properties.getptr(p_name)) { *r_is_valid = true; return pi->type; } } return Variant::NIL; } Variant JavaScriptInstance::callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) { if (binder == NULL || javascript_object.javascript_object == NULL) { r_error.error = Callable::CallError::CALL_ERROR_INSTANCE_IS_NULL; ERR_FAIL_V(Variant()); } if (binder->has_method(javascript_object, p_method)) { return binder->call_method(javascript_object, p_method, p_args, p_argcount, r_error); } return Variant(); } ScriptLanguage *JavaScriptInstance::get_language() { return JavaScriptLanguage::get_singleton(); } JavaScriptInstance::JavaScriptInstance() { owner = NULL; binder = NULL; javascript_class = NULL; } JavaScriptInstance::~JavaScriptInstance() { if (script.is_valid() && owner) { script->instances.erase(owner); } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |