Libraries.Language.Compile.Translate.QuorumOpcode Documentation

Inherits from: Libraries.Language.Object

Summary

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)Some opcodes can be evaluated in the context of a runtime environment
GetBytecodeOffset()
GetHashCode()This action gets the hash code for an object.
GetIsIfExpression()
GetLocation()
GetMethodWriter()
GetTemplateCopy()This action copies only that information provided by the type checker.
GetType()
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)
SetType(Libraries.Language.Compile.Symbol.Type type)
VisitLineNumber()
Write()Some opcodes can be evaluated in the context of a runtime environment
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 (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

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

GetTemplateCopy()

This action copies only that information provided by the type checker. It guarantees that the object is of the same type, but opcode lists are not copied, nor is any class particular information. For example, a plus opcode would be copied, as this is static information, but what it is adding would not.

Return

Libraries.Language.Compile.Translate.QuorumOpcode:

GetType()

Return

Libraries.Language.Compile.Symbol.Type

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

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

Parameters

VisitLineNumber()

Write()

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

WriteJavaScript()

Return

text