Libraries.Language.Compile.Translate.ConditionalOpcode Documentation
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode
Actions Documentation
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. 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.
Parameters
- Libraries.Language.Object: The object to compare to.
Return
integer: The Compare result, Smaller, Equal, or Larger.
Example
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
Example
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)
Some opcodes can be evaluated in the context of a runtime environment
Parameters
GetBlock()
GetBytecodeOffset()
Return
integer
GetElseBlock()
GetElseIfBlockIterator()
GetExpression()
GetHashCode()
This action gets the hash code for an object.
Return
integer: The integer hash code of the object.
Example
Object o
integer hash = o:GetHashCode()
GetIfLabelInteger()
Return
integer
GetIsIfExpression()
Return
boolean
GetLocation()
GetMethodWriter()
GetNewLabel()
GetTemplateCopy()
GetType()
SetBlock(Libraries.Language.Compile.Translate.BlockOpcode op)
SetBytecodeWriteOffset(integer offset)
Parameters
- integer offset
SetBytecodeWriteOffsetToAllChildren(integer offset)
Parameters
- integer offset
SetElseBlock(Libraries.Language.Compile.Translate.BlockOpcode block)
SetExpression(Libraries.Language.Compile.Translate.QuorumOpcode op)
SetIfLabelInteger(integer value)
Parameters
- integer value
SetIsIfExpression(boolean isInIf)
Parameters
- boolean isInIf
SetLocation(Libraries.Language.Compile.Location loc)
Parameters
SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
SetType(Libraries.Language.Compile.Symbol.Type type)
Parameters
VisitLineNumber()
Write()
WriteBlockOrPassIfEmpty(text value)
Parameters
- text value
Return
text
WriteJavaScript()
Return
text
WritePython()
Return
text
On this page
Variables TableAction Documentation- 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)
- Equals(Libraries.Language.Object object)
- Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)
- GetBlock()
- GetBytecodeOffset()
- GetElseBlock()
- GetElseIfBlockIterator()
- GetExpression()
- GetHashCode()
- 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()
- WriteBlockOrPassIfEmpty(text value)
- WriteJavaScript()
- WritePython()