Libraries.Language.Compile.Translate.BinaryAndOrOpcode Documentation

Inherits from: Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode

Summary

Variable Summary Table

VariablesDescription
Libraries.Language.Compile.Translate.BinaryAndOrOpcode opcodeParent
boolean hasParent
Libraries.Language.Compile.Translate.QuorumOpcode left
Libraries.Language.Compile.Translate.QuorumOpcode right
boolean isOnLeft
boolean isAnd

Actions Summary Table

ActionsDescription
CalculateBytecodeOffset(Libraries.Language.Compile.Symbol.Variable variable)
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.
Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)
GetBytecodeOffset()
GetFalseLabel()
GetFinalLabel()
GetHashCode()This action gets the hash code for an object.
GetIsIfExpression()
GetJumpLabel()
GetLeftHandSideLabel()
GetLocation()
GetMethodWriter()
GetOperation()
GetRightHandSideLabel()
GetTemplateCopy()
GetTrueLabel()
GetType()
IsAnd()
IsOnLeft()
SetBytecodeWriteOffset(integer offset)
SetBytecodeWriteOffsetToAllChildren(integer offset)if it's true, push true and ba
SetChildLabels(Libraries.Language.Compile.Translate.JavaBytecodeLabel trueLabel, Libraries.Language.Compile.Translate.JavaBytecodeLabel falseLabel)visit the left hand si
SetIsIfExpression(boolean isInIf)
SetLocation(Libraries.Language.Compile.Location loc)
SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)if it's false, push false and ba
SetOperation(Libraries.Language.Compile.Symbol.Operation op)
SetType(Libraries.Language.Compile.Symbol.Type type)
VisitLineNumber()
Write()
WriteJavaScript()

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 (smalle

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(

Parameters

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

GetFalseLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetFinalLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

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

GetJumpLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetLeftHandSideLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetLocation()

Return

Libraries.Language.Compile.Location

GetMethodWriter()

Return

Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter

GetOperation()

Return

Libraries.Language.Compile.Symbol.Operation

GetRightHandSideLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetTemplateCopy()

Return

Libraries.Language.Compile.Translate.QuorumOpcode

GetTrueLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetType()

Return

Libraries.Language.Compile.Symbol.Type

IsAnd()

Return

boolean

IsOnLeft()

Return

boolean

SetBytecodeWriteOffset(integer offset)

Parameters

SetBytecodeWriteOffsetToAllChildren(integer offset)

if it's true, push true and ba

Parameters

SetChildLabels(Libraries.Language.Compile.Translate.JavaBytecodeLabel trueLabel, Libraries.Language.Compile.Translate.JavaBytecodeLabel falseLabel)

visit the left hand si

Parameters

SetIsIfExpression(boolean isInIf)

Parameters

SetLocation(Libraries.Language.Compile.Location loc)

Parameters

SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)

Parameters

SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)

if it's false, push false and ba

Parameters

SetOperation(Libraries.Language.Compile.Symbol.Operation op)

Parameters

SetType(Libraries.Language.Compile.Symbol.Type type)

Parameters

VisitLineNumber()

Write()

WriteJavaScript()

Return

text