MCPcopy Create free account
hub / github.com/davidkingzyb/SCAST / traverseFunction

Function traverseFunction

js/SCASTPY.js:819–846  ·  view source on GitHub ↗
(member,cls,file,symbol)

Source from the content-addressed store, hash-verified

817 }
818
819 function traverseFunction(member,cls,file,symbol){//member:function cls:parent function symbol:boolean
820 var method=cls.value?member.value+'_'+cls.value:member.value
821 if(r.FlowOne[member.value]){
822 if(r.FlowOne[member.value].indexOf(method)<0){
823 r.FlowOne[member.value].unshift(method)
824 }
825 }else{
826 r.FlowOne[member.value]=[method]
827 }
828 member._flow_id=method
829 // console.log('traverse function',member)
830 member._flow_from=cls.value
831 member._file=file
832 if(r.FlowFilter[member._flow_id]===false)return;
833 r.FlowNode[member._flow_id]=member;
834 r.FDPNode[member._flow_id]={id:member._flow_id,w:member.value.length*gD3fontSize/1.6+gD3fontSize*3,text:`${member.value}()`}
835 if(symbol)r.UML+=` ${member.value}()\n`
836 r.Flow+=` ${member._flow_id}([${member.value}])\nclick ${member._flow_id} "javascript:void(onFlowClick('${member._flow_id}','${file}'))"\n`
837 if(cls._flow_id){
838 r.FlowLink+=`${cls._flow_id} --o ${member._flow_id}\n`
839 r.FDPLinks.push({source:cls._flow_id,target:member._flow_id,value:2})
840 }
841 if(r.showCall&&member.body){
842 for(let n of member.body){
843 doBlock(n,member,method)
844 }
845 }
846 }
847 function doBlock(n,node,method){
848 // console.log('do block',method)
849 if(!n)return

Callers 3

analysisMermaidFunction · 0.70
traverseClassFunction · 0.70
doBlockFunction · 0.70

Calls 1

doBlockFunction · 0.70

Tested by

no test coverage detected