Lively Kernel canvas
* MIT license
*
* Includes enhancements by Scott Trenda
* and Kris Kowal
*
* Accepts a date, a mask, or a date and a mask.
* Returns a formatted version of the given date.]]> 99 ? Math.round(L / 10) : L),
t: H < 12 ? "a" : "p",
tt: H < 12 ? "am" : "pm",
T: H < 12 ? "A" : "P",
TT: H < 12 ? "AM" : "PM",
Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};
return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
});
};
}();
// Some common format strings
dateFormat.masks = {
"default": "ddd mmm dd yyyy HH:MM:ss",
shortDate: "m/d/yy",
mediumDate: "mmm d, yyyy",
longDate: "mmmm d, yyyy",
fullDate: "dddd, mmmm d, yyyy",
shortTime: "h:MM TT",
mediumTime: "h:MM:ss TT",
longTime: "h:MM:ss TT Z",
isoDate: "yyyy-mm-dd",
isoTime: "HH:MM:ss",
isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};
// Internationalization strings
dateFormat.i18n = {
dayNames: [
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
],
monthNames: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
]
};
// For convenience...
Date.prototype.format = function (mask, utc) {
return dateFormat(this, mask, utc);
};]]>>%s but super method non existing in %s',
className, m, ancestor.constructor.type));
return method.apply(this, arguments);
};
})(property);
advice.methodName = "$super:" + (this.superclass ? this.superclass.type + "." : "") + property;
value = Object.extend(advice.wrap(method), {
valueOf: function() { return method },
toString: function() { return method.toString() },
originalFunction: method
});
})();
}
if (Object.isFunction(value)) {
}
this.prototype[property] = value;
if (property === "formals") { // rk FIXME remove this cruft
// special property (used to be pins, but now called formals to disambiguate old and new style
Class.addPins(this, value);
} else if (Object.isFunction(value)) {
// remember name for profiling in WebKit
value.displayName = className + "$" + property;
for ( ; value; value = value.originalFunction) {
if (value.methodName) {
//console.log("class " + this.prototype.constructor.type
// + " borrowed " + value.qualifiedMethodName());
}
value.declaredClass = this.prototype.constructor.type;
value.methodName = property;
}
}
} // end of for (var property in source)
return this;
},
})]]>
Draft40true
NaN
NaN
NaN
ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413441:FilterableListMorph([[1.0000072717666626,1.0000007152557373,299.7724914550781,242.47500610351562]])Warn:unexpected:#<Relay{{"List":"-Pane2Content","Selection":"Pane2Selection","Menu":"-Pane2Menu"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])ERRORSerializingiteminarrayitemListof413453:FilterableListMorph([[1.0004853010177612,1.0000007152557373,299.7724914550781,242.47500610351562]])Warn:unexpected:#<Relay{{"List":"-Pane3Content","Selection":"Pane3Selection","Menu":"-Pane3Menu"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>Warn:unexpected:#<Relay{{"Text":"SourceString"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>Warn:unexpected:#<Relay{{"SourceString":"SourceString","StatusMessage":"StatusMessage","RootFilters":"RootFilters","Pane1Content":"Pane1Content","Pane1Selection":"Pane1Selection","Pane1Menu":"Pane1Menu","Pane1Filters":"Pane1Filters","Pane2Content":"Pane2Content","Pane2Selection":"Pane2Selection","Pane2Menu":"Pane2Menu","Pane2Filters":"Pane2Filters"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>ERRORSerializingiteminarraybuttonCommandsof#<lively.ide.LocalCodeBrowser:[objectSVGElement]>ERRORSerializingiteminarraybuttonCommandsof#<lively.ide.LocalCodeBrowser:[objectSVGElement]>ERRORSerializingiteminarraybuttonCommandsof#<lively.ide.LocalCodeBrowser:[objectSVGElement]>ERRORSerializingiteminarraybuttonCommandsof#<lively.ide.LocalCodeBrowser:[objectSVGElement]>ERRORSerializingiteminarraybuttonCommandsof#<lively.ide.LocalCodeBrowser:[objectSVGElement]>ERRORSerializingiteminarrayitemListof413972:FilterableListMorph([[1,1,295,218]])ERRORSerializingiteminarrayitemListof413972:FilterableListMorph([[1,1,295,218]])ERRORSerializingiteminarrayitemListof413972:FilterableListMorph([[1,1,295,218]])ERRORSerializingiteminarrayitemListof413972:FilterableListMorph([[1,1,295,218]])ERRORSerializingiteminarrayitemListof413972:FilterableListMorph([[1,1,295,218]])Warn:unexpected:#<Relay{{"List":"-Pane1Content","Selection":"Pane1Selection","Menu":"-Pane1Menu"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>Warn:unexpected:#<Relay{{"List":"-Pane2Content","Selection":"Pane2Selection","Menu":"-Pane2Menu"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>Warn:unexpected:#<Relay{{"Text":"SourceString"}}>sdelegateis#<Record{{"Pane1Content":{},"Pane1Selection":{},"Pane1Menu":{},"Pane1Filters":{},"Pane2Content":{},"Pane2Selection":{},"Pane2Menu":{},"Pane2Filters":{},"Pane3Content":{},"Pane3Selection":{},"Pane3Menu":{},"Pane3Filters":{},"SourceString":{},"StatusMessage":{},"RootFilters":{}}}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>wha',norawnodeon#<ModelPlug{setValue:action,setIsActive:setIsActive,getIsActive:getIsActive}>955
45nullnulltrue0falsefalsetruetruefalse
false1truefalse
nullfalse
nullfalse
nullfalse
nullfalsefalsetruetruefalse
truetrue100truefalse
truefalsenull050"]]]>
nullfalsetruenullfalse
Consolefalsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
nullfalsetruenullfalse
CDB.js:CDB.RevisionHistoryfalsenullfalse
false
false
falsenullfalse
http://www.lively-kernel.org/repository/webwerkstatt/projects/CodeDB/truetruetruetruetrue
truetrue
1truetruetrue
codebasefalsenullfalsetrue
localfalsenullfalsetrue
CDB.jsfalsetruefalse0false
Localcodefalsetruefalse0false
stacktrace.js(notparsed)falsetruefalse0false269.804992675781250nullnulltruetruetrue
1true
null
null
null
nulltruetrue
CDB.Loggerfalsetruefalse0false
CDB.Repositoryfalsetruefalse0false
CDB.Exceptionfalsetruefalse0false
CDB.DatabaseExceptionfalsetruefalse0false
CDB.IllegalArgumentExceptionfalsetruefalse0false
CDB.ConsistencyExceptionfalsetruefalse0false
CDB.Revisionfalsetruefalse0false
CDB.RevisionHistoryfalsetruefalse0false
CDB.CodeObjectfalsetruefalse0false
CDB.CodeObject.Revisionfalsetruefalse0false
CDB.Modulefalsetruefalse0false
CDB.Klassfalsetruefalse0false
CDB.Methodfalsetruefalse0false
CDB.ChangeSetfalsetruefalse0false
CDB.ChangeSet.Revisionfalsetruefalse0false314.77249145507817nullnulltruetruetrue
1true
null
null
null
nulltruetrue
currentRevision(proto)falsetruefalse0false
revisions(proto)falsetruefalse0false
documentObject(proto)falsetruefalse0false
initialize(proto)falsetruefalse0false
initializeFromDocument(proto)falsetruefalse0false
addRevision(proto)falsetruefalse0false
getWritableDocumentObject(proto)falsetruefalse0false314.7724914550781-1nullnullnulltruetruetrue
1true
null
null
null
nulltruetrue
20null
Object.subclass("CDB.RevisionHistory",CDB.Logger.prototype,{/**************************************************PublicProperties**************************************************///readonly:currentrevisioncurrentRevision:null,//readonly:allrevisionsrevisions:[],/**************************************************PrivateProperties**************************************************///CouchDBdocumentdocumentObject:null,/**************************************************PublicFunctions**************************************************/initialize:function(){this.revisions=[];this.currentRevision=null;this.documentObject=null;},initializeFromDocument:function(dbObj,revClass){if(dbObj.currentRevision==undefined||typeof(dbObj.currentRevision)!='number'||!dbObj.revisionHistory||!dbObj.revisionHistoryinstanceofArray){thrownewCDB.DatabaseException('invalidrevisionhistory');}if(!revClass.isSubclassOf||!revClass.isSubclassOfinstanceofFunction||!revClass.isSubclassOf(CDB.Revision)){thrownewCDB.IllegalArgumentException('providedclassdoesnotinheritfromCDB.Revision');}this.documentObject=dbObj;for(varidx=0;idx<dbObj.revisionHistory.length;idx++){varrev=newrevClass();rev.initializeFromDocument(dbObj.revisionHistory[idx]);this.revisions.push(rev);}if(dbObj.currentRevision>0&&!this.revisions[dbObj.currentRevision-1]){thrownewCDB.DatabaseException('inconsistentrevisionhistory');}elseif(dbObj.currentRevision>0){this.currentRevision=this.revisions[dbObj.currentRevision-1];}},addRevision:function(rev){if(this.currentRevision!=null&&(this.currentRevision.number+1)!=rev.number){thrownewCDB.IllegalArgumentException('Revisionnumbershavetobeincreasingandsteady');}this.revisions.push(rev);this.currentRevision=rev;},getWritableDocumentObject:function(docName){if(this.documentObject!=null){this.documentObject._id=docName;this.documentObject.currentRevision=this.currentRevision.number;this.documentObject.revisionHistory.push(this.currentRevision.getWritableDocumentObject());returnthis.documentObject;}else{vardocObj={};docObj._id=docName;docObj.revisionHistory=[];docObj.currentRevision=this.currentRevision.number;for(varidx=0;idx<this.revisions.length;idx++){docObj.revisionHistory.push(this.revisions[idx].getWritableDocumentObject());}returndocObj;}}}); 0 && !this.revisions[dbObj.currentRevision - 1]) {\n\t\t\tthrow new CDB.DatabaseException('inconsistent revision history');\n\t\t} else if (dbObj.currentRevision > 0) {\n\t\t\tthis.currentRevision = this.revisions[dbObj.currentRevision - 1];\n\t\t}\n\t},\n\n\taddRevision: function(rev) {\n\n\t\tif (this.currentRevision != null && (this.currentRevision.number + 1) != rev.number) {\n\t\t\tthrow new CDB.IllegalArgumentException('Revision numbers have to be increasing and steady');\n\t\t}\n\n\t\tthis.revisions.push(rev);\n\t\tthis.currentRevision = rev;\n\t},\n\n\tgetWritableDocumentObject: function(docName) {\n\n\t\tif (this.documentObject != null) {\n\n\t\t\tthis.documentObject._id = docName;\n\t\t\tthis.documentObject.currentRevision = this.currentRevision.number;\n\t\t\tthis.documentObject.revisionHistory.push(this.currentRevision.getWritableDocumentObject());\n\t\n\t\t\treturn this.documentObject;\n\n\t\t} else {\n\t\t\n\t\t\tvar docObj = {};\n\n\t\t\tdocObj._id = docName;\n\t\t\tdocObj.revisionHistory = [];\n\t\t\tdocObj.currentRevision = this.currentRevision.number;\n\n\t\t\tfor (var idx = 0; idx < this.revisions.length; idx++) {\n\t\t\t\tdocObj.revisionHistory.push(this.revisions[idx].getWritableDocumentObject());\n\t\t\t}\n\n\t\t\treturn docObj;\n\t\t}\n\t}\n\t\n});\n"]]>96truetrue2000000 0 && !this.revisions[dbObj.currentRevision - 1]) {\n\t\t\tthrow new CDB.DatabaseException('inconsistent revision history');\n\t\t} else if (dbObj.currentRevision > 0) {\n\t\t\tthis.currentRevision = this.revisions[dbObj.currentRevision - 1];\n\t\t}\n\t},\n\n\taddRevision: function(rev) {\n\n\t\tif (this.currentRevision != null && (this.currentRevision.number + 1) != rev.number) {\n\t\t\tthrow new CDB.IllegalArgumentException('Revision numbers have to be increasing and steady');\n\t\t}\n\n\t\tthis.revisions.push(rev);\n\t\tthis.currentRevision = rev;\n\t},\n\n\tgetWritableDocumentObject: function(docName) {\n\n\t\tif (this.documentObject != null) {\n\n\t\t\tthis.documentObject._id = docName;\n\t\t\tthis.documentObject.currentRevision = this.currentRevision.number;\n\t\t\tthis.documentObject.revisionHistory.push(this.currentRevision.getWritableDocumentObject());\n\t\n\t\t\treturn this.documentObject;\n\n\t\t} else {\n\t\t\n\t\t\tvar docObj = {};\n\n\t\t\tdocObj._id = docName;\n\t\t\tdocObj.revisionHistory = [];\n\t\t\tdocObj.currentRevision = this.currentRevision.number;\n\n\t\t\tfor (var idx = 0; idx < this.revisions.length; idx++) {\n\t\t\t\tdocObj.revisionHistory.push(this.revisions[idx].getWritableDocumentObject());\n\t\t\t}\n\n\t\t\treturn docObj;\n\t\t}\n\t}\n\t\n});\n"]]>truetrue
1truetruetrue
20null
truetruetruetrue
1truetruetrue
Addmodulefalsenullfalsetrue
Loadallfalsenullfalsetrue
LineNofalsenullfalsetrue
Refreshfalsenullfalsetrue
Evalonfalsenullfalsetrue
Sortfalsenullfalsetrue
Viewas...falsenullfalse
truetrue
falsenullnullnullnullfalse
rep=newCDB.Repository();h=rep.getRevisionHistory();mod=rep.getCodeObject(CDB.Module,"MyModule");rev=mod.getLatestRevision();rev=mod.getRevision(23);h=mod.getRevisionHistory();cls=rep.getCodeObject(CDB.Class,"MyModule","MyClass");cls=mod.getClass("MyClass");cs=rep.createChangeSet();cs.add(cls);cls.update("//mynewclasscontent");cs.commit();
nulltruetruetruefalse15truetruefalse
false1truefalsetruetruefalse
nullfalsetruenullfalse
falsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
nulltruetry{varrep=newCDB.Repository();varcs=rep.createChangeSet();varmod=newCDB.Module('TestModule');mod.documentation='Thisisamodulefortestingpurposes.';varcls=newCDB.Klass('TestClass');cls.documentation='Hereistheclasssummary.';mod.addClass(cls);varmeth=newCDB.Method('doSomething');meth.documentation='Thismethoddoessomething.';meth.source='function(myarg){\n\talert(myarg);\n}';cls.addMethod(meth);cs.add(mod);cs.add(cls);cs.add(meth);cs.commit();}catch(ex){throwex.message}25truetruefalsetruetruefalse
false1truefalsetruetruefalse
nullfalsetruenullfalse
falsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
nulltruecreateLayer("CDBExtensionLayer")layerClass(CDBExtensionLayer,lively.ide.CompleteFileFragmentNode,{evalSource:function(proceed,newSource){try{eval(newSource);}catch(er){console.log("Errorevaluatingfile:"+er);throw(er);}console.log("Successfullyevaluatedfile")returnproceed(newSource)}})enableLayer(CDBExtensionLayer);truetruefalse17truetruefalse
false1truefalsetruetruefalse
nullfalsetruenullfalse
falsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
10007.653538905725299Wikicontroltrue
localrequirements[doit]falsetruefalse0false
initializer[doit]falsetruefalse0false
JournalEntryMorph[class]falsetruefalse0false
dateformat[doit]falsetruefalse0false
aDoit[doit]falsetruefalse0false3104nullnulltruefalsefalsenullnulltruetruefalse
false1truefalse
nullfalse
nullfalse
nullfalse
nullfalsefalsetruetruefalse
-----falsetruefalse0false310
-1nullnullnulltruefalsetruetruefalse
false1truefalse
nullfalse
nullfalse
nullfalse
nullfalsefalsetruetruefalse
20nullfalse
Object.extend(Function.prototype,{addMethods:function(source){//copyallthemethodsandpropertiesfrom{source}intothe//prototypepropertyofthereceiver,whichisintendedtobe//aclassconstructor.Methodargumentsnamed'$super'aretreated//specially,seePrototype.jsdocumentationfor"Class.create()"fordetails.//derivedfromClass.Methods.addMethods()inprototype.jsvarancestor=this.superclass&&this.superclass.prototype;varclassName=this.type||"Anonymous";for(varpropertyinsource){if(property=='constructor')continue;vargetter=source.__lookupGetter__(property);if(getter)this.prototype.__defineGetter__(property,getter);varsetter=source.__lookupSetter__(property);if(setter)this.prototype.__defineSetter__(property,setter);if(getter||setter)continue;varvalue=source[property];//weirdly,RegExpsarefunctionsinSafari,sotestingforObject.isFunctionon//regexpfieldvalueswillreturntrue.Butthey'renotfull-blownfunctionsanddon't//inheritargumentNamesfromFunction.prototypeif(ancestor&&Object.isFunction(value)&&value.argumentNames&&value.argumentNames().first()=="$super"){(function(){//wrappedinamethodtosavethevalueof'method'foradvicevarmethod=value;varadvice=(function(m){returnfunctioncallSuper(){varmethod=ancestor[m];if(!method)thrownewError(Strings.format('Tryingtocallsuperof'+'%s>>%sbutsupermethodnonexistingin%s',className,m,ancestor.constructor.type));returnmethod.apply(this,arguments);};})(property);advice.methodName="$super:"+(this.superclass?this.superclass.type+".":"")+property;value=Object.extend(advice.wrap(method),{valueOf:function(){returnmethod},toString:function(){returnmethod.toString()},originalFunction:method});})();}if(Object.isFunction(value)){}this.prototype[property]=value;if(property==="formals"){//rkFIXMEremovethiscruft//specialproperty(usedtobepins,butnowcalledformalstodisambiguateoldandnewstyleClass.addPins(this,value);}elseif(Object.isFunction(value)){//remembernameforprofilinginWebKitvalue.displayName=className+"$"+property;for(;value;value=value.originalFunction){if(value.methodName){//console.log("class"+this.prototype.constructor.type//+"borrowed"+value.qualifiedMethodName());}value.declaredClass=this.prototype.constructor.type;value.methodName=property;}}}//endoffor(varpropertyinsource)returnthis;},})>%s but super method non existing in %s',\n\t\t\t\t\t\t\t\t\tclassName, m, ancestor.constructor.type));\n\t\t\t\t\t\t\treturn method.apply(this, arguments);\n\t\t\t\t\t\t};\n\t\t\t\t\t})(property);\n\n\t\t\t\t\tadvice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \".\" : \"\") + property;\n\n\t\t\t\t\tvalue = Object.extend(advice.wrap(method), {\n\t\t\t\t\t\tvalueOf: function() { return method },\n\t\t\t\t\t\ttoString: function() { return method.toString() },\n\t\t\t\t\t\toriginalFunction: method\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t\t}\n\t\t\t\n\t\t\tif (Object.isFunction(value)) {\n\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.prototype[property] = value;\n\t\t\n\t\t\tif (property === \"formals\") { // rk FIXME remove this cruft\n\t\t\t\t// special property (used to be pins, but now called formals to disambiguate old and new style\n\t\t\t\tClass.addPins(this, value);\n\t\t\t} else if (Object.isFunction(value)) {\n\t\t\t\t// remember name for profiling in WebKit\n\t\t\t\tvalue.displayName = className + \"$\" + property;\n\t\t\t\t\n\t\t\t\tfor ( ; value; value = value.originalFunction) {\n\t\t\t\t\tif (value.methodName) {\n\t\t\t\t\t\t//console.log(\"class \" + this.prototype.constructor.type \n\t\t\t\t\t\t// + \" borrowed \" + value.qualifiedMethodName());\n\t\t\t\t\t}\n\t\t\t\t\tvalue.declaredClass = this.prototype.constructor.type;\n\t\t\t\t\tvalue.methodName = property;\n\t\t\t\t}\n\t\t\t}\n\t\t} // end of for (var property in source)\n\t\t\n\t\treturn this;\n\t},\n})"]]>2truetrue2000000false>%s but super method non existing in %s',\n\t\t\t\t\t\t\t\t\tclassName, m, ancestor.constructor.type));\n\t\t\t\t\t\t\treturn method.apply(this, arguments);\n\t\t\t\t\t\t};\n\t\t\t\t\t})(property);\n\n\t\t\t\t\tadvice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \".\" : \"\") + property;\n\n\t\t\t\t\tvalue = Object.extend(advice.wrap(method), {\n\t\t\t\t\t\tvalueOf: function() { return method },\n\t\t\t\t\t\ttoString: function() { return method.toString() },\n\t\t\t\t\t\toriginalFunction: method\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t\t}\n\t\t\t\n\t\t\tif (Object.isFunction(value)) {\n\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.prototype[property] = value;\n\t\t\n\t\t\tif (property === \"formals\") { // rk FIXME remove this cruft\n\t\t\t\t// special property (used to be pins, but now called formals to disambiguate old and new style\n\t\t\t\tClass.addPins(this, value);\n\t\t\t} else if (Object.isFunction(value)) {\n\t\t\t\t// remember name for profiling in WebKit\n\t\t\t\tvalue.displayName = className + \"$\" + property;\n\t\t\t\t\n\t\t\t\tfor ( ; value; value = value.originalFunction) {\n\t\t\t\t\tif (value.methodName) {\n\t\t\t\t\t\t//console.log(\"class \" + this.prototype.constructor.type \n\t\t\t\t\t\t// + \" borrowed \" + value.qualifiedMethodName());\n\t\t\t\t\t}\n\t\t\t\t\tvalue.declaredClass = this.prototype.constructor.type;\n\t\t\t\t\tvalue.methodName = property;\n\t\t\t\t}\n\t\t\t}\n\t\t} // end of for (var property in source)\n\t\t\n\t\treturn this;\n\t},\n})"]]>>%s but super method non existing in %s',\n\t\t\t\t\t\t\t\t\tclassName, m, ancestor.constructor.type));\n\t\t\t\t\t\t\treturn method.apply(this, arguments);\n\t\t\t\t\t\t};\n\t\t\t\t\t})(property);\n\n\t\t\t\t\tadvice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \".\" : \"\") + property;\n\n\t\t\t\t\tvalue = Object.extend(advice.wrap(method), {\n\t\t\t\t\t\tvalueOf: function() { return method },\n\t\t\t\t\t\ttoString: function() { return method.toString() },\n\t\t\t\t\t\toriginalFunction: method\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t\t}\n\t\t\t\n\t\t\tif (Object.isFunction(value)) {\n\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.prototype[property] = value;\n\t\t\n\t\t\tif (property === \"formals\") { // rk FIXME remove this cruft\n\t\t\t\t// special property (used to be pins, but now called formals to disambiguate old and new style\n\t\t\t\tClass.addPins(this, value);\n\t\t\t} else if (Object.isFunction(value)) {\n\t\t\t\t// remember name for profiling in WebKit\n\t\t\t\tvalue.displayName = className + \"$\" + property;\n\t\t\t\t\n\t\t\t\tfor ( ; value; value = value.originalFunction) {\n\t\t\t\t\tif (value.methodName) {\n\t\t\t\t\t\t//console.log(\"class \" + this.prototype.constructor.type \n\t\t\t\t\t\t// + \" borrowed \" + value.qualifiedMethodName());\n\t\t\t\t\t}\n\t\t\t\t\tvalue.declaredClass = this.prototype.constructor.type;\n\t\t\t\t\tvalue.methodName = property;\n\t\t\t\t}\n\t\t\t}\n\t\t} // end of for (var property in source)\n\t\t\n\t\treturn this;\n\t},\n})"]]>truetruefalse
false1truefalsetruetruefalse
20nullfalse
truetruefalsetruetruefalse
false1truefalsetruetruefalse
Browseworld...falsenullfalsefalsetrue
Pushchangesbackfalsenullfalsefalsetrue
Refreshfalsenullfalsefalsetrue
Evalonfalsenullfalsefalsetrue
Sortfalsenullfalsefalsetrue
truetruefalse
nullfalsetruenullfalse
aDoit[doit]falsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalsenull195