Я получил ответ на свой вопрос о том, куда ушла моя аннотация (Where is my annotation?), и я перечитал его как 20 раз, но я все еще не понимаю, почему этот код не работает, почему я не могу получить аннотированное свойство, в чем проблема. Я встраиваемый код так, что легче читать ...Что происходит с аннотациями при создании нового узла?
SyntaxAnnotation propertyAnnotation = null;
SyntaxAnnotation classAnnotation = null;
//first annotate class
classAnnotation = new SyntaxAnnotation();
var newRoot = document.GetSyntaxRoot()
.ReplaceNode(classDeclaration, classDeclaration.WithAdditionalAnnotations(classAnnotation));
document = document.UpdateSyntaxRoot(newRoot);
//now annotate property
//first look for classNode that was annotated in previous step
var classNode = document.GetAnnotatedNode<ClassDeclarationSyntax>(classAnnotation);
//now annotate property
propertyAnnotation = new SyntaxAnnotation();
var newClassNode = classNode.ReplaceNode(propertyDeclaration, propertyDeclaration.WithAdditionalAnnotations(propertyAnnotation));
newRoot = document.GetSyntaxRoot()
.ReplaceNode(classNode, newClassNode);
document = document.UpdateSyntaxRoot(newRoot);
//Works
newClassNode = document.GetAnnotatedNode<ClassDeclarationSyntax>(classAnnotation);
//Fails here????
var newPropertyNode = document.GetAnnotatedNode<PropertyDeclarationSyntax>(propertyAnnotation);