本文整理汇总了C#中Ast.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# Ast.ToString方法的具体用法?C# Ast.ToString怎么用?C# Ast.ToString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ast
的用法示例。
在下文中一共展示了Ast.ToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTypeName
/// <summary>
/// Returns the name of a given AstType
/// </summary>
/// <param name="type"></param>
/// <returns>The name</returns>
public static string GetTypeName(Ast.AstType type)
{
if (type is SimpleType)
return (type as SimpleType).Identifier;
else if (type is PtrType)
{
PtrType p = type as PtrType;
return GetTypeName(p.Target);
}
else if (type is QualifiedType)
{
QualifiedType qt = type as QualifiedType;
return qt.Name;
}
else if (type is ReferenceType)
{
ReferenceType rt = type as ReferenceType;
return GetTypeName(rt.Target);
}
else if (type == AstType.Null)
return String.Empty;
else if (type is PrimitiveType)
return (type as PrimitiveType).Keyword;
else
throw new NotImplementedException(type.ToString());
}
示例2: Walk
public void Walk(Ast.INode node, StringBuilder sb)
{
if(node is Ast.SequenceNode)
{
sb.AppendLine(string.Format("{0} (seq)", node.GetType()));
Ast.SequenceNode seq = (Ast.SequenceNode)node;
foreach(Ast.INode child in seq.Elements) {
Walk(child, sb);
}
}
else
sb.AppendLine(string.Format("{0} = {1}", node.GetType(), node.ToString()));
}