Libraries.Language.Compile.Translate.ComparisonOpcode Documentation
Inherits from: Libraries.Language.Compile.Translate.BinaryOpcode, Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode
Summary
Variable Summary Table
Variables | Description |
---|---|
integer textCompareValue | |
boolean isTextEquality | |
boolean isLeftUndefined | |
boolean isRightUndefined | |
boolean isTextCompare |
Actions Summary Table
Actions Documentation
CalculateBytecodeOffset(Libraries.Language.Compile.Symbol.Variable variable)
Parameters
Return
integer
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
- Libraries.Language.Object: The object to compare to.
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
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)
Parameters
GetBytecodeOffset()
Return
integer
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.
GetIsIfExpression()
Return
boolean
GetJavaLeftOpcode()
types have been converted
Return
integer:
GetJavaLeftOpcode2()
if it's true, push true and bail
Return
integer:
GetJavaOpcode()
types have been converted
Return
integer:
GetJavaRightOpcode()
types have been converted
Return
integer:
GetJavaRightOpcode2()
if it's false, push false and bail
Return
integer:
GetLeftOpcode()
Return
Libraries.Language.Compile.Translate.QuorumOpcode
GetLocation()
Return
Libraries.Language.Compile.Location
GetMethodWriter()
Return
Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter
GetOperation()
Return
Libraries.Language.Compile.Symbol.Operation
GetRightOpcode()
Return
Libraries.Language.Compile.Translate.QuorumOpcode
GetTemplateCopy()
if there is a second one, do that as well
Return
Libraries.Language.Compile.Translate.QuorumOpcode:
GetType()
Return
Libraries.Language.Compile.Symbol.Type
SetBytecodeWriteOffset(integer offset)
Parameters
SetBytecodeWriteOffsetToAllChildren(integer offset)
Parameters
SetIsIfExpression(boolean isInIf)
Parameters
SetJavaLeftOpcode(integer op)
Parameters
SetJavaLeftOpcode2(integer op)
Parameters
SetJavaOpcode(integer op)
Parameters
SetJavaRightOpcode(integer op)
Parameters
SetJavaRightOpcode2(integer op)
Parameters
SetLeftOpcode(Libraries.Language.Compile.Translate.QuorumOpcode op)
Parameters
SetLocation(Libraries.Language.Compile.Location loc)
Parameters
SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
Parameters
SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
Parameters
SetOperation(Libraries.Language.Compile.Symbol.Operation op)
Parameters
SetRightOpcode(Libraries.Language.Compile.Translate.QuorumOpcode op)
Parameters
SetType(Libraries.Language.Compile.Symbol.Type type)
Parameters
VisitLineNumber()
Write()
WriteJavaScript()
types have been converted
Return
text:
WriteLeft()
WriteRight()
if there is a second one, do that as well