Libraries.Language.Compile.Symbol.TypeChecker Documentation

Inherits from: Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
Add(Libraries.Language.Compile.Symbol.Class clazz)This action adds a class to the type checker, setting up operations for assignment or other aspects.
AddAutoBoxedTypes()results:Add(key, resul
CanInfer(Libraries.Language.Compile.Translate.QuorumOpcode opcode)line 15
Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op)line 15
Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Operation op)line 15
Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment)line 15
Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment, boolean local)line 15
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GenerateTypeCheckKey(text left, text right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment)get the current pare
GenerateTypeCheckKey(text left, text right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment, boolean local)line 1584.
GenerateTypeCheckingTable()
GetHashCode()This action gets the hash code for an object.
GetNarrowingConvertResult()explicit cast from Integer to boolean 17
GetNoConvertResult()explicit cast from Integer to integ
GetOperation(integer value)various number autobox
GetSubclassNarrowingConvertResult()implicit cast integer to Integ
GetSubclassWideningConvertResult()implicit cast from Integer to integ
GetSymbolTable()
GetWideningConvertResult()explicit cast from Integer to integ
SetSymbolTable(Libraries.Language.Compile.Symbol.SymbolTable table)

Actions Documentation

Add(Libraries.Language.Compile.Symbol.Class clazz)

This action adds a class to the type checker, setting up operations for assignment or other aspects. This action also prepares any parent relationships in the type checker as well.

Parameters

AddAutoBoxedTypes()

results:Add(key, resul

CanInfer(Libraries.Language.Compile.Translate.QuorumOpcode opcode)

line 15

Parameters

Return

Libraries.Language.Compile.Symbol.InferenceResult:

Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op)

line 15

Parameters

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Operation op)

line 15

Parameters

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment)

line 15

Parameters

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

Check(Libraries.Language.Compile.Symbol.Type left, Libraries.Language.Compile.Symbol.Type right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment, boolean local)

line 15

Parameters

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Example Code

Object o
        Object t
        integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Example Code

use Libraries.Language.Object
        use Libraries.Language.Types.Text
        Object o
        Text t
        boolean result = o:Equals(t)

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

GenerateTypeCheckKey(text left, text right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment)

get the current pare

Parameters

Return

text:

GenerateTypeCheckKey(text left, text right, Libraries.Language.Compile.Symbol.Operation op, boolean assignment, boolean local)

line 1584. This is allowed, but nothing needs to be done at compile ti

Parameters

Return

text:

GenerateTypeCheckingTable()

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode()

Return

integer: The integer hash code of the object.

GetNarrowingConvertResult()

explicit cast from Integer to boolean 17

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

GetNoConvertResult()

explicit cast from Integer to integ

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

GetOperation(integer value)

various number autobox

Parameters

Return

Libraries.Language.Compile.Symbol.Operation:

GetSubclassNarrowingConvertResult()

implicit cast integer to Integ

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

GetSubclassWideningConvertResult()

implicit cast from Integer to integ

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

GetSymbolTable()

Return

Libraries.Language.Compile.Symbol.SymbolTable

GetWideningConvertResult()

explicit cast from Integer to integ

Return

Libraries.Language.Compile.Symbol.TypeCheckResult:

SetSymbolTable(Libraries.Language.Compile.Symbol.SymbolTable table)

Parameters