private static SyntaxNode ProcessAsynch(SyntaxNode node, Scope scope, SyntacticalExtension <SyntaxNode> extension) { if (extension.Kind == ExtensionKind.Code) { var result = AsynchTemplate .ReplaceNodes(AsynchTemplate .DescendantNodes() .OfType <BlockSyntax>(), (oldNode, newNode) => extension.Body); var document = scope.GetDocument <SyntaxToken, SyntaxNode, SemanticModel>(); document.change(node.Parent, RoslynCompiler.AddStatement(ContextVariable, before: node)); return(result); } scope.AddError("asynch01", "asynch does not return a value", node); return(node); }