private static void ProcessNestedTypes(AssemblyDataItem asmDataItem, ICollection <AssemblyDataItem> a) { foreach (var nested in asmDataItem.cecilType.NestedTypes) { if (!nested.IsNestedPublic) { continue; } if (nested.IsClass) { var nestedClassAsm = new AssemblyDataItem(AssemblyType.Class, nested, asmDataItem); var memberName = nested.ToString().SimplifyTypesAndArrays(); memberName = StringConvertUtils.LowerCaseNeedsUnderscore(memberName); nestedClassAsm.UniqueName = memberName; AddAssemblyDataItem(a, nestedClassAsm); BuildAsmChildOfClass(nestedClassAsm, a); } else { int k = 0; } } }
private string GetMemberName(MemberReference memberReference) { var methodDefinition = memberReference as MethodDefinition; string memberName = ""; if (methodDefinition != null) { if (methodDefinition.IsConstructor) { memberName = "ctor"; } else if (methodDefinition.Name.StartsWith("op_Implicit")) { memberName = "implop_" + methodDefinition.ReturnType.ToString().SimplifyTypes() + "(" + methodDefinition.Parameters[0].ParameterType.ToString().SimplifyTypes() + ")"; } else if (methodDefinition.Name.StartsWith("op_")) { memberName = StringConvertUtils.ConvertOperatorFromAssembly(memberReference.Name); } else { memberName = StringConvertUtils.LowerCaseNeedsUnderscore(memberReference.Name); } } else { var memName = memberReference.Name; memberName = memName == "Item" ? "this" : StringConvertUtils.LowerCaseNeedsUnderscore(memName); } return(GetTypeName(memberReference.DeclaringType) + "." + memberName); }
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(""); }
internal static void BuildAsmChildOfEnum(AssemblyDataItem asmDataItem, ICollection <AssemblyDataItem> a) { foreach (FieldDefinition field in asmDataItem.cecilType.Fields) { if (field.Name == "value__") { continue; } var enumAsm = new AssemblyDataItem(AssemblyType.EnumValue, field.DeclaringType, asmDataItem); var parentName = field.DeclaringType.ToString().SimplifyTypesAndArrays(); var memberName = StringConvertUtils.LowerCaseNeedsUnderscore(field.Name); enumAsm.UniqueName = string.Format("{0}.{1}", parentName, memberName); AddAssemblyDataItem(a, enumAsm); } }
//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(""); }
private static string MemberNameFromPropertyDefinition(PropertyDefinition propDefinition) { return(StringConvertUtils.LowerCaseNeedsUnderscore(propDefinition.Name)); }
private static string MemberNameFromFieldDefinition(FieldDefinition fieldDefinition) { return(StringConvertUtils.LowerCaseNeedsUnderscore(fieldDefinition.Name)); }