Pidgin

Class SourcePos

Represents a (line, col) position in an input stream

Inheritance
Implements
Declaration
public sealed class SourcePos : ValueType, IEquatable<SourcePos>, IComparable<SourcePos>

Constructors

SourcePos(Int32, Int32)

Create a new SourcePos with the specified 1-indexed line and column number.

Declaration
public SourcePos(int line, int col)
Parameters
Type Name Description

Int32

line

The 1-indexed line number

Int32

col

The 1-indexed column number

Properties

Col

Gets the column of the position in the input stream The value is 1-indexed: a Col value of 1 refers to the first column of the line.

Declaration
public int Col { get; }
Property Value
Type Description

Int32

The column

Line

Gets the line of the position in the input stream. The value is 1-indexed: a Line value of 1 refers to the first line of the input document.

Declaration
public int Line { get; }
Property Value
Type Description

Int32

The line

Methods

CompareTo(SourcePos)

Declaration
public int CompareTo(SourcePos other)
Parameters
Type Name Description

SourcePos

other

Returns
Type Description

Int32

Equals(SourcePos)

Declaration
public bool Equals(SourcePos other)
Parameters
Type Name Description

SourcePos

other

Returns
Type Description

Boolean

Equals(Object)

Declaration
public override bool Equals(object other)
Parameters
Type Name Description

Object

other

Returns
Type Description

Boolean

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description

Int32

IncrementCol()

Creates a SourcePos with the column number incremented by one

Declaration
public SourcePos IncrementCol()
Returns
Type Description

SourcePos

A SourcePos with the column number incremented by one

NewLine()

Creates a SourcePos with the line number incremented by one and the column number reset to 1

Declaration
public SourcePos NewLine()
Returns
Type Description

SourcePos

A SourcePos with the line number incremented by one and the column number reset to 1

Plus(SourcePosDelta)

Add a SourcePosDelta to this SourcePos.

Declaration
public SourcePos Plus(SourcePosDelta other)
Parameters
Type Name Description

SourcePosDelta

other

The SourcePosDelta to add to this SourcePos.

Returns
Type Description

SourcePos

A SourcePos representing the composition of this and other.

Operators

Addition(SourcePos, SourcePosDelta)

Add a SourcePosDelta to this SourcePos.

Declaration
public static SourcePos operator +(SourcePos left, SourcePosDelta right)
Parameters
Type Name Description

SourcePos

left

The SourcePos.

SourcePosDelta

right

The SourcePosDelta to add to this SourcePos.

Returns
Type Description

SourcePos

A SourcePos representing the composition of left and right.

Equality(SourcePos, SourcePos)

Declaration
public static bool operator ==(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

GreaterThan(SourcePos, SourcePos)

Declaration
public static bool operator>(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

GreaterThanOrEqual(SourcePos, SourcePos)

Declaration
public static bool operator >=(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

Inequality(SourcePos, SourcePos)

Declaration
public static bool operator !=(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

LessThan(SourcePos, SourcePos)

Declaration
public static bool operator <(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

LessThanOrEqual(SourcePos, SourcePos)

Declaration
public static bool operator <=(SourcePos left, SourcePos right)
Parameters
Type Name Description

SourcePos

left

SourcePos

right

Returns
Type Description

Boolean

Implements

System.IEquatable<T>
System.IComparable<T>