Beispiel #1
0
 public static string GetExcludeReasonText(StringExclusionReason reason)
 {
     //string reasonText = "";
     if (0 != (reason & StringExclusionReason.IsFunctionName))
     {
         return("matches a function name");
     }
     if (0 != (reason & StringExclusionReason.IsInsideSystemFunction))
     {
         return("system function");
     }
     if (0 != (reason & StringExclusionReason.IsInsideTestFunction))
     {
         return("test function");
     }
     if (0 != (reason & StringExclusionReason.IsUnused))
     {
         return("not used");
     }
     if (0 != (reason & StringExclusionReason.IsAssert))
     {
         return("assert string");
     }
     if (0 != (reason & StringExclusionReason.IsEvent))
     {
         return("event flag name");
     }
     return("");
     //return reasonText;
 }
        //private void CatchUpToAddress(ref Expression expression, List<string> functionLines, int address)
        //{
        //    while (expression != null && expression.address < address)
        //    {
        //        string enumerationName = null;
        //        var variable = expression.Variable.Canonicalize();
        //        if (variable != null && VariablesUsingEnumerationType.Contains(variable))
        //        {
        //            var metaData = variable.GetMetadata();
        //            if (metaData.EnumerationType == AnnotateEnumerationType)
        //            {
        //                var otherExpression = expression.GetOtherSideOfBinaryExpression();
        //                if (otherExpression != null)
        //                {
        //                    otherExpression = otherExpression.SkipChildCastOperations();
        //                    if (otherExpression.ExpressionType == Instruction.PUSH)
        //                    {
        //                        enumerationName = AnnotateEnumerationType.GetOrDefault(otherExpression.Value, otherExpression.Value.ToString());
        //                    }
        //                    else if (otherExpression.ExpressionType == Instruction.SH_LOCALASSIGN)
        //                    {
        //                        enumerationName = AnnotateEnumerationType.GetOrDefault(otherExpression.Value, otherExpression.Value.ToString());
        //                    }
        //                }
        //            }
        //            else
        //            {
        //                var func = expression as IFunction;
        //                if (func != null)
        //                {
        //                    for (int i = 0; i < func.ParameterCount; i++)
        //                    {
        //                        var para = func.GetNonVoidFunctionParameter(i);
        //                        if (para == null) break;
        //                        var metaData2 = para.GetMetadata();
        //                        if (metaData2.EnumerationType == AnnotateEnumerationType)
        //                        {
        //                            var arg = expression.GetFunctionCallArgument(i);
        //                            if (arg != null)
        //                            {
        //                                arg = arg.SkipChildCastOperations();
        //                                if (arg.ExpressionType == Instruction.PUSH)
        //                                {
        //                                    enumerationName = AnnotateEnumerationType.GetOrDefault(arg.Value, arg.Value.ToString());
        //                                }
        //                            }
        //                        }
        //                    }
        //                }
        //            }
        //        }
        //        if (enumerationName != null)
        //        {
        //            functionLines.Add("#" + enumerationName);
        //        }
        //        expression = expression.GetNextExpression();
        //    }
        //}

        private void AddString(ref int numberOfNonCommentedLines, ref int numberOfStrings, List <string> functionLines, int stringNumber, string str)
        {
            StringExclusionReason exclude = stringExportImport.stringsToExclude.GetOrDefault(stringNumber, StringExclusionReason.None);
            string stringLine             = "s " + numberOfStrings.ToString("000") + " " + StringExportImport.EscapeText(str);

            if (exclude != StringExclusionReason.None)
            {
                stringLine = "#" + stringLine + "#\t\t" + exclude.GetText();
            }
            else
            {
                if (str != "")
                {
                    numberOfNonCommentedLines++;
                }
            }
            if (!(stringNumber == 0 && str == ""))
            {
                if (useStringsToMatch == false || StringsToMatch.Contains(str))
                {
                    if (this.IncludeStrings == true)
                    {
                        functionLines.Add(stringLine);
                    }
                }
            }
            numberOfStrings++;
        }
Beispiel #3
0
 public static string GetText(this StringExclusionReason exclusionReason)
 {
     return(StringExportImport.GetExcludeReasonText(exclusionReason));
 }