private void rbSmartTraceFilter_MethodName_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_MethodName.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.MethodName;
         refreshSmartTraceTreeView();
     }
 }
 private void rbSmartTraceFilter_SourceCode_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_SourceCode.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.SourceCode;
         refreshSmartTraceTreeView();
     }
 }
Exemple #3
0
 private void rbSmartTraceFilter_SourceCode_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_SourceCode.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.SourceCode;
         refreshSmartTraceTreeView();
     }
 }
 private void rbSmartTraceFilter_Context_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_Context.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.Context;
         refreshSmartTraceTreeView();
     }
 }
Exemple #5
0
 private void rbSmartTraceFilter_MethodName_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_MethodName.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.MethodName;
         refreshSmartTraceTreeView();
     }
 }
Exemple #6
0
 private void rbSmartTraceFilter_Context_CheckedChanged(object sender, EventArgs e)
 {
     if (rbSmartTraceFilter_Context.Checked)
     {
         stfSmartTraceFilter = Analysis.SmartTraceFilter.Context;
         refreshSmartTraceTreeView();
     }
 }
 public static void getListWithMethodsCalled_Recursive(CallInvocation[] cCallInvocations,
                                                       List <CallInvocation> lciMethodsCalled,
                                                       O2AssessmentData_OunceV6 fadO2AssessmentDataOunceV6,
                                                       Analysis.SmartTraceFilter stfSmartTraceFilter)
 {
     if (cCallInvocations != null)
     {
         foreach (CallInvocation cCall in cCallInvocations)
         {
             lciMethodsCalled.Add(cCall);
             //lsMethodsCalled.Add(getTextFromFindingBySmartTraceFilter(cCall,fadO2AssessmentDataOunceV6,stfSmartTraceFilter));
             getListWithMethodsCalled_Recursive(cCall.CallInvocation1, lciMethodsCalled, fadO2AssessmentDataOunceV6,
                                                stfSmartTraceFilter);
         }
     }
 }
        public static String getTextFromFindingBySmartTraceFilter(CallInvocation cCall,
                                                                  O2AssessmentData_OunceV6 fadO2AssessmentDataOunceV6,
                                                                  Analysis.SmartTraceFilter stfSmartTraceFilter)
        {
            String sText = "";

            //case Analysis.SmartTraceFilter.MethodName:  // Use this as the default (since it will cover for the cases where the context or source are empty
            if (cCall.sig_id == 0 && cCall.fn_id > 0)
            {
                sText = fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces[cCall.fn_id - 1].value;
            }
            else if (cCall.sig_id == 0)
            {
                sText = "...";
            }
            else
            {
                sText = fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces[cCall.sig_id - 1].value;
            }
            switch (stfSmartTraceFilter)
            {
            case Analysis.SmartTraceFilter.Context:
                if (0 != cCall.cxt_id)
                {
                    sText = fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces[cCall.cxt_id - 1].value;
                }
                break;

            case Analysis.SmartTraceFilter.SourceCode:
                List <String> lsSourceCode =
                    Files.loadSourceFileIntoList(
                        fadO2AssessmentDataOunceV6.arAssessmentRun.FileIndeces[cCall.fn_id - 1].value);
                String sSounceCodeLine = Files.getLineFromSourceCode(cCall.line_number, lsSourceCode);
                if ("" != sSounceCodeLine)
                {
                    sText = sSounceCodeLine;
                    sText = sText.Replace("\t", "");
                }
                break;
            }
            return(sText);
        }
        public static void addCallsToNode_Recursive(CallInvocation[] cCallInvocations, TreeNode tnTargetNode,
                                                    O2AssessmentData_OunceV6 fadO2AssessmentDataOunceV6,
                                                    Analysis.SmartTraceFilter stfSmartTraceFilter)
        {
            if (cCallInvocations != null)
            {
                foreach (CallInvocation cCall in cCallInvocations)
                {
                    String sNodeText = "";
                    if (cCall.mn_id > fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces.Length ||
                        cCall.sig_id > fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces.Length)
                    {
                        DI.log.error(
                            "In addCallsToNode_Recursive cCall.sig_id or cCall.cxt_id or fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces.Length ");
                    }
                    else
                    {
                        sNodeText =
                            getTextFromFindingBySmartTraceFilter(cCall, fadO2AssessmentDataOunceV6, stfSmartTraceFilter).Trim();

                        /*switch (stfSmartTraceFilter)
                         * {
                         *  case Analysis.SmartTraceFilter.MethodName:
                         *      sNodeText = (cCall.sig_id == 0) ? "" : fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces[cCall.sig_id - 1].value;
                         *      break;
                         *  case Analysis.SmartTraceFilter.Context:
                         *      sNodeText = (cCall.cxt_id == 0) ? "" : fadO2AssessmentDataOunceV6.arAssessmentRun.StringIndeces[cCall.cxt_id - 1].value;
                         *      break;
                         *  case Analysis.SmartTraceFilter.SourceCode:
                         *      List<String> lsSourceCode = forms.loadSourceFileIntoList(fadO2AssessmentDataOunceV6.arAssessmentRun.FileIndeces[cCall.fn_id - 1].value);
                         *      sNodeText = getLineFromSourceCode(cCall.line_number, lsSourceCode);
                         *      sNodeText = sNodeText.Replace("\t", "");
                         *      break;
                         * }*/
                    }

                    var tnCallNode = new TreeNode(sNodeText)
                    {
                        Tag = cCall
                    };
                    switch (cCall.trace_type)
                    {
                    case 1:     // Analysis.TraceType.Root_Call:
                        tnCallNode.ForeColor = Color.DarkBlue;
                        break;

                    case 5:     // Analysis.TraceType.Lost_Sink:
                        tnCallNode.ForeColor = Color.DarkOrange;
                        break;

                    case 2:     // Analysis.TraceType.Source:
                        tnCallNode.ForeColor = Color.DarkRed;
                        break;

                    case 3:     // Analysis.TraceType.Known_Sink:
                        tnCallNode.ForeColor = Color.Red;
                        break;

                    case 4:     // Analysis.TraceType.Type_4:
                        tnCallNode.ForeColor = Color.Green;
                        break;

                    default:
                        break;
                    }

                    addCallsToNode_Recursive(cCall.CallInvocation1, tnCallNode, fadO2AssessmentDataOunceV6, stfSmartTraceFilter);
                    tnTargetNode.Nodes.Add(tnCallNode);
                }
            }
        }