Libraries.Language.Compile.Translate.ActionOpcode 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
GetAction()
GetBytecodeOffset()
Return
integer
GetClass()
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()
GetTemplateCopy()
GetType()
IsConstructor()
Return
boolean
SetAction(Libraries.Language.Compile.Symbol.Action method)
Parameters
SetBytecodeWriteOffset(integer offset)
Parameters
- integer offset
SetBytecodeWriteOffsetToAllChildren(integer offset)
Parameters
- integer offset
SetClass(Libraries.Language.Compile.Symbol.Class clazz)
Parameters
SetIsConstructor(boolean constructor)
Parameters
- boolean constructor
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()
WriteJavaScript()
table
Return
text:
WriteParameterDebuggingTable(Libraries.Language.Compile.Translate.JavaBytecodeLabel start, Libraries.Language.Compile.Translate.JavaBytecodeLabel finish)
checked in a previous phase, which makes this a compiler bug.
Parameters
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)
- GetAction()
- GetBytecodeOffset()
- GetClass()
- GetHashCode()
- GetIsIfExpression()
- GetLocation()
- GetMethodWriter()
- GetTemplateCopy()
- GetType()
- IsConstructor()
- SetAction(Libraries.Language.Compile.Symbol.Action method)
- SetBytecodeWriteOffset(integer offset)
- SetBytecodeWriteOffsetToAllChildren(integer offset)
- SetClass(Libraries.Language.Compile.Symbol.Class clazz)
- SetIsConstructor(boolean constructor)
- 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()
- WriteJavaScript()
- WriteParameterDebuggingTable(Libraries.Language.Compile.Translate.JavaBytecodeLabel start, Libraries.Language.Compile.Translate.JavaBytecodeLabel finish)