BetweenValue

Overview

Between value can be used to generate expressions like a < b < c, which means that b is between a and c. The binary operators supported by this value are > < >= and <=.

Location

constructor

Create a new instance of this class

``constructor``

``BetweenValue()``

``init()``

``BetweenValue()``

``Sub New()``

Create a new instance of this class

``constructor(aLeft: Value; aMiddle: Value; aRight: Value; aLeftOp: BinaryOperator; aRightOp: BinaryOperator)``

``BetweenValue(Value aLeft, Value aMiddle, Value aRight, BinaryOperator aLeftOp, BinaryOperator aRightOp)``

``init(_ aLeft: Value, _ aMiddle: Value, _ aRight: Value, _ aLeftOp: BinaryOperator, _ aRightOp: BinaryOperator)``

``BetweenValue(Value aLeft, Value aMiddle, Value aRight, BinaryOperator aLeftOp, BinaryOperator aRightOp)``

``Sub New(aLeft As Value, aMiddle As Value, aRight As Value, aLeftOp As BinaryOperator, aRightOp As BinaryOperator)``

Parameters:

• aLeft: Left side of the between
• aMiddle: Middle of the between
• aRight: Right side of the between
• aLeftOp: Left operator
• aRightOp: Right operator

Binary    (declared in Value)

Creates a binary value

``method Binary(aOp: BinaryOperator; aOther: Value): Value``

``Value Binary(BinaryOperator aOp, Value aOther)``

``func Binary(_ aOp: BinaryOperator, _ aOther: Value) -> Value``

``Value Binary(BinaryOperator aOp, Value aOther)``

``Function Binary(aOp As BinaryOperator, aOther As Value) As Value``

Parameters:

• aOp: Operator
• aOther: Right side value

Identifier (String): Value    (declared in Value)

creates an identifier value

``method Identifier(aName: String): Value``

``Value Identifier(String aName)``

``func Identifier(_ aName: String) -> Value``

``Value Identifier(String aName)``

``Function Identifier(aName As String) As Value``

Parameters:

• aName: Name of the value

Identifier (String, array of IType): Value    (declared in Value)

creates an identifier value

``method Identifier(aName: String; aArgs: array of IType): Value``

``Value Identifier(String aName, IType[] aArgs)``

``func Identifier(_ aName: String, _ aArgs: IType...) -> Value``

``Value Identifier(String aName, IType[] aArgs)``

``Function Identifier(aName As String, aArgs As IType()) As Value``

Parameters:

• aName: Name of the value
• aArgs: Generic arguments.

Kind

Value kind; use this for a fast way of determining what kind of sub class a Value object is

``property Kind: ValueKind read;``

``ValueKind Kind { get; }``

``var Kind: ValueKind { get{} }``

``ValueKind Kind { __get; }``

``ReadOnly Property Kind() As ValueKind``

Left

Get or set the left value

``property Left: Value read write;``

``Value Left { get; set; }``

``var Left: Value { get{} set{} }``

``Value Left { __get; __set; }``

``Property Left() As Value``

LeftOp

Operator between the left and middle value

``property LeftOp: BinaryOperator read write;``

``BinaryOperator LeftOp { get; set; }``

``var LeftOp: BinaryOperator { get{} set{} }``

``BinaryOperator LeftOp { __get; __set; }``

``Property LeftOp() As BinaryOperator``

Length    (declared in Value)

Creates a length value

``method Length: Value``

``Value Length()``

``func Length() -> Value``

``Value Length()``

``Function Length() As Value``

Middle

Middle value

``property Middle: Value read write;``

``Value Middle { get; set; }``

``var Middle: Value { get{} set{} }``

``Value Middle { __get; __set; }``

``Property Middle() As Value``

NotNil    (declared in Value)

Creates a not nil value

``method NotNil: Value``

``Value NotNil()``

``func NotNil() -> Value``

``Value NotNil()``

``Function NotNil() As Value``

Position    (declared in Value)

Position this value is defined at (if not set, it will be at the aspects position)

``property Position: IPosition read write;``

``IPosition Position { get; set; }``

``var Position: IPosition { get{} set{} }``

``IPosition Position { __get; __set; }``

``Property Position() As IPosition``

Proc (String, array of IType, array of Value): Value    (declared in Value)

Creates a call value

``method Proc(aName: String; aGP: array of IType; params aArgs: array of Value): Value``

``Value Proc(String aName, IType[] aGP, params Value[] aArgs)``

