override public void VisitValueAssignEx(ValueAssignEx x) { _serializer.StartSerialize(typeof(ValueAssignEx).Name, SerializeSpan(x.Span), new NodeObj("Operation", x.Operation.ToString())); base.VisitValueAssignEx(x); _serializer.EndSerialize(); }
public override void VisitValueAssignEx(ValueAssignEx x) { // L = R VisitElement(x.LValue); ConsumeToken(Tokens.T_EQ, "="); VisitElement(x.RValue); }
/// <inheritdoc /> override public void VisitValueAssignEx(ValueAssignEx x) { VisitElement(x.LValue); var lvalue = (VariableUse)result; VisitElement(x.RValue); result = new ValueAssignEx(x.Position, x.PublicOperation, lvalue, (Expression)result); }
/// <summary> /// Emits the RHS of assignment. /// </summary> /// <param name="node">Instance.</param> /// <param name="codeGenerator">A code generator.</param> /// <returns><see cref="PhpTypeCode"/> of the RHS.</returns> private PhpTypeCode EmitSourceValRead(ValueAssignEx /*!*/ node, CodeGenerator /*!*/ codeGenerator) { PhpTypeCode result; codeGenerator.ChainBuilder.Create(); result = node.RValue.Emit(codeGenerator); codeGenerator.ChainBuilder.End(); return(result); }
internal AssignOperationPoint(ValueAssignEx assign, LValuePoint lOperand, ValuePoint rOperand) { LOperand = lOperand; ROperand = rOperand; Assign = assign; AssignTarget = lOperand as LValuePoint; if (AssignTarget == null) { throw new NotSupportedException("Given lOperand cannot be used ass assign target"); } }
public override void VisitValueAssignEx(ValueAssignEx x) { var rValue = CreateRValue(x.RValue); switch (x.PublicOperation) { case Operations.AssignAppend: case Operations.AssignPrepend: var concatedValue = CreateRValue(x.LValue); Result(new AssignConcatPoint(x, concatedValue, rValue)); return; case Operations.AssignValue: var lValue = CreateLValue(x.LValue); Result(new AssignPoint(x, lValue, rValue)); return; default: //it's assign with binary operation var leftOperand = CreateLValue(x.LValue); Result(new AssignOperationPoint(x, leftOperand, rValue)); return; } }
/// <summary> /// Visit left and right values in assignment. /// </summary> /// <param name="x"></param> virtual public void VisitValueAssignEx(ValueAssignEx x) { VisitAssignEx(x); VisitElement(x.RValue); }
/// <inheritdoc /> public override void VisitValueAssignEx(ValueAssignEx x) { RValueResult(x); }
/// <summary> /// Visits ValueAssignEx. /// </summary> /// <param name="x">ValueAssignEx</param> public override void VisitValueAssignEx(ValueAssignEx x) { this.VisitElement(x); }
internal AssignPoint(ValueAssignEx assign, LValuePoint lOperand, ValuePoint rOperand) { LOperand = lOperand; ROperand = rOperand; Assign = assign; }
private static AssignExpression ToAssignExpression(ValueAssignEx e) { return(new AssignExpression(Parse(e.LValue), Parse(e.RValue))); }