示例#1
0
文件: BinaryOp.cs 项目: hultqvist/lax
 public override LaxExpression WithRangeOf(ICodeRange range)
 {
     return new BinaryOp(range.CodeRange, Operator)
     {
         Left = this.Left,
         Right = this.Right,
     };
 }
示例#2
0
 public Assignment(ICodeRange pos)
     : base(ExprType.Assignment, PrecedenceFromToken("="), AssociateFrom("="))
 {
     this.CodeRange = pos.CodeRange;
 }
示例#3
0
 public virtual LaxExpression WithRangeOf(ICodeRange range)
 {
     throw new NotImplementedException();
 }
示例#4
0
        /// <summary>
        /// Expand this position to cover the other position.
        /// </summary>
        /// <param name="end"></param>
        public CodeRange Expand2(ICodeRange pos)
        {
            var end = pos.CodeRange;
            var r = new CodeRange()
            {
                Start = this.Start,
                End = this.End,
            };
            if (end.Start < r.Start)
                r.Start = end.Start;
            if (r.End < end.End)
                r.End = end.End;

            return r;
        }
示例#5
0
 public CodeRange(ICodeRange a, ICodeRange b)
     : this(a.CodeRange, b.CodeRange)
 {
 }
示例#6
0
 public SyntaxError(ICodeRange token, string message)
     : this(token.CodeRange, message)
 { }