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


C# BlockStatement.AcceptVisitor方法代码示例

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


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

示例1: ReplaceAllFunctionAssignments

		void ReplaceAllFunctionAssignments(BlockStatement block, string functionName, TypeReference typeReference)
		{
			ReturnStatementForFunctionAssignment visitor = new ReturnStatementForFunctionAssignment(functionName);
			block.AcceptVisitor(visitor, null);
			if (visitor.expressionsToReplace.Count == 1 && !visitor.hasExit && IsAssignmentTo(block.Children.Last(), functionName)) {
				Expression returnValue = GetAssignmentFromStatement(block.Children.Last()).Right;
				block.Children.RemoveAt(block.Children.Count - 1);
				block.Return(returnValue);
			} else {
				if (visitor.expressionsToReplace.Count > 0) {
					foreach (var expr in visitor.expressionsToReplace) {
						expr.Identifier = FunctionReturnValueName;
					}
					Expression init;
					init = ExpressionBuilder.CreateDefaultValueForType(typeReference);
					block.Children.Insert(0, new LocalVariableDeclaration(new VariableDeclaration(FunctionReturnValueName, init, typeReference)));
					block.Children[0].Parent = block;
					block.Return(new IdentifierExpression(FunctionReturnValueName));
				}
			}
		}
开发者ID:Altaxo,项目名称:Altaxo,代码行数:21,代码来源:VBNetConstructsConvertVisitor.cs

示例2: HasReferencesInSelection

 private bool HasReferencesInSelection(ISelection selection, Variable variable)
 {
     FindReferenceVisitor frv = new FindReferenceVisitor(CSharpNameComparer, variable.Name, selection.StartPosition, selection.EndPosition);
     var statement = new BlockStatement();
     statement.Children = selection.Nodes;
     statement.AcceptVisitor(frv, null);
     return frv.Identifiers.Count > 0;
 }
开发者ID:Adam-Fogle,项目名称:agentralphplugin,代码行数:8,代码来源:CSharpMethodExtractor.cs


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