public static AccessorDeclarations GetAllAccessorDeclarations(INodeArray <IDeclaration> declarations, IAccessorDeclaration accessor) { IAccessorDeclaration firstAccessor = null; IAccessorDeclaration secondAccessor = null; IAccessorDeclaration getAccessor = null; IAccessorDeclaration setAccessor = null; if (HasDynamicName(accessor)) { firstAccessor = accessor; if (accessor.Kind == SyntaxKind.GetAccessor) { getAccessor = accessor; } else if (accessor.Kind == SyntaxKind.SetAccessor) { setAccessor = accessor; } else { Contract.Assert(false, "Accessor has wrong kind"); } } else { NodeArrayExtensions.ForEach(declarations, member => { if ((member.Kind == SyntaxKind.GetAccessor || member.Kind == SyntaxKind.SetAccessor) && (member.Flags & NodeFlags.Static) == (accessor.Flags & NodeFlags.Static)) { var memberName = GetPropertyNameForPropertyNameNode(member.Name); var accessorName = GetPropertyNameForPropertyNameNode(accessor.Name); if (memberName == accessorName) { if (firstAccessor == null) { firstAccessor = member.Cast <IAccessorDeclaration>(); } else if (secondAccessor == null) { secondAccessor = member.Cast <IAccessorDeclaration>(); } if (member.Kind == SyntaxKind.GetAccessor && getAccessor == null) { getAccessor = member.Cast <IAccessorDeclaration>(); } if (member.Kind == SyntaxKind.SetAccessor && setAccessor == null) { setAccessor = member.Cast <IAccessorDeclaration>(); } } } }); } return(new AccessorDeclarations(firstAccessor, secondAccessor, getAccessor, setAccessor)); }
private static DeclarationFlags GetObsoleteModifierAsFlags(INode source) { if (NodeArrayExtensions.Any(source.Decorators, d => IsObsolete(d))) { return(DeclarationFlags.Obsolete); } return(DeclarationFlags.None); }
public static IConstructorDeclaration GetFirstConstructorWithBody(IClassLikeDeclaration node) { return(NodeArrayExtensions.ForEachUntil(node.Members, member => { if (member.Kind == SyntaxKind.Constructor && NodeIsPresent(member.Cast <ConstructorDeclaration>().Body)) { return member.Cast <ConstructorDeclaration>(); } return (IConstructorDeclaration)null; })); }
/// <summary> /// Returns the first /// </summary> public static T First <T>(this INodeArray <T> array) { return(NodeArrayExtensions.First(array)); }
/// <summary> /// Returns true when <paramref name="array"/> is null or empty. /// </summary> public static bool IsNullOrEmpty <T>(this INodeArray <T> array) { return(NodeArrayExtensions.IsNullOrEmpty(array)); }