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

Function traverseFunction

js/ESTREEJS.js:533–559  ·  view source on GitHub ↗
(member,cls,file,symbol)

Source from the content-addressed store, hash-verified

531 }
532
533 function traverseFunction(member,cls,file,symbol){//member:function cls:parent function
534 // console.log('traverse function',member)
535 member._value=getValue(member.id)
536 var method=cls._flow_id?member._value+'_'+cls._flow_id:member._value
537 if(r.FlowOne[member._value]){
538 r.FlowOne[member._value].unshift(method)
539 }else{
540 r.FlowOne[member._value]=[method]
541 }
542 member._flow_id=method
543 member._flow_from=cls._flow_id
544 member._file=file
545 if(r.FlowFilter[member._flow_id]===false)return;
546 r.FlowNode[member._flow_id]=member;
547 r.FDPNode[member._flow_id]={id:member._flow_id,w:member._value.length*gD3fontSize/1.6+gD3fontSize*3,text:`${member._value}()`}
548 r.Flow+=` ${member._flow_id}([${member._value}])\nclick ${member._flow_id} "javascript:void(onFlowClick('${member._flow_id}','${file}'))"\n`
549 if(cls._flow_id){
550 r.FlowLink+=`${cls._flow_id} --o ${member._flow_id}\n`
551 r.FDPLinks.push({source:cls._flow_id,target:member._flow_id,value:2})
552 }
553 if(r.showCall){
554 traverseAst(member.body,(n)=>{
555 return doBlock(n,member,file,r)
556 })
557 }
558 if(symbol)r.UML+=` ${member._value}()\n`
559 }
560 function doBlock(n,node,file,r){
561 // console.log('do block',n)
562 if(!n)return

Callers 4

analysisMermaidFunction · 0.70
traverseClassFunction · 0.70
traverseObjectFunction · 0.70
doBlockFunction · 0.70

Calls 3

getValueFunction · 0.70
traverseAstFunction · 0.70
doBlockFunction · 0.70

Tested by

no test coverage detected