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

Function traverseProperty

js/SCASTTS.js:200–235  ·  view source on GitHub ↗
(member,cls,file,symbol)

Source from the content-addressed store, hash-verified

198 }
199
200 function traverseProperty(member,cls,file,symbol){
201 member._flow_id=member.value+'_'+cls.value
202 member._flow_from=cls.value
203 member._flow_prop=`|${symbol}${member.value.replaceAll('|','\|').replaceAll('[','').replaceAll(']','')}|`
204 member._file=file
205 if(r.FlowFilter[member._flow_id]===false)return;
206 r.FlowNode[member._flow_id]=member;
207 r.UML+=` ${symbol}${member.value}\n`
208 // console.log('prop',member)
209 if(r.showCall)_doBody(member,file)
210 function _doBody(node,file){
211 if(!node.body)return
212 for(let n of node.body ){
213 n._file=file
214 n._flow_id=n.value+'_'+node._flow_id
215 n._flow_from=node._flow_from
216 n._flow_prop=node._flow_prop
217 r.FlowNode[n._flow_id]=n
218 if(n.type=="Expression"){
219 // console.log('var',n)
220 n._flow_id=node._flow_id;
221 _doBody(n,file)
222 }else if(r.FlowFilter[n._flow_id]&&(n.type=="NewExpression"||n.type=="CallExpression")){
223 if(n.type=="NewExpression"){
224 r.UMLClass[cls.value][n._flow_id]=n;
225 n._flow_str=` ${n._flow_id}[${n.value}]\nclick ${n._flow_id} "javascript:void(onFlowClick('${n._flow_id}','${file}'))"\n`
226 r.FDPNode[n._flow_id]={id:n._flow_id,w:n.value.length*gD3fontSize/1.6,text:`${n.value}`}
227 }else{
228 n._flow_str=` ${n._flow_id}([${n.value}])\nclick ${n._flow_id} "javascript:void(onFlowClick('${n._flow_id}','${file}'))"\n`
229 r.FDPNode[n._flow_id]={id:n._flow_id,w:n.value.length*gD3fontSize/1.6+gD3fontSize*2,text:`${n.value}()`}
230 }
231 r.Flow+=n._flow_str;
232 }
233 }
234 }
235 }
236
237 function traverseMethod(member,cls,file,symbol){
238 var method=cls.value?member.value+'_'+cls.value:member.value

Callers 1

traverseClassFunction · 0.70

Calls 1

_doBodyFunction · 0.70

Tested by

no test coverage detected