本文整理汇总了C#中OperatorDeclaration.Annotation方法的典型用法代码示例。如果您正苦于以下问题:C# OperatorDeclaration.Annotation方法的具体用法?C# OperatorDeclaration.Annotation怎么用?C# OperatorDeclaration.Annotation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OperatorDeclaration
的用法示例。
在下文中一共展示了OperatorDeclaration.Annotation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitOperatorDeclaration
public virtual void VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration)
{
StartNode(operatorDeclaration);
var builder = operatorDeclaration.Annotation<MethodDebugInfoBuilder>();
if (builder != null)
builder.StartPosition = writer.GetLocation();
WriteAttributes(operatorDeclaration.Attributes);
WriteModifiers(operatorDeclaration.ModifierTokens);
var oldRef = currentMethodReference;
currentMethodReference = new object();
if (operatorDeclaration.OperatorType == OperatorType.Explicit) {
WriteKeyword(OperatorDeclaration.ExplicitRole);
} else if (operatorDeclaration.OperatorType == OperatorType.Implicit) {
WriteKeyword(OperatorDeclaration.ImplicitRole);
} else {
operatorDeclaration.ReturnType.AcceptVisitor(this);
}
WriteKeywordIdentifier(OperatorDeclaration.OperatorKeywordRole);
Space();
if (operatorDeclaration.OperatorType == OperatorType.Explicit
|| operatorDeclaration.OperatorType == OperatorType.Implicit) {
operatorDeclaration.ReturnType.AcceptVisitor(this);
} else {
WriteTokenOperatorOrKeyword(OperatorDeclaration.GetToken(operatorDeclaration.OperatorType), OperatorDeclaration.GetRole(operatorDeclaration.OperatorType));
}
Space(policy.SpaceBeforeMethodDeclarationParentheses);
WriteCommaSeparatedListInParenthesis(operatorDeclaration.Parameters, policy.SpaceWithinMethodDeclarationParentheses, CodeBracesRangeFlags.Parentheses);
WriteMethodBody(operatorDeclaration.Body);
if (builder != null)
builder.EndPosition = writer.GetLocation();
currentMethodReference = oldRef;
EndNode(operatorDeclaration);
}