/// <summary> /// Produces the right visibility token for a node. /// </summary> /// <param name="tokenList">The <see cref="SyntaxTokenList"/> containing the list of modifiers.</param> /// <returns></returns> public static VisibilityToken Get(this SyntaxTokenList tokenList) { if (tokenList == null) { throw new ArgumentNullException("tokenList"); } VisibilityToken visibility = VisibilityToken.None; foreach (SyntaxToken token in tokenList) { if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Public)) == 0) { visibility = visibility | VisibilityToken.Public; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Private)) == 0) { visibility = visibility | VisibilityToken.Private; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Internal)) == 0) { visibility = visibility | VisibilityToken.Internal; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Protected)) == 0) { visibility = visibility | VisibilityToken.Protected; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Static)) == 0) { visibility = visibility | VisibilityToken.Static; continue; } } return(visibility); }