Libraries.Language.Compile.Translate.BlockOpcode Documentation
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode
Actions Documentation
Add(Libraries.Language.Compile.Translate.QuorumOpcode opcode)
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
GetCheckDetectOpcode()
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()
GetIsIfExpression()
Return
boolean
GetLocation()
GetMethodWriter()
GetParentBlock()
GetTemplateCopy()
GetType()
IsDetectBlock()
Return
boolean
IsEmpty()
This action returns true only if the block contains opcodes. This is potentially useful for the case when a block exists, but there is no valid code inside of it.
Return
boolean:
SetBlock(Libraries.Language.Compile.Symbol.Block block)
Parameters
SetBytecodeWriteOffset(integer offset)
Parameters
- integer offset
SetBytecodeWriteOffsetToAllChildren(integer offset)
Parameters
- integer offset
SetCheckDetectOpcode(Libraries.Language.Compile.Translate.CheckDetectOpcode checkDetectOpcode)
SetIsDetectBlock(boolean isDetectBlock)
Parameters
- boolean isDetectBlock
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)
SetParentBlock(Libraries.Language.Compile.Translate.BlockOpcode block)
SetType(Libraries.Language.Compile.Symbol.Type type)
Parameters
VisitLineNumber()
Write()
WriteBlockOrPassIfEmpty(text value)
Parameters
- text value
Return
text
WriteJavaScript()
Return
text
WritePython()
This action returns true only if the block contains opcodes. This is potentially useful for the case when a block exists, but there is no valid code inside of it.
Return
text:
On this page
Variables TableAction Documentation- Add(Libraries.Language.Compile.Translate.QuorumOpcode opcode)
- 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()
- GetCheckDetectOpcode()
- GetHashCode()
- GetIsIfExpression()
- GetLocation()
- GetMethodWriter()
- GetParentBlock()
- GetTemplateCopy()
- GetType()
- IsDetectBlock()
- IsEmpty()
- SetBlock(Libraries.Language.Compile.Symbol.Block block)
- SetBytecodeWriteOffset(integer offset)
- SetBytecodeWriteOffsetToAllChildren(integer offset)
- SetCheckDetectOpcode(Libraries.Language.Compile.Translate.CheckDetectOpcode checkDetectOpcode)
- SetIsDetectBlock(boolean isDetectBlock)
- SetIsIfExpression(boolean isInIf)
- SetLocation(Libraries.Language.Compile.Location loc)
- SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
- SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
- SetParentBlock(Libraries.Language.Compile.Translate.BlockOpcode block)
- SetType(Libraries.Language.Compile.Symbol.Type type)
- VisitLineNumber()
- Write()
- WriteBlockOrPassIfEmpty(text value)
- WriteJavaScript()
- WritePython()