94944213 |
window.devtoolsFormatters = [
{
header(obj) {
if (obj instanceof StandardMethod) {
console.log('........................................')
const method = obj;
return ["div", {}, `#<StandardMethod ${method.qualifiers.map(x => ':'+x.toString().slice(7,-1)).join(' ')} (${method.specializers.map(x => x.name.toString())})>`];
}
return null;
},
hasBody() { return false; }
},
{
header(obj, config) {
if (config && config.genfunFormatter) {
return ["div", {}, config.key];
} else if (! (obj.gf || obj instanceof GenericFunction) ) {
return null;
} else if (obj.gf) {
const args = obj.gf.lambda_list.join(', ');
const method_count = obj.gf.methods.length
return [
'div', {},
`GenericFunction lambda: ${obj.gf.name}(${args}) `
+ `[${method_count} methods]`
];
} else {
const args = obj.lambda_list.join(', ');
const method_count = obj.methods.length
return [
'div', {},
`#<GenericFunction: ${obj.name}(${args}) [${method_count} methods]>`
];
}
},
hasBody(obj) {return obj instanceof GenericFunction || obj instanceof StandardMethod;},
body(obj, config) {
if (! (obj instanceof GenericFunction || obj instanceof StandardMethod) ) {
return null;
} else if ( obj instanceof StandardMethod ) {
return ["div", {style: 'margin-left: 2em'}].concat(
Object.keys(obj).map(
key => {
if (obj[key] instanceof String) {
return ["div", {}, `${key}: ${obj[key]},`];
} else {
return ["div", {}, `${key}: `, ["object", {object: obj[key]}], ','];
}
}
)
);
}
const children = obj.methods.map(
(method,idx) => {
const child = [
"object", {
object: method,
config: {
genfunFormatter: true,
key: `#<StandardMethod ${method.qualifiers.map(x => ':'+x.toString().slice(7,-1)).join(' ')} (${method.specializers.map(x => x.name.toString())})>`,
},
},
];
return ["div", {style: `margin-left: 2em;`},
child]
}
);
return ["div", {}].concat(children);
}
}
];
|