public Position(Spark.Parser.SourceContext sourceContext, int sourceContextLength, int offset, int line, int column, Spark.Parser.PaintLink paintLink) { this.sourceContext = sourceContext; this.sourceContentLength = sourceContextLength; this.offset = offset; this.line = line; this.column = column; this.paintLink = paintLink; }
public IEnumerable <Spark.Parser.Paint> GetPaint() { Spark.Parser.PaintLink paintLink = this.PaintLink; while (true) { if (paintLink == null) { yield break; } yield return(paintLink.Paint); paintLink = paintLink.Next; } }
public Position Paint <T>(Position begin, T value) { Paint <T> paint = new Paint <T> { Begin = begin, End = this, Value = value }; Spark.Parser.PaintLink paintLink = new Spark.Parser.PaintLink { Next = this.PaintLink, Paint = paint }; return(new Position(this.sourceContext, this.sourceContentLength, this.offset, this.line, this.column, paintLink)); }