Libraries.Language.Compile.Translate.ClassOpcode Documentation

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

Actions Documentation

Add(Libraries.Language.Compile.Translate.ActionOpcode method)

AddField(Libraries.Language.Compile.Translate.QuorumOpcode fieldOpcode)

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

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)

ComputeConstructor(boolean isParent)

wrap this in a check detect block

Parameters

  • boolean isParent

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

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

GetBuildFile()

GetBuildFolder()

GetBuildInterfaceFile()

GetBytecodeOffset()

Return

integer

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

GetName()

Return

text

GetParentLink(Libraries.Language.Compile.Symbol.Class from, Libraries.Language.Compile.Symbol.Class theParent)

GetParentWebLink(Libraries.Language.Compile.Symbol.Class from, Libraries.Language.Compile.Symbol.Class theParent)

GetStaticKey()

Return

text

GetTemplateCopy()

SetBuild(Libraries.System.File file)

SetBuildPaths()

This action sets the build paths, but does not actually write the files to disk.

SetBytecodeWriteOffset(integer offset)

Parameters

  • integer offset

SetBytecodeWriteOffsetToAllChildren(integer offset)

Parameters

  • integer offset

SetClass(Libraries.Language.Compile.Symbol.Class clazz)

SetClassWriter(Libraries.Language.Compile.Translate.JavaBytecodeClassWriter writer)

SetConstructor(Libraries.Language.Compile.Translate.ActionOpcode method)

SetInterfaceWriter(Libraries.Language.Compile.Translate.JavaBytecodeClassWriter writer)

SetIsIfExpression(boolean isInIf)

Parameters

  • boolean isInIf

SetLocation(Libraries.Language.Compile.Location loc)

SetMethodWriter(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)

SetMethodWriterToAllChildren(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter writer)

SetName(text name)

Parameters

  • text name

SetPackage(Libraries.Language.Compile.QualifiedName value)

SetStaticKey(text staticKey)

Parameters

  • text staticKey

SetSymbolTable(Libraries.Language.Compile.Symbol.SymbolTable table)

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

VisitLineNumber()

Write()

WriteBlockOrPassIfEmpty(text value)

Parameters

  • text value

Return

text

WriteFieldDeclarations()

write the getter for this parent's variable

WriteFields(Libraries.Language.Compile.Translate.JavaBytecodeMethodWriter methodWriter)

In Quorum-11, object is ignored.

Parameters

WriteJavaScript()

Not in Quorum-11

Return

text:

WriteJavaScriptPlugin()

their parents and set them appropriately

Return

text:

WriteMain()

do the setter implementation

WritePython()

text hiddenSetterSignature =

Return

text:

WriteToWeb()

add the static key and the name

Return

text:

WriteToWebPage(Libraries.Language.Compile.Documentation.DocumentationGenerator generator)