public LambdaInvocation CloneForLambdaInvoke(int clonedId, LambdaExpressionParameterNode lambdaParameter, Node lambdaArgument) { if (_clonedId != clonedId) { _clonedId = clonedId; var clonedArgument = Argument.CloneForLambdaInvoke(clonedId, lambdaParameter, lambdaArgument); var clonedGetter = LambdaGetter.CloneForLambdaInvoke(clonedId, lambdaParameter, lambdaArgument); _cloned = clonedArgument == Argument && clonedGetter == LambdaGetter ? this : new LambdaInvocation(clonedArgument, clonedGetter); } return _cloned; }
public LambdaInvocationOutputNode(FuncitonFunction thisFunction, int outputPosition, LambdaInvocation invocation) : base(thisFunction) { OutputPosition = outputPosition; Invocation = invocation; }
public LambdaInvocation CloneForFunctionCall(int clonedId, Node[] functionInputs) { if (_clonedId != clonedId) { _clonedId = clonedId; _cloned = new LambdaInvocation(Argument.CloneForFunctionCall(clonedId, functionInputs), LambdaGetter.CloneForFunctionCall(clonedId, functionInputs)); } return _cloned; }