/// <summary> /// Creates a syntax receiver input node. Only used for back compat in <see cref="SourceGeneratorAdaptor"/> /// </summary> internal IncrementalValueProvider <ISyntaxContextReceiver?> CreateSyntaxReceiverProvider(SyntaxContextReceiverCreator creator) { var node = new SyntaxReceiverInputNode(creator, _registerOutput); _inputNodes.Add(node); return(new IncrementalValueProvider <ISyntaxContextReceiver?>(node)); }
public Builder(SyntaxReceiverInputNode owner, DriverStateTable driverStateTable, bool trackIncrementalSteps) { _owner = owner; _nodeStateTable = driverStateTable.GetStateTableOrEmpty <ISyntaxContextReceiver?>(_owner).ToBuilder(stepName: null, trackIncrementalSteps); try { _receiver = owner._receiverCreator(); } catch (Exception e) { throw new UserFunctionException(e); } if (_receiver is object) { _walker = new GeneratorSyntaxWalker(_receiver); } }