当前位置: 首页>>代码示例>>C#>>正文


C# AstNode.GetChildrenByRole方法代码示例

本文整理汇总了C#中AstNode.GetChildrenByRole方法的典型用法代码示例。如果您正苦于以下问题:C# AstNode.GetChildrenByRole方法的具体用法?C# AstNode.GetChildrenByRole怎么用?C# AstNode.GetChildrenByRole使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AstNode的用法示例。


在下文中一共展示了AstNode.GetChildrenByRole方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetModifiers

		internal static Modifiers GetModifiers(AstNode node)
		{
			Modifiers m = 0;
			foreach (CSharpModifierToken t in node.GetChildrenByRole (ModifierRole)) {
				m |= t.Modifier;
			}
			return m;
		}
开发者ID:yayanyang,项目名称:monodevelop,代码行数:8,代码来源:AttributedNode.cs

示例2: SetModifiers

		internal static void SetModifiers(AstNode node, Modifiers newValue)
		{
			Modifiers oldValue = GetModifiers(node);
			AstNode insertionPos = node.GetChildrenByRole(AttributeRole).LastOrDefault();
			foreach (Modifiers m in CSharpModifierToken.AllModifiers) {
				if ((m & newValue) != 0) {
					if ((m & oldValue) == 0) {
						// Modifier was added
						node.InsertChildAfter(insertionPos, new CSharpModifierToken(AstLocation.Empty, m), ModifierRole);
					} else {
						// Modifier already exists
						insertionPos = node.GetChildrenByRole(ModifierRole).First(t => t.Modifier == m);
					}
				} else {
					if ((m & oldValue) != 0) {
						// Modifier was removed
						node.GetChildrenByRole (ModifierRole).First(t => t.Modifier == m).Remove();
					}
				}
			}
		}
开发者ID:raufbutt,项目名称:monodevelop-old,代码行数:21,代码来源:AttributedNode.cs

示例3: GetParameters

			static int GetParameters (AstNode x)
			{
				return x.GetChildrenByRole (Roles.Parameter).Count ();
			}
开发者ID:RainsSoft,项目名称:playscript-monodevelop,代码行数:4,代码来源:PathedDocumentTextEditorExtension.cs

示例4: ReplaceWithFullTypeNameAction

 CodeAction ReplaceWithFullTypeNameAction(RefactoringContext context, AstNode node, ITypeDefinition typeDefinition)
 {
     AstType astType = context.CreateShortType(typeDefinition);
     string textWithoutGenerics = astType.ToString();
     foreach (var typeArg in node.GetChildrenByRole(Roles.TypeArgument)) {
         astType.AddChild(typeArg.Clone(), Roles.TypeArgument);
     }
     return new CodeAction(textWithoutGenerics, s => s.Replace(node, astType), node);
 }
开发者ID:segaman,项目名称:NRefactory,代码行数:9,代码来源:AddUsingAction.cs

示例5: GetIdentifierName

 private static string GetIdentifierName(AstNode node)
 {
     foreach (var obj in
         from child in node.GetChildrenByRole(Roles.Identifier)
         from propertyInfo in child
             .GetType()
             .GetProperties(
                 System.Reflection.BindingFlags.Instance |
                 System.Reflection.BindingFlags.Public)
             .Where(x => x.Name == "Name")
         select propertyInfo.GetValue(child, null))
     {
         return obj.ToString();
     }
     throw new MissingFieldException("Missing Role 'Identifier' from AstNode");
 }
开发者ID:selony,项目名称:scriptcs,代码行数:16,代码来源:MethodVisitor.cs


注:本文中的AstNode.GetChildrenByRole方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。