Lively Kernel canvas
//
Daftsymbolindexlist23
thesymbolindexlistshouldbeusedfor-tabcompletion-browsingofsources-...?problem1:synchronization-everytimesourcecodeischangedlistneedstobeupdated-->createliston-demand?-whatifmutliplepeopleareworkinginthewiki-->listissharedresourceandconflictscanoccurwhensynchronizingproblem2:Usenamespacesorsourcesorbothforgeneratingthelist?-ifonlynamespacesareused,listcanprobablycreatedon-demand-browsersupportnotpossiblewhenonlynamespacesareused-whathappenswhencurrentlyloadednamespacesdon'thavethesameinformationasparsedsources?(e.g.userdeletedDummyClass>>m1but#m1isstillpresentinsourcesorDummyClass>>m1isdefinedintwomodules?)Idea1-createlistfromlively.ide.FileFragments.ListofmoduleFileFragmentscanbeaccessedviaSourceControl.HerearefactoringoftheFileFragmentswouldprobablyhelpsincetheyuseatypefield.AproperAST-likeobjecttreeencapsulatingthetypes(modules,classes,methods,functions,...)wouldprobablybeusefulnotonlyfortheindexcreation...! create list on-demand?\n- what if mutliple people are working in the wiki\n--> list is shared resource and conflicts can occur when synchronizing\n\nproblem 2: Use namespaces or sources or both for generating the list?\n- if only namespaces are used, list can probably created on-demand\n- browser support not possible when only namespaces are used\n- what happens when currently loaded namespaces don't have the same information as parsed sources?\n(e.g. user deleted DummyClass>>m1 but #m1 is still present in sources or\nDummyClass>>m1 is defined in two modules?)\n\nIdea 1\n- create list from lively.ide.FileFragments. List of module FileFragments can be accessed via SourceControl. Here a refactoring of the FileFragments would probably help since they use a type field. A proper AST-like object tree encapsulating the types (modules, classes, methods, functions, ...) would probably be useful not only for the index creation...!"]]>22
related:doccreation16
nullfalsetruenullfalse
LKFileParser.ometa:LKFileParser:functionDeffalsenulltruefalse
false
false
falsenullfalse
http://www.lively-kernel.org/repository/webwerkstatt/truetruetruetruetrue
truetrue
00.11truetruetrue
codebasefalsenulltruefalsetrue
localfalsenulltruefalsetrue
Localcodefalsetruefalsetrue0false205-1nullnullnulltruetruetrue
00.11true
null
null
null
nulltruetrue
-----falsetruefalsetrue0false205
-1nullnullnulltruetruetrue
00.11true
null
null
null
nulltruetrue
-----falsetruefalsetrue0false205
-1nullnullnulltruetruetrue
00.11true
null
null
null
nulltruetrue
-----falsetruefalsetrue0false205
-1nullnullnulltruetruetrue
00.11true
null
null
null
nulltruetrue
20null
truetrue2000000truetrue
00.11truetruetrue
20null
truetruetruetrue
00.11truetruetrue
Addmodulefalsenulltruefalsetrue
Loadallfalsenulltruefalsetrue
LineNofalsenulltruefalsetrue
Refreshfalsenulltruefalsetrue
Evalonfalsenulltruefalsetrue
Sortfalsenulltruefalsetrue
Viewas...falsenulltruefalsetrue
truetrue
falsenullnullnullnullfalse
Wikicontroltruetrue
FileFragmenttypes:functionDefstaticPropertymethodModificationDefprotoDef--method/property/getter/setterklassDefklassExtensionDefobjectDefometaRuleDefometaDefcopDefcopSubElementcommentblankLineunknown17truetruefalsetruetruefalse
false00.11truefalsetruetruefalse
nullfalsetruenullfalse
FileFragmenttypesfalsenulltruefalse
false
false
falsenullfalsefalsenullnullnullnullfalse
nullfalsetruenullfalse
ide.js:AnotherSourceDatabase(extension)falsenulltruefalse
false
false
falsenullfalse
http://www.lively-kernel.org/repository/webwerkstatt/lively/truetruetruetruetrue
truetrue
00.11truetruetrue
codebasefalsenulltruefalsetrue
null
localfalsenulltruefalsetrue
null
Base.jsfalsetruefalsetrue0false
bindings.js(notparsed)falsetruefalsetrue0false
CanvasExpt.js(notparsed)falsetruefalsetrue0false
ChangeSet.js(notparsed)falsetruefalsetrue0false
Connector.js(notparsed)falsetruefalsetrue0false
Contributions.js(notparsed)falsetruefalsetrue0false
Core.jsfalsetruefalsetrue0false
Data.js(notparsed)falsetruefalsetrue0false
defaultconfig.js(notparsed)falsetruefalsetrue0false
demofx.js(notparsed)falsetruefalsetrue0false
EmuDom.js(notparsed)falsetruefalsetrue0false
Examples.js(notparsed)falsetruefalsetrue0false
Fabrik.js(notparsed)falsetruefalsetrue0false
FileUploadWidget.js(notparsed)falsetruefalsetrue0false
Graffle.js(notparsed)falsetruefalsetrue0false
GridLayout.js(notparsed)falsetruefalsetrue0false
Helper.js(notparsed)falsetruefalsetrue0false
ide.jsfalsetruefalsetrue0false
JSON.js(notparsed)falsetruefalsetrue0false
LayerableMorphs.js(notparsed)falsetruefalsetrue0false
lk-js-parser.ometa(notparsed)falsetruefalsetrue0false
LKFileParser.js(notparsed)falsetruefalsetrue0false
LKFileParser.ometa(notparsed)falsetruefalsetrue0false
LKWiki.js(notparsed)falsetruefalsetrue0false
Localcodefalsetruefalsetrue0false
localconfig.js(notparsed)falsetruefalsetrue0false
Main.js(notparsed)falsetruefalsetrue0false
miniprototype.js(notparsed)falsetruefalsetrue0false
Network.js(notparsed)falsetruefalsetrue0false
obsolete.js(notparsed)falsetruefalsetrue0false
Ometa.js(notparsed)falsetruefalsetrue0false
phone.js(notparsed)falsetruefalsetrue0false
Presentation.js(notparsed)falsetruefalsetrue0false
rhino-compat.js(notparsed)falsetruefalsetrue0false
scene.js(notparsed)falsetruefalsetrue0false
Serialization.js(notparsed)falsetruefalsetrue0false
simpleMain.js(notparsed)falsetruefalsetrue0false
SmalltalkParser.js(notparsed)falsetruefalsetrue0false
SmalltalkParser.ometa(notparsed)falsetruefalsetrue0false
SmalltalkParserSupport.js(notparsed)falsetruefalsetrue0false
Storage.js(notparsed)falsetruefalsetrue0false
Styles.js(notparsed)falsetruefalsetrue0false
TestFramework.js(notparsed)falsetruefalsetrue0false
TestRunnerExtensions.js(notparsed)falsetruefalsetrue0false
Text.js(notparsed)falsetruefalsetrue0false
TileScripting.js(notparsed)falsetruefalsetrue0false
Tools.js(notparsed)falsetruefalsetrue0false
TouchSupport.js(notparsed)falsetruefalsetrue0false
Undo.js(notparsed)falsetruefalsetrue0false
WebPIM.js(notparsed)falsetruefalsetrue0false
Widgets.js(notparsed)falsetruefalsetrue0false
WikiParser.js(notparsed)falsetruefalsetrue0false
WikiParser.ometa(notparsed)falsetruefalsetrue0false
WikiWidget.js(notparsed)falsetruefalsetrue0false20517nullnullnulltruefalsenullnulltruetrue
00.11true
null
null
null
nulltruetrue
lively.ide.BasicBrowserfalsetruefalsetrue0false
lively.ide.BrowserPanelfalsetruefalsetrue0false
lively.ide.BrowserNodefalsetruefalsetrue0false
lively.ide.BrowserCommandfalsetruefalsetrue0false
lively.ide.NodeFilterfalsetruefalsetrue0false
lively.ide.SortFilterfalsetruefalsetrue0false
lively.ide.NodeTypeFilterfalsetruefalsetrue0false
lively.ide.NodeTypeFilter(extension)falsetruefalsetrue0false
lively.ide.SystemBrowserfalsetruefalsetrue0false
lively.ide.SystemBrowser(extension)falsetruefalsetrue0false
lively.ide.LocalCodeBrowserfalsetruefalsetrue0false
lively.ide.WikiCodeBrowserfalsetruefalsetrue0false
lively.ide.SourceControlNodefalsetruefalsetrue0false
lively.ide.WikiCodeNodefalsetruefalsetrue0false
lively.ide.FileFragmentNodefalsetruefalsetrue0false
lively.ide.CompleteFileFragmentNodefalsetruefalsetrue0false
lively.ide.CompleteOmetaFragmentNodefalsetruefalsetrue0false
lively.ide.OMetaGrammarNodefalsetruefalsetrue0false
lively.ide.OMetaRuleNodefalsetruefalsetrue0false
lively.ide.ClassFragmentNodefalsetruefalsetrue0false
lively.ide.ObjectFragmentNodefalsetruefalsetrue0false
lively.ide.ClassElemFragmentNodefalsetruefalsetrue0false
lively.ide.FunctionFragmentNodefalsetruefalsetrue0false
lively.ide.ChangeNodefalsetruefalsetrue0false
lively.ide.ChangeSetNodefalsetruefalsetrue0false
lively.ide.ChangeSetClassNodefalsetruefalsetrue0false
lively.ide.ChangeSetClassElemNodefalsetruefalsetrue0false
lively.ide.ChangeSetDoitNodefalsetruefalsetrue0false
lively.ide.RemoteChangeSetNodefalsetruefalsetrue0false
lively.ide.CopFragmentNodefalsetruefalsetrue0false
lively.ide.CopRefineFragmentNodefalsetruefalsetrue0false
lively.ide.CopMemberFragmentNodefalsetruefalsetrue0false
ChangeSet(extension)falsetruefalsetrue0false
ClassChange(extension)falsetruefalsetrue0false
ProtoChange(extension)falsetruefalsetrue0false
StaticChange(extension)falsetruefalsetrue0false
DoitChange(extension)falsetruefalsetrue0false
lively.ide.AllModulesLoadCommandfalsetruefalsetrue0false
lively.ide.ShowLineNumbersCommandfalsetruefalsetrue0false
lively.ide.RefreshCommandfalsetruefalsetrue0false
lively.ide.EvaluateCommandfalsetruefalsetrue0false
lively.ide.ChangesGotoChangeSetCommandfalsetruefalsetrue0false
lively.ide.SortCommandfalsetruefalsetrue0false
lively.ide.AddNewFileCommandfalsetruefalsetrue0false
lively.ide.BrowseWorldCommandfalsetruefalsetrue0false
lively.ide.ViewSourceCommandfalsetruefalsetrue0false
lively.ide.SaveChangesCommandfalsetruefalsetrue0false
lively.ide.ChangeSetMenuCommandfalsetruefalsetrue0false
lively.ide.ClassChangeMenuCommandfalsetruefalsetrue0false
lively.ide.ClassHierarchyViewCommandfalsetruefalsetrue0false
CodeParserfalsetruefalsetrue0false
JsParserfalsetruefalsetrue0false
JsParser(extension)falsetruefalsetrue0false
OMetaParserfalsetruefalsetrue0false
lively.ide.ModuleWrapperfalsetruefalsetrue0false
lively.ide.ModuleWrapper(extension)falsetruefalsetrue0false
AnotherSourceDatabasefalsetruefalsetrue0false
AnotherSourceDatabase(extension)falsetruefalsetrue0false
lively.ide(extension)falsetruefalsetrue0false
lively.ide.FileFragmentfalsetruefalsetrue0false
ide.FileFragment(extension)falsetruefalsetrue0false
ide.FileFragment(extension)falsetruefalsetrue0false
lively.ide.ParseErrorFileFragmentfalsetruefalsetrue0false
lively.ide.FileVersionViewerfalsetruefalsetrue0false20557nullnullnulltruefalsenullnulltruetrue
00.11true
null
null
null
nulltruetrue
createSymbolList(proto)falsetruefalsetrue0false205-1nullnullnulltruefalsenullnulltruetrue
00.11true
null
null
null
nulltruetrue
-----falsetruefalsetrue0false205
-1nullnullnulltruetruetrue
00.11true
null
null
null
nulltruetrue
20null
AnotherSourceDatabase.addMethods({createSymbolList:function(){varallClasses=Global.classes(true)allClasses.lengthvarallClassNames=allClasses.collect(function(klass){returnklass.name/*localname*/})varnamespaces=[Global].concat(Global.subNamespaces(true))varnamespaceNames=namespaces.pluck('namespaceIdentifier')//bothprotoandstaticvarallMethodNames=allClasses.collect(function(klass){returnklass.localFunctionNames().concat(Functions.own(klass))}).flatten()varfunctionAndObjectNames=namespaces.collect(function(ns){varpropNames=[];for(varnameinns){varvalue=ns[name];if(!value||Class.isClass(value)||value.namespaceIdentifier)continue;propNames.push(name)}returnpropNames}).flatten();varsymbolList=allClassNames.concat(namespaceNames).concat(allMethodNames).concat(functionAndObjectNames);returnsymbolList;},});19truetrue2000000truetrue
00.11truenulltruetrue
20null
truetruetruetrue
00.11truetruetrue
Addmodulefalsenulltruefalsetrue
Loadallfalsenulltruefalsetrue
LineNofalsenulltruefalsetrue
Refreshfalsenulltruefalsetrue
Evalonfalsenulltruefalsetrue
Sortfalsenulltruefalsetrue
Viewas...falsenulltruefalse
classesfalsenulltruefalsetruetruetruenull
functionsfalsenulltruefalsetruetruetrue
objectsfalsenulltruefalsetruetruetruenull
truetrue
nullnullfalsenullnullnullnullfalse
list=lively.ide.SourceControl.createSymbolList()list.lengthFunctions.timeToRun(lively.ide.SourceControl.createSymbolList)
truetruefalse2truetruefalse
false00.11truefalsetruetruefalse
nullfalsetruenullfalse
Simplesymbolcreationfalsenulltruefalse
false
false
falsenullfalsefalsenullnullnullnullfalse
null74