X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/e56c24995a0c0ffaed5b6769a2bead83ced2de03..447b698cea96010d0850e056348ef6cd085b96d9:/libcycript.cy?ds=inline diff --git a/libcycript.cy b/libcycript.cy index 578f924..6f798ea 100644 --- a/libcycript.cy +++ b/libcycript.cy @@ -1,5 +1,5 @@ -/* Cycript - Optimizing JavaScript Compiler/Runtime - * Copyright (C) 2009-2015 Jay Freeman (saurik) +/* Cycript - The Truly Universal Scripting Language + * Copyright (C) 2009-2016 Jay Freeman (saurik) */ /* GNU Affero General Public License, Version 3 {{{ */ @@ -86,53 +86,57 @@ $cy_set(RegExp.prototype, { if ("Java" in Cycript) { $cy_set(java.lang.Boolean.prototype, { toCYON: function() { - return `new java.lang.Boolean(${this.value})`; + return `new java.lang.Boolean(${this->value})`; }, }); $cy_set(java.lang.Byte.prototype, { toCYON: function() { - return `new java.lang.Byte(${this.value})`; + return `new java.lang.Byte(${this->value})`; }, }); $cy_set(java.lang.Character.prototype, { toCYON: function() { - return `new java.lang.Character(${this.value})`; + return `new java.lang.Character(${this->value})`; }, }); $cy_set(java.lang.Short.prototype, { toCYON: function() { - return `new java.lang.Short(${this.value})`; + return `new java.lang.Short(${this->value})`; }, }); $cy_set(java.lang.Integer.prototype, { toCYON: function() { - return `new java.lang.Integer(${this.value})`; + return `new java.lang.Integer(${this->value})`; }, }); $cy_set(java.lang.Long.prototype, { toCYON: function() { - return `new java.lang.Long(${this.value})`; + return `new java.lang.Long(${this->value})`; }, }); $cy_set(java.lang.Float.prototype, { toCYON: function() { - return `new java.lang.Float(${this.value})`; + return `new java.lang.Float(${this->value})`; }, }); $cy_set(java.lang.Double.prototype, { toCYON: function() { - return `new java.lang.Double(${this.value})`; + return `new java.lang.Double(${this->value})`; }, }); $cy_set(java.lang.Object.prototype, { + toCYON: function(key) { + return "#" + this.toString().toCYON(); + }, + // XXX: due to lack of interface prototypes :( $cyg: function(key) { return this.get(key); @@ -393,6 +397,11 @@ for (let i = 0; environ[i] != null; ++i) { process.env[name.toString()] = value; } +process.cwd = function() { + let cwd = new (typedef char[1024]); + return getcwd(cwd, cwd.length).toString(); +}; + process.pid = getpid(); })();