protected string GetOperationTreeForTest <TSyntaxNode>(CSharpCompilation compilation) where TSyntaxNode : SyntaxNode { var operation = GetOperationForTest <TSyntaxNode>(compilation); return(operation != null?OperationTreeVerifier.GetOperationTree(operation) : null); }
protected string GetOperationTreeForTest <TSyntaxNode>(CSharpCompilation compilation) where TSyntaxNode : SyntaxNode { var tree = compilation.SyntaxTrees[0]; var model = compilation.GetSemanticModel(tree); SyntaxNode syntaxNode = GetSyntaxNodeOfTypeForBinding <TSyntaxNode>(GetSyntaxNodeList(tree)); if (syntaxNode == null) { return(null); } var operation = model.GetOperationInternal(syntaxNode); return(operation != null?OperationTreeVerifier.GetOperationTree(operation) : null); }
internal string TryCreate(string name, string languageName, string source, Func <SemanticModel, SyntaxNode> nodeGetter) { var tree = CreateTree(languageName, source); var compilation = CreateCompilation(languageName, tree); var model = compilation.GetSemanticModel(tree, ignoreAccessibility: true); var node = nodeGetter(model); if (node == null) { // no node we are looking for return(null); } var operation = model.GetOperationInternal(node); var expectedOperationTree = operation != null?OperationTreeVerifier.GetOperationTree(operation) : null; return(languageName == LanguageNames.CSharp ? CreateCSharpUnitTest(name, model, node, expectedOperationTree) : CreateVBUnitTest(name, model, node, expectedOperationTree)); }
protected string GetOperationTreeForTest(IOperation operation) { return(operation != null?OperationTreeVerifier.GetOperationTree(operation) : null); }