``func Proc(_ aName: String, _ aGP: IType..., _ aArgs: Value...) -> Value``

``Value Proc(String aName, IType[] aGP, Value[]... aArgs)``

``Function Proc(aName As String, aGP As IType(), ParamArray aArgs As Value()) As Value``

Parameters:

• aName: Method name
• aGP: Generic parameters to pass
• aArgs: Arguments for this call

Proc (String, array of Value): Value    (declared in Value)

Creates a call value

``method Proc(aName: String; params aArgs: array of Value): Value``

``Value Proc(String aName, params Value[] aArgs)``

``func Proc(_ aName: String, _ aArgs: Value...) -> Value``

``Value Proc(String aName, Value[]... aArgs)``

``Function Proc(aName As String, ParamArray aArgs As Value()) As Value``

Parameters:

• aName: Method name
• aArgs: Arguments for this call

Right value

``property Right: Value read write;``

``Value Right { get; set; }``

``var Right: Value { get{} set{} }``

``Value Right { __get; __set; }``

``Property Right() As Value``

RightOp

Gets or sets the operator between the middle and right value

``property RightOp: BinaryOperator read write;``

``BinaryOperator RightOp { get; set; }``

``var RightOp: BinaryOperator { get{} set{} }``

``BinaryOperator RightOp { __get; __set; }``

``Property RightOp() As BinaryOperator``

SubArray    (declared in Value)

Creates an array/property element access value

``method SubArray(params aArgs: array of Value): Value``

``Value SubArray(params Value[] aArgs)``

``func SubArray(_ aArgs: Value...) -> Value``

``Value SubArray(Value[]... aArgs)``

``Function SubArray(ParamArray aArgs As Value()) As Value``

Parameters:

• aArgs: Arguments for element access

ToString

Returns the string value of this value

``method ToString: String``

``String ToString()``

``func ToString() -> String``

``String ToString()``

``Function ToString() As String``

Unary    (declared in Value)

Creates a unary value

``method Unary(aOp: UnaryOperator): Value``

``Value Unary(UnaryOperator aOp)``

``func Unary(_ aOp: UnaryOperator) -> Value``

``Value Unary(UnaryOperator aOp)``

``Function Unary(aOp As UnaryOperator) As Value``

Parameters:

• aOp: Operator

Kind

Value kind; use this for a fast way of determining what kind of sub class a Value object is

``property Kind: ValueKind read;``

``ValueKind Kind { get; }``

``var Kind: ValueKind { get{} }``

``ValueKind Kind { __get; }``

``ReadOnly Property Kind() As ValueKind``

Left

Get or set the left value

``property Left: Value read write;``

``Value Left { get; set; }``

``var Left: Value { get{} set{} }``

``Value Left { __get; __set; }``

``Property Left() As Value``

LeftOp

Operator between the left and middle value

``property LeftOp: BinaryOperator read write;``

``BinaryOperator LeftOp { get; set; }``

``var LeftOp: BinaryOperator { get{} set{} }``

``BinaryOperator LeftOp { __get; __set; }``

``Property LeftOp() As BinaryOperator``

Middle

Middle value

``property Middle: Value read write;``

``Value Middle { get; set; }``

``var Middle: Value { get{} set{} }``

``Value Middle { __get; __set; }``

``Property Middle() As Value``

Position    (declared in Value)

Position this value is defined at (if not set, it will be at the aspects position)

``property Position: IPosition read write;``

``IPosition Position { get; set; }``

``var Position: IPosition { get{} set{} }``

``IPosition Position { __get; __set; }``

``Property Position() As IPosition``

Right value

``property Right: Value read write;``

``Value Right { get; set; }``

``var Right: Value { get{} set{} }``

``Value Right { __get; __set; }``

``Property Right() As Value``

RightOp

Gets or sets the operator between the middle and right value

``property RightOp: BinaryOperator read write;``

``BinaryOperator RightOp { get; set; }``

``var RightOp: BinaryOperator { get{} set{} }``

``BinaryOperator RightOp { __get; __set; }``

``Property RightOp() As BinaryOperator``

constructor

Create a new instance of this class

``constructor``

``BetweenValue()``

``init()``

``BetweenValue()``

``Sub New()``

Create a new instance of this class

``constructor(aLeft: Value; aMiddle: Value; aRight: Value; aLeftOp: BinaryOperator; aRightOp: BinaryOperator)``

