Libraries.Language.Compile.Translate.ConditionalOpcode Documentation

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

Summary

Actions Summary Table

ActionsDescription
AddElseIf(Libraries.Language.Compile.Translate.QuorumOpcode expression, Libraries.Language.Compile.Translate.BlockOpcode block)
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)Some opcodes can be evaluated in the context of a runtime environment
GetBlock()
GetBytecodeOffset()
GetElseBlock()
GetElseIfBlockIterator()
GetExpression()
GetHashCode()This action gets the hash code for an object.
GetIfLabelInteger()
GetIsIfExpression()
GetLocation()
GetMethodWriter()
GetNewLabel()
GetTemplateCopy()
GetType()
SetBlock(Libraries.Language.Compile.Translate.BlockOpcode op)
SetBytecodeWriteOffset(integer offset)
SetBytecodeWriteOffsetToAllChildren(integer offset)
SetElseBlock(Libraries.Language.Compile.Translate.BlockOpcode block)
SetExpression(Libraries.Language.Compile.Translate.QuorumOpcode op)
SetIfLabelInteger(integer value)
SetIsIfExpression(boolean isInIf)
SetLocation(Libraries.Language.Compile.Location loc)
SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
SetType(Libraries.Language.Compile.Symbol.Type type)
VisitLineNumber()
Write()
WriteJavaScript()

Actions Documentation

AddElseIf(Libraries.Language.Compile.Translate.QuorumOpcode expression, Libraries.Language.Compile.Translate.BlockOpcode block)

Parameters

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

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.

Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)

Some opcodes can be evaluated in the context of a runtime environment

Parameters

GetBlock()

Return

Libraries.Language.Compile.Translate.BlockOpcode

GetBytecodeOffset()

Return

integer

GetElseBlock()

Return

Libraries.Language.Compile.Translate.BlockOpcode

GetElseIfBlockIterator()

Return

Libraries.Containers.Iterator

GetExpression()

Return

Libraries.Language.Compile.Translate.QuorumOpcode

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.

GetIfLabelInteger()

Return

integer

GetIsIfExpression()

Return

boolean

GetLocation()

Return

Libraries.Language.Compile.Location

GetMethodWriter()

Return

Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter

GetNewLabel()

Return

Libraries.Language.Compile.Translate.JavaBytecodeLabel

GetTemplateCopy()

Return

Libraries.Language.Compile.Translate.QuorumOpcode

GetType()

Return

Libraries.Language.Compile.Symbol.Type

SetBlock(Libraries.Language.Compile.Translate.BlockOpcode op)

Parameters

SetBytecodeWriteOffset(integer offset)

Parameters

SetBytecodeWriteOffsetToAllChildren(integer offset)

Parameters

SetElseBlock(Libraries.Language.Compile.Translate.BlockOpcode block)

Parameters

SetExpression(Libraries.Language.Compile.Translate.QuorumOpcode op)

Parameters

SetIfLabelInteger(integer value)

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)

Parameters

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

Parameters

VisitLineNumber()

Write()

WriteJavaScript()

Return

text