override public void VisitIncDecEx(IncDecEx x) { _serializer.StartSerialize(typeof(IncDecEx).Name, SerializeSpan(x.Span), new NodeObj("Inc", x.Inc.ToString()), new NodeObj("Post", x.Post.ToString())); base.VisitIncDecEx(x); _serializer.EndSerialize(); }
public override void VisitIncDecEx(IncDecEx x) { VisitSpecificElementProlog(); SerializeToken(nameof(x.Inc), x.Inc.ToString(), null); SerializeToken(nameof(x.Post), x.Post.ToString(), null); base.VisitIncDecEx(x); }
/// <summary> /// Initializes a new instance of the <see cref="IncDecExPoint" /> class. /// </summary> /// <param name="incDecEx">Post/pre increment or decrement expression</param> /// <param name="incrementedValue">Program point with increment or decrement expression</param> internal IncDecExPoint(IncDecEx incDecEx, ValuePoint incrementedValue) { IncDecEx = incDecEx; IncrementedValue = incrementedValue; IncrementTarget = incrementedValue as LValuePoint; if (IncrementTarget == null) { throw new NotSupportedException("Given incrementedValue doesn't support incrementation"); } }
public override void VisitIncDecEx(IncDecEx x) { if (x.Post == true) { VisitElement(x.Variable); } // ++/-- ConsumeToken(x.Inc ? Tokens.T_INC : Tokens.T_DEC, x.Inc ? "++" : "--"); if (x.Post == false) { VisitElement(x.Variable); } }
public override MemoryEntry IncDecEx(IncDecEx operation, MemoryEntry incrementedValue) { var inc = operation.Inc ? 1 : -1; var values = new List <Value>(); foreach (var incremented in incrementedValue.PossibleValues) { var integer = incremented as IntegerValue; if (integer == null) { return(new MemoryEntry(OutSet.AnyValue)); } var result = OutSet.CreateInt(integer.Value + inc); values.Add(result); } return(new MemoryEntry(values)); }
/// <summary> /// Visit variable that is incremented (or decremented). /// </summary> /// <param name="x"></param> virtual public void VisitIncDecEx(IncDecEx x) { VisitElement(x.Variable); }
public override void VisitIncDecEx(IncDecEx x) { var variable = CreateRValue(x.Variable); Result(new IncDecExPoint(x, variable)); }
/// <inheritdoc /> public override void VisitIncDecEx(IncDecEx x) { RValueResult(x); }
/// <summary> /// Process increment or decrement operation, in both prefix and postfix form /// </summary> /// <remarks>This method doesn't provide assigning into incremented LValue</remarks> /// <param name="operation">Increment or decrement operation</param> /// <param name="incrementedValue">Value that has to be incremented/decremented</param> /// <returns>Result of incremented or decremented</returns> public abstract MemoryEntry IncDecEx(IncDecEx operation, MemoryEntry incrementedValue);
public override void VisitIncDecEx(IncDecEx x) { Console.WriteLine("INCDEX"); base.VisitIncDecEx(x); }
/// <summary> /// Visits IncDecEx. /// </summary> /// <param name="x">IncDecEx</param> public override void VisitIncDecEx(IncDecEx x) { this.VisitElement(x); }
/// <inheritdoc /> override public void VisitIncDecEx(IncDecEx x) { VisitElement(x.Variable); result = new IncDecEx(x.Position, x.Inc, x.Post, (VariableUse)result); }