Libraries.Language.Compile.Translate.UnaryOpcode Documentation
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode
Summary
Actions Summary Table
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
- Libraries.Language.Object: The object to compare to.
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
- Libraries.Language.Object: The to be compared.
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
GetOpcode()
Return
Libraries.Language.Compile.Translate.QuorumOpcode
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
SetOpcode(Libraries.Language.Compile.Translate.QuorumOpcode op)
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