internal static string GetSignatureFromPureSignature(string sig) { sig = StringConvertUtils.StripCommonModifiers(sig); RegexMatcher matcher; var found = TryMatchSignature(sig, out matcher); if (found) { return(matcher.GetFullMatch(sig)); } return(""); }
private static string GetMemberOrSignatureID(string codeContent, TypeKind t, bool simplifiedSignature) { switch (t) { case TypeKind.Class: string c1 = codeContent; if (c1.Contains(":")) { c1 = c1.Remove(c1.IndexOf(':')).Trim(); } c1 = StringConvertUtils.StripCommonModifiers(c1); return(c1); case TypeKind.Enum: var memberName = codeContent.Split(default(Char[]), StringSplitOptions.RemoveEmptyEntries)[0]; memberName = memberName.TrimEnd(new[] { '=' }); memberName = StringConvertUtils.LowerCaseNeedsUnderscore(memberName); return(memberName); case TypeKind.AutoProp: var memberName1 = codeContent.Split(' ')[1]; memberName1 = StringConvertUtils.LowerCaseNeedsUnderscore(memberName1); return(memberName1); case TypeKind.Struct: string s = codeContent; s = s.Replace("internal ", ""); return(s.Trim()); case TypeKind.PureSignature: string sig = codeContent; var indexOfBrace = sig.IndexOf("{", StringComparison.Ordinal); if (indexOfBrace >= 0) // remove any body { sig = sig.Remove(indexOfBrace).Trim(); } if (simplifiedSignature) { return(GetMemberNameFromPureSignature(sig)); } else { return(GetSignatureFromPureSignature(sig)); } default: return("Error"); } }
//covered by unit tests internal static string GetMemberNameFromPureSignature(string sig) { sig = StringConvertUtils.StripCommonModifiers(sig); sig = Regex.Replace(sig, "<.*>", ""); RegexMatcher matcher; var found = TryMatchSignature(sig, out matcher); if (found) { string exp = matcher.GetSimplifiedMatch(sig); return((exp == "this") ? exp : StringConvertUtils.LowerCaseNeedsUnderscore(exp)); } return(""); }
//covered by unit tests internal static string GetMemberNameFromPureSignature(string sig, bool simplified = false) { sig = StringConvertUtils.StripCommonModifiers(sig); sig = HandleGenerics(sig); RegexMatcher matcher; var found = TryMatchSignature(sig, out matcher); if (found) { string exp = simplified ? matcher.GetSimplifiedMatch(sig) : matcher.GetFullMatch(sig); return(StringConvertUtils.LowerCaseNeedsUnderscore(exp)); } return(""); }