``BetweenValue(Value aLeft, Value aMiddle, Value aRight, BinaryOperator aLeftOp, BinaryOperator aRightOp)``

``init(_ aLeft: Value, _ aMiddle: Value, _ aRight: Value, _ aLeftOp: BinaryOperator, _ aRightOp: BinaryOperator)``

``BetweenValue(Value aLeft, Value aMiddle, Value aRight, BinaryOperator aLeftOp, BinaryOperator aRightOp)``

``Sub New(aLeft As Value, aMiddle As Value, aRight As Value, aLeftOp As BinaryOperator, aRightOp As BinaryOperator)``

Parameters:

• aLeft: Left side of the between
• aMiddle: Middle of the between
• aRight: Right side of the between
• aLeftOp: Left operator
• aRightOp: Right operator

Binary    (declared in Value)

Creates a binary value

``method Binary(aOp: BinaryOperator; aOther: Value): Value``

``Value Binary(BinaryOperator aOp, Value aOther)``

``func Binary(_ aOp: BinaryOperator, _ aOther: Value) -> Value``

``Value Binary(BinaryOperator aOp, Value aOther)``

``Function Binary(aOp As BinaryOperator, aOther As Value) As Value``

Parameters:

• aOp: Operator
• aOther: Right side value

Identifier (String): Value    (declared in Value)

creates an identifier value

``method Identifier(aName: String): Value``

``Value Identifier(String aName)``

``func Identifier(_ aName: String) -> Value``

``Value Identifier(String aName)``

``Function Identifier(aName As String) As Value``

Parameters:

• aName: Name of the value

Identifier (String, array of IType): Value    (declared in Value)

creates an identifier value

``method Identifier(aName: String; aArgs: array of IType): Value``

``Value Identifier(String aName, IType[] aArgs)``

``func Identifier(_ aName: String, _ aArgs: IType...) -> Value``

``Value Identifier(String aName, IType[] aArgs)``

``Function Identifier(aName As String, aArgs As IType()) As Value``

Parameters:

• aName: Name of the value
• aArgs: Generic arguments.

Length    (declared in Value)

Creates a length value

``method Length: Value``

``Value Length()``

``func Length() -> Value``

``Value Length()``

``Function Length() As Value``

NotNil    (declared in Value)

Creates a not nil value

``method NotNil: Value``

``Value NotNil()``

``func NotNil() -> Value``

``Value NotNil()``

``Function NotNil() As Value``

Proc (String, array of IType, array of Value): Value    (declared in Value)

Creates a call value

``method Proc(aName: String; aGP: array of IType; params aArgs: array of Value): Value``

``Value Proc(String aName, IType[] aGP, params Value[] aArgs)``

``func Proc(_ aName: String, _ aGP: IType..., _ aArgs: Value...) -> Value``

``Value Proc(String aName, IType[] aGP, Value[]... aArgs)``

``Function Proc(aName As String, aGP As IType(), ParamArray aArgs As Value()) As Value``

Parameters:

• aName: Method name
• aGP: Generic parameters to pass
• aArgs: Arguments for this call

Proc (String, array of Value): Value    (declared in Value)

Creates a call value

``method Proc(aName: String; params aArgs: array of Value): Value``

``Value Proc(String aName, params Value[] aArgs)``

``func Proc(_ aName: String, _ aArgs: Value...) -> Value``

``Value Proc(String aName, Value[]... aArgs)``

``Function Proc(aName As String, ParamArray aArgs As Value()) As Value``

Parameters:

• aName: Method name
• aArgs: Arguments for this call

SubArray    (declared in Value)

Creates an array/property element access value

``method SubArray(params aArgs: array of Value): Value``

``Value SubArray(params Value[] aArgs)``

``func SubArray(_ aArgs: Value...) -> Value``

``Value SubArray(Value[]... aArgs)``

``Function SubArray(ParamArray aArgs As Value()) As Value``

Parameters:

• aArgs: Arguments for element access

ToString

Returns the string value of this value

``method ToString: String``

``String ToString()``

``func ToString() -> String``

``String ToString()``

``Function ToString() As String``

Unary    (declared in Value)

Creates a unary value

``method Unary(aOp: UnaryOperator): Value``

``Value Unary(UnaryOperator aOp)``

``func Unary(_ aOp: UnaryOperator) -> Value``

``Value Unary(UnaryOperator aOp)``

``Function Unary(aOp As UnaryOperator) As Value``

Parameters:

• aOp: Operator