public override SyntaxToken VisitToken(SyntaxToken token)
            {
                token = base.VisitToken(token);
                if (token.ContainsAnnotations && token.GetAnnotations(s_renameAnnotationName).Any())
                {
                    token = token.WithoutAnnotations(s_renameAnnotationName);
                }

                return(token);
            }
Ejemplo n.º 2
0
        internal static SyntaxToken UpdateAliasAnnotation(SyntaxToken token, ISymbol aliasSymbol, string replacementText)
        {
            // If the below Single() assert fails then it means the token has gone through a rename session where
            // it obtained an AliasSyntaxAnnotation and it is going through another rename session. Make sure the token
            // has only one annotation pertaining to the current session or try to extract only the current session annotation
            var originalAliasAnnotation = token.GetAnnotations(AliasAnnotation.Kind).Single();
            var originalAliasName       = AliasAnnotation.GetAliasName(originalAliasAnnotation);

            if (originalAliasName == aliasSymbol.Name)
            {
                token = token.WithoutAnnotations(originalAliasAnnotation);
                var replacementAliasAnnotation = AliasAnnotation.Create(replacementText);
                token = token.WithAdditionalAnnotations(replacementAliasAnnotation);
            }

            return(token);
        }
Ejemplo n.º 3
0
        internal static SyntaxToken UpdateAliasAnnotation(SyntaxToken token, ISymbol aliasSymbol, string replacementText)
        {
            // If the below Single() assert fails then it means the token has gone through a rename session where
            // it obtained an AliasSyntaxAnnotation and it is going through another rename session. Make sure the token
            // has only one annotation pertaining to the current session or try to extract only the current session annotation
            var originalAliasAnnotation = token.GetAnnotations(AliasAnnotation.Kind).Single();
            var originalAliasName = AliasAnnotation.GetAliasName(originalAliasAnnotation);

            if (originalAliasName == aliasSymbol.Name)
            {
                token = token.WithoutAnnotations(originalAliasAnnotation);
                var replacementAliasAnnotation = AliasAnnotation.Create(replacementText);
                token = token.WithAdditionalAnnotations(replacementAliasAnnotation);
            }

            return token;
        }
Ejemplo n.º 4
0
 public IEnumerable <TAnnotation> GetAnnotations(SyntaxToken token)
 {
     return(GetAnnotations(token.GetAnnotations(_annotationKind)));
 }
            public override SyntaxToken VisitToken(SyntaxToken token)
            {
                token = base.VisitToken(token);
                if (token.ContainsAnnotations && token.GetAnnotations(s_renameAnnotationName).Any())
                {
                    token = token.WithoutAnnotations(s_renameAnnotationName);
                }

                return token;
            }
Ejemplo n.º 6
0
 /// <summary>
 /// Determines whether the given syntax token should be preserved from major changes.
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public static bool ShouldBePreserved(this SyntaxToken token)
 {
     return(token.GetAnnotations("MDK").Any(a => a.Data.Contains("preserve")));
 }
Ejemplo n.º 7
0
        private static SyntaxAnnotation GetAnnotation(string name, SyntaxToken token, Func <FileLinePositionSpan, int?> func)
        {
            var lineSpan = token.GetLocation().GetLineSpan();

            return(token.GetAnnotations(name).FirstOrDefault() ?? new SyntaxAnnotation(name, func.Invoke(lineSpan).ToString()));
        }