private void updateInfoFlowSummaryMap(MethodModel methodModel,Method method){
  Set<InfoKind> sourcesInfoKinds=method.getSourcesInfoKinds();
  Set<InfoKind> sinkInfoKinds=method.getSinkInfoKinds();
  if (!sourcesInfoKinds.isEmpty() && !sinkInfoKinds.isEmpty()) {
    for (    InfoKind sourceInfoKind : sourcesInfoKinds) {
      String source=sourceInfoKind.toString();
      Map<String,Set<MethodModel>> sinkMap=infoFlowSummaryMap.get(source);
      if (sinkMap == null) {
        sinkMap=new TreeMap<String,Set<MethodModel>>();
        infoFlowSummaryMap.put(source,sinkMap);
      }
      for (      InfoKind sinkInfoKind : sinkInfoKinds) {
        String sink=sinkInfoKind.toString();
        Set<MethodModel> methodModels=sinkMap.get(sink);
        if (methodModels == null) {
          methodModels=new TreeSet<MethodModel>();
          sinkMap.put(sink,methodModels);
        }
        methodModels.add(methodModel);
      }
    }
  }
}

private void updateInfoFlowSummaryMap ( MethodModel methodModel , Method method ) { Set < InfoKind > sourcesInfoKinds = method . getSourcesInfoKinds ( ) ; Set < InfoKind > sinkInfoKinds = method . getSinkInfoKinds ( ) ; if ( ! sourcesInfoKinds . isEmpty ( ) && ! sinkInfoKinds . isEmpty ( ) ) { for ( InfoKind sourceInfoKind : sourcesInfoKinds ) { String source = sourceInfoKind . toString ( ) ; Map < String , Set < MethodModel > > sinkMap = infoFlowSummaryMap . get ( source ) ; if ( sinkMap == null ) { sinkMap = new TreeMap < String , Set < MethodModel > > ( ) ; infoFlowSummaryMap . put ( source , sinkMap ) ; } for ( InfoKind sinkInfoKind : sinkInfoKinds ) { String sink = sinkInfoKind . toString ( ) ; Set < MethodModel > methodModels = sinkMap . get ( sink ) ; if ( methodModels == null ) { methodModels = new TreeSet < MethodModel > ( ) ; sinkMap . put ( sink , methodModels ) ; } methodModels . add ( methodModel ) ; } } } }
updates the info flow summary map if the given method is a sink method and there are info flows from some info sources into this sink method .
