public virtual void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration)
{
StartNode(typeParameterDeclaration);
WriteAttributes(typeParameterDeclaration.Attributes);
switch (typeParameterDeclaration.Variance) {
case VarianceModifier.Invariant:
break;
case VarianceModifier.Covariant:
WriteKeyword(TypeParameterDeclaration.OutVarianceKeywordRole);
break;
case VarianceModifier.Contravariant:
WriteKeyword(TypeParameterDeclaration.InVarianceKeywordRole);
break;
default:
throw new NotSupportedException ("Invalid value for VarianceModifier");
}
WriteIdentifier(typeParameterDeclaration.NameToken);
EndNode(typeParameterDeclaration);
}