/// <summary> /// Begins a new statement. /// </summary> /// <param name="command">The initial command to emit.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(string command) { var emitter = new StatementEmitter(this); emitter.AppendCommand(command); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <param name="fieldIndices">The field indices to use.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(Variable target, ImmutableArray <int> fieldIndices) { var emitter = new StatementEmitter(this); emitter.AppendFieldTarget(target, fieldIndices); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <param name="indexer">The indexer variable to use.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(Variable target, Variable indexer) { var emitter = new StatementEmitter(this); emitter.AppendIndexedTarget(target, indexer); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(Variable target) { var emitter = new StatementEmitter(this); emitter.AppendTarget(target); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <param name="fieldIndex">The field index to use.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(Variable target, int fieldIndex) { var emitter = new StatementEmitter(this); emitter.AppendFieldTarget(target, fieldIndex); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(IntrinsicVariable target) { var emitter = new StatementEmitter(this, Indent); emitter.AppendTarget(target); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <param name="fieldAccess">The field access to use.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(Variable target, FieldAccess fieldAccess) { var emitter = new StatementEmitter(this); emitter.AppendFieldTarget(target, fieldAccess); return(emitter); }
/// <summary> /// Begins a new statement. /// </summary> /// <param name="command">The initial command to emit.</param> /// <returns>The created statement emitter.</returns> public StatementEmitter BeginStatement(FormattableString command) { var emitter = new StatementEmitter(this); emitter.AppendOperation(command); return(emitter); }
/// <summary> /// Emits a move operation. /// </summary> /// <param name="target">The target variable to assign to.</param> /// <param name="source">The source variable to assign to.</param> public void Move(Variable target, Variable source) { using (var emitter = new StatementEmitter(this)) { emitter.AppendTarget(target, false); emitter.Append(source); } }
/// <summary> /// Declares a variable /// </summary> /// <param name="target">The target variable to declare.</param> public void Declare(Variable target) { using (var emitter = new StatementEmitter(this)) emitter.AppendDeclaration(target); }