/// <summary> /// Generates metadata strings for the specified method. /// </summary> /// <param name="method">The method.</param> /// <returns>The metadata strings.</returns> private IEnumerable <string> GenerateMetadataStrings(CodeItemMethod method) { var strings = new List <string>(); strings.AddRange(GenerateMetadataStrings((BaseCodeItemElement)method)); switch (method.OverrideKind) { case vsCMOverrideKind.vsCMOverrideKindAbstract: strings.Add(UseExtendedStrings ? "abstract" : "a"); break; case vsCMOverrideKind.vsCMOverrideKindVirtual: strings.Add(UseExtendedStrings ? "virtual" : "v"); break; case vsCMOverrideKind.vsCMOverrideKindOverride: strings.Add(UseExtendedStrings ? "override" : "o"); break; case vsCMOverrideKind.vsCMOverrideKindNew: strings.Add(UseExtendedStrings ? "new" : "n"); break; } return(strings); }
private static CodeItemMethod CreateExplicitMethod(string interfaceName, string methodName, int offset) { CodeItemMethod method = Create <CodeItemMethod>(interfaceName + "." + methodName, offset); method.CodeFunction = Substitute.For <CodeFunction2>(); method.CodeFunction.Name = method.Name; return(method); }
public void ShouldPlaceExplicitInterfaceMembersAtTheEndOfTheGroup() { CodeItemMethod methodA = CreateExplicitMethod("Interface", "A", 1); BaseCodeItem methodB = Create <CodeItemMethod>("B", 2); var comparer = new CodeItemTypeComparer(sortByName: true); Settings.Default.Reorganizing_ExplicitMembersAtEnd = true; int result = comparer.Compare(methodB, methodA); Assert.IsTrue(result < 0); }
public void ShouldSortByExplicitInterfaceMemberName() { CodeItemMethod methodZ = CreateExplicitMethod("Interface", "Z", 1); BaseCodeItem methodX = Create <CodeItemMethod>("X", 2); var comparer = new CodeItemTypeComparer(sortByName: true); Settings.Default.Reorganizing_ExplicitMembersAtEnd = false; int result = comparer.Compare(methodX, methodZ); Assert.IsTrue(result < 0); }