Libraries.Language.Compile.Translate.BinaryAndOrOpcode Documentation
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.Translate.QuorumOpcode
Variables Table
Variables | Description |
---|---|
Libraries.Language.Compile.Translate.BinaryAndOrOpcode opcodeParent | |
boolean isOnLeft | |
boolean isAnd | |
Libraries.Language.Compile.Translate.QuorumOpcode right | public JavaBytecodeMethodWriter methodWriter = undefined |
Libraries.Language.Compile.Translate.QuorumOpcode left | |
boolean hasParent |
Actions Documentation
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)
GetBytecodeOffset()
Return
integer
GetFalseLabel()
GetFinalLabel()
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
GetJumpLabel()
GetLeftHandSideLabel()
GetLocation()
GetMethodWriter()
GetOperation()
GetRightHandSideLabel()
GetTemplateCopy()
GetTrueLabel()
GetType()
IsAnd()
Return
boolean
IsOnLeft()
Return
boolean
SetBytecodeWriteOffset(integer offset)
Parameters
- integer offset
SetBytecodeWriteOffsetToAllChildren(integer offset)
if it's true, push true and bail
Parameters
- integer offset
SetChildLabels(Libraries.Language.Compile.Translate.JavaBytecodeLabel trueLabel, Libraries.Language.Compile.Translate.JavaBytecodeLabel falseLabel)
visit the left hand side
Parameters
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)
if it's false, push false and bail
Parameters
SetOperation(Libraries.Language.Compile.Symbol.Operation op)
SetType(Libraries.Language.Compile.Symbol.Type type)
Parameters
VisitLineNumber()
Write()
WriteBlockOrPassIfEmpty(text value)
Parameters
- text value
Return
text
WriteJavaScript()
This isn't working yet, it's just been stubbed in
Return
text:
WritePython()
Return
text
On this page
Variables TableAction Documentation- CalculateBytecodeOffset(Libraries.Language.Compile.Symbol.Variable variable)
- Compare(Libraries.Language.Object object)
- Equals(Libraries.Language.Object object)
- Evaluate(Libraries.Language.Compile.Interpreter.Runtime runtime)
- GetBytecodeOffset()
- GetFalseLabel()
- GetFinalLabel()
- GetHashCode()
- GetIsIfExpression()
- GetJumpLabel()
- GetLeftHandSideLabel()
- GetLocation()
- GetMethodWriter()
- GetOperation()
- GetRightHandSideLabel()
- GetTemplateCopy()
- GetTrueLabel()
- GetType()
- IsAnd()
- IsOnLeft()
- SetBytecodeWriteOffset(integer offset)
- SetBytecodeWriteOffsetToAllChildren(integer offset)
- SetChildLabels(Libraries.Language.Compile.Translate.JavaBytecodeLabel trueLabel, Libraries.Language.Compile.Translate.JavaBytecodeLabel falseLabel)
- SetIsIfExpression(boolean isInIf)
- SetLocation(Libraries.Language.Compile.Location loc)
- SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
- SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)
- SetOperation(Libraries.Language.Compile.Symbol.Operation op)
- SetType(Libraries.Language.Compile.Symbol.Type type)
- VisitLineNumber()
- Write()
- WriteBlockOrPassIfEmpty(text value)
- WriteJavaScript()
- WritePython()