зеркало из https://github.com/mozilla/pluotsorbet.git
add PrintStream and StringBuilder
This commit is contained in:
Родитель
01f95592c7
Коммит
896bb5b715
|
@ -85,7 +85,6 @@ Classes.prototype.loadJSFile = function(fileName) {
|
|||
var fun = new Function("module", "require", "util", util.decodeUtf8(bytes));
|
||||
var module = {};
|
||||
function require(className) {
|
||||
console.log("className=" + className);
|
||||
return self.getClass(className);
|
||||
}
|
||||
fun(module, require, util);
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* vim: set shiftwidth=4 tabstop=4 autoindent cindent expandtab: */
|
||||
|
||||
'use strict';
|
||||
|
||||
var PrintStream = module.exports = function() {
|
||||
if (this instanceof PrintStream) {
|
||||
} else {
|
||||
return new PrintStream();
|
||||
}
|
||||
};
|
||||
|
||||
PrintStream.getClassName = function() {
|
||||
return "java/io/PrintStream";
|
||||
}
|
||||
|
||||
PrintStream.prototype.print = function() {
|
||||
util.print.apply(null, arguments);
|
||||
};
|
||||
|
||||
PrintStream.prototype.println = function() {
|
||||
util.print.apply(null, arguments);
|
||||
util.print("\n");
|
||||
};
|
||||
|
||||
PrintStream.prototype.format = function(fmt, args) {
|
||||
util.print(util.format.apply(null, [fmt].concat(args)));
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* vim: set shiftwidth=4 tabstop=4 autoindent cindent expandtab: */
|
||||
|
||||
'use strict';
|
||||
|
||||
var Object = require("java/lang/Object.js");
|
||||
|
||||
var StringBuilder = module.exports = function(p) {
|
||||
if (this instanceof StringBuilder) {
|
||||
if (typeof p === "number") {
|
||||
this._buf = new Array(p).join(' ');
|
||||
} else {
|
||||
this._buf = p || "";
|
||||
}
|
||||
} else {
|
||||
return new StringBuilder(p);
|
||||
}
|
||||
}
|
||||
|
||||
util.inherits(StringBuilder, Object);
|
||||
|
||||
StringBuilder.getClassName = function() {
|
||||
return "java/lang/StringBuilder";
|
||||
}
|
||||
|
||||
|
||||
StringBuilder.prototype["<init>"] = function() {
|
||||
for(var i=0; i<arguments.length; i++) {
|
||||
this._buf += arguments[i].toString();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
StringBuilder.prototype["append"] = function() {
|
||||
for(var i=0; i<arguments.length; i++) {
|
||||
this._buf += arguments[i].toString();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
StringBuilder.prototype["toString"] = function() {
|
||||
return this._buf.toString();
|
||||
}
|
1
util.js
1
util.js
|
@ -71,6 +71,7 @@ var util = (function () {
|
|||
return {
|
||||
format: format,
|
||||
inherits: inherits,
|
||||
print: console.log.bind(console),
|
||||
debug: console.info.bind(console),
|
||||
error: console.error.bind(console),
|
||||
info: console.info.bind(console),
|
||||
|
|
Загрузка…
Ссылка в новой задаче