Пример #1
0
 private string Get_Label_Description(string label)
 {
     if (this.labelGraph_.Enabled)
     {
         StringBuilder    sb        = new StringBuilder();
         SortedSet <uint> labelDefs = this.labelGraph_.Get_Label_Def_Linenumbers(label);
         if (labelDefs.Count > 1)
         {
             sb.AppendLine(string.Empty);
         }
         foreach (uint id in labelDefs)
         {
             int    lineNumber  = LabelGraph.Get_Linenumber(id);
             string filename    = Path.GetFileName(this.labelGraph_.Get_Filename(id));
             string lineContent = (LabelGraph.Is_From_Main_File(id))
                 ? " :" + this.textBuffer_.CurrentSnapshot.GetLineFromLineNumber(lineNumber).GetText()
                 : string.Empty;
             sb.AppendLine(AsmDudeToolsStatic.Cleanup(string.Format(AsmDudeToolsStatic.CultureUI, "Defined at LINE {0} ({1}){2}", lineNumber + 1, filename, lineContent)));
         }
         string result = sb.ToString();
         return(result.TrimEnd(Environment.NewLine.ToCharArray()));
     }
     else
     {
         return("Label analysis is disabled");
     }
 }
Пример #2
0
        private TextBlock Label_Clash_Tool_Tip_Content(string label)
        {
            TextBlock textBlock = new TextBlock();

            try
            {
                textBlock.Inlines.Add(new Run("Label Clash:" + Environment.NewLine)
                {
                    FontWeight = FontWeights.Bold,
                    Foreground = this.foreground_,
                });

                StringBuilder sb = new StringBuilder();
                foreach (uint id in this.labelGraph_.Get_Label_Def_Linenumbers(label))
                {
                    int    lineNumber = LabelGraph.Get_Linenumber(id);
                    string filename   = Path.GetFileName(this.labelGraph_.Get_Filename(id));
                    string lineContent;
                    if (LabelGraph.Is_From_Main_File(id))
                    {
                        lineContent = " :" + this.sourceBuffer_.CurrentSnapshot.GetLineFromLineNumber(lineNumber).GetText();
                    }
                    else
                    {
                        lineContent = string.Empty;
                    }
                    sb.AppendLine(AsmDudeToolsStatic.Cleanup(string.Format(AsmDudeToolsStatic.CultureUI, "Defined at LINE {0} ({1}){2}", lineNumber + 1, filename, lineContent)));
                }
                string msg = sb.ToString().TrimEnd(Environment.NewLine.ToCharArray());

                textBlock.Inlines.Add(new Run(msg)
                {
                    Foreground = this.foreground_,
                });
            }
            catch (Exception e)
            {
                AsmDudeToolsStatic.Output_ERROR(string.Format(AsmDudeToolsStatic.CultureUI, "{0}:labelClashToolTipContent; e={1}", this.ToString(), e.ToString()));
            }
            return(textBlock);
        }
Пример #3
0
        private string Get_Label_Def_Description(string full_Qualified_Label, string label)
        {
            if (!this.labelGraph_.Enabled)
            {
                return("Label analysis is disabled");
            }

            SortedSet <uint> usage = this.labelGraph_.Label_Used_At_Info(full_Qualified_Label, label);

            if (usage.Count > 0)
            {
                StringBuilder sb = new StringBuilder();
                if (usage.Count > 1)
                {
                    sb.AppendLine(string.Empty); // add a newline if multiple usage occurances exist
                }
                foreach (uint id in usage)
                {
                    int    lineNumber = LabelGraph.Get_Linenumber(id);
                    string filename   = Path.GetFileName(this.labelGraph_.Get_Filename(id));
                    string lineContent;
                    if (LabelGraph.Is_From_Main_File(id))
                    {
                        lineContent = " :" + this.textBuffer_.CurrentSnapshot.GetLineFromLineNumber(lineNumber).GetText();
                    }
                    else
                    {
                        lineContent = string.Empty;
                    }
                    sb.AppendLine(AsmDudeToolsStatic.Cleanup(string.Format(AsmDudeToolsStatic.CultureUI, "Used at LINE {0} ({1}){2}", lineNumber + 1, filename, lineContent)));
                    //AsmDudeToolsStatic.Output_INFO(string.Format(AsmDudeToolsStatic.CultureUI, "{0}:getLabelDefDescription; sb=\"{1}\"", this.ToString(), sb.ToString()));
                }
                string result = sb.ToString();
                return(result.TrimEnd(Environment.NewLine.ToCharArray()));
            }
            else
            {
                return("Not used");
            }
        }