Libraries.Language.Compile.Translate.BlockOpcode Documentation

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

Summary

Actions Summary Table

ActionsDescription
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.
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()
GetHashCode()This action gets the hash code for an object.
GetIsIfExpression()
GetLocation()
GetMethodWriter()
GetParentBlock()tab
GetTemplateCopy()
GetType()
IsEmpty()This action returns true only if the block contains opcodes.
SetBlock(Libraries.Language.Compile.Symbol.Block block)
SetBytecodeWriteOffset(integer offset)
SetBytecodeWriteOffsetToAllChildren(integer offset)
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()
WriteJavaScript()This action returns true only if the block contains opcodes.

Actions Documentation

Add(Libraries.Language.Compile.Translate.QuorumOpcode opcode)

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.Symbol.Block

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

GetLocation()

Return

Libraries.Language.Compile.Location

GetMethodWriter()

Return

Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter

GetParentBlock()

tab

Return

Libraries.Language.Compile.Translate.BlockOpcode:

GetTemplateCopy()

Return

Libraries.Language.Compile.Translate.QuorumOpcode

GetType()

Return

Libraries.Language.Compile.Symbol.Type

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

SetBytecodeWriteOffsetToAllChildren(integer offset)

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

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

Parameters

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

Parameters

VisitLineNumber()

Write()

WriteJavaScript()

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: