Libraries.Language.Compile.Symbol.Class Documentation

Inherits from: Libraries.Language.Compile.Location, Libraries.Language.Object, Libraries.Language.Compile.Symbol.Symbol

Summary

Actions Summary Table

ActionsDescription
Add(Libraries.Language.Compile.Symbol.Action method)get the index of the generic from the pare
Add(Libraries.Language.Compile.Symbol.Variable variable)This returns all classes that have valid use statements in the clas
AddGeneric(text name)
AddParentClass(Libraries.Language.Compile.Symbol.Class clazz)
AddUnresolvedParent(Libraries.Language.Compile.QualifiedName name)
AddUnresolvedUseStatement(Libraries.Language.Compile.QualifiedName name)Returns the file on disk that contains the implementation of this clas
AddUseLocation(Libraries.Language.Compile.Location location)
AddValidUse(Libraries.Language.Compile.Symbol.Class clazz)This action returns those parents that are directly specified in the class.
CalculateFieldHints(Libraries.Language.Compile.CompilerErrorManager errors)This action returns a class from a name, like Object, for Libraries.
Compare(Libraries.Language.Object object)Variable classInstance = call:variab
ComputeGenericsTables(Libraries.Language.Compile.CompilerErrorManager compilerErrorManager)
ComputeVirtualActionTable(Libraries.Language.Compile.CompilerErrorManager errors)This action looks at all actions listed in this class's declared action table, in addition to those actions declared in parents, and fills up a new virtual action table with all actions combined.
ConvertStaticKeyToBytecodeInterfacePath()This action returns the static key formatted as a class name in Java bytecod
ConvertStaticKeyToBytecodePath()This action returns the static key formatted as a class name in Java bytecod
ConvertStaticKeyToBytecodePathTypeName()This action returns the static key formatted as a type name in Java bytecod
ConvertStaticKeyToBytecodePathTypeNameInterface()This action returns the static key formatted as a type name in Java bytecode.
ConvertStaticKeyToFieldPath()This action returns the static key formatted as a class name in the style of a fiel
ConvertStaticKeyToJavaScriptName()This action returns the static key formatted as a class name in Java bytecod
ConvertStaticKeyToParentActionName()This action digs through the generics and, if it finds one by this name, returns its index.
ConvertStaticKeyToParentFieldInterfaceName()This action converts the static key of this class to a name that can be used by the compiler as a class field name.
ConvertStaticKeyToParentFieldName()This action converts the static key of this class to a name that can be used by the compiler as a class field name.
ConvertStaticKeyToPluginPath()This action returns the static key formatted as a plugin class name in Java bytecod
ConvertStaticKeyToPluginPathTypeName()This action returns the static key formatted as a plugin class type name in Java bytecod
ConvertStaticKeyToUnderScore()This action returns the static key formatted as a class name in Java bytecod
ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter)This action returns whether or not this particular class represents Libraries.
CreateLocationCopy()This action is a helper action to get copies of the locatio
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable)This action returns true if this class is either Libraries.
GetAction(text key)generate a hint for the gett
GetActions()the parents have been resolve
GetColumnNumber()
GetColumnNumberEnd()
GetConstructor()This action returns whether or not the class has an explicity constructor defined.
GetDirectParentClasses()This action returns those parents that are directly specified in the class.
GetDisplayName()This returns a key related to the package a class is contained in.
GetDocumentation()
GetFile()Returns the file on disk that contains the implementation of this clas
GetGeneric(integer location)
GetGenericList()This action returns a list of of all generic names.
GetHashCode()This action gets the hash code for an object.
GetHiddenVariableName()This action returns the static key formatted as a type name in Java bytecode.
GetIndex()
GetIndexEnd()
GetIndexOfGeneric(text name)This action digs through the generics and, if it finds one by this name, returns its index.
GetInterfaceName()
GetLineNumber()
GetLineNumberEnd()
GetName()
GetNameLocation()
GetNumberGenerics()
GetPackage()This action converts the static key of this class to a name that can be used by the compiler as a class field name.
GetPackageKey()This returns a key related to the package a class is contained in.
GetParentActions()this is an err
GetParentClass(text key)This action returns the order in which parents should be instantiated.
GetParentClasses()Obtains a list of all parents reachable from this class.
GetParentCreationOrder()This action returns the order in which parents should be instantiated.
GetParentGenerics(text key)
GetPluginName()Returns the name of the plugin for this clas
GetStaticKey()is there a name in the use lis
GetUnresolvedParents()get the parent corresponding to this k
GetUnresolvedUseStatement(text key)it's fine to return undefined, because we just ignored the reque
GetUnresolvedUseStatements()if it's the same name, but a different class, then throw an err
GetUseLocationIterator(Libraries.System.File file)
GetValidUseName(text name)This action returns a class from a name, like Object, for Libraries.
GetValidUses()This returns all classes that have valid use statements in the clas
GetVariable(text key)generate a hint for the gett
GetVariables()now check if there's a sett
GetVirtualAction(text key)first check if there's a gett
GetVirtualTable()overrid
GuessBestUsage(Libraries.Language.Compile.Symbol.SymbolTable table, text key)This action calculates the most likely class that might be meant from a key and returns undefined if it considers its guess to be non-exact.
HasAction(text key)the parent is now resolve
HasBlueprints()
HasConstructor()This action returns whether or not the class has an explicity constructor defined.
HasGeneric(text name)This action determines whether a generic of a particular name exists in this clas
HasGenericMapToParent(text key)
HasGenerics()
HasMainAction()Sets a pointer to the file on disk that contains this clas
HasParentClass(text key)This action returns true only if the action ResolveParents is currently executing for this class.
HasParentGenerics(text key)
HasSystemAction()check to see if the action is overrid
IsError()This action returns true if this class is either Libraries.
IsObject()This action returns whether or not this particular class represents Libraries.
IsProgramStartingClass()
IsResolved()This action checks to see if all types have been resolved for this clas
IsResolvingParents()This action returns true only if the action ResolveParents is currently executing for this class.
IsStatic()
MapParentGenericToMe(text parentKey, integer index)
RemoveCallLocationsFromActions(Libraries.System.File file)This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions.
RemoveCallLocationsFromDependencies(Libraries.System.File file)now get all of the parents and do tho
RemoveUseLocations(Libraries.System.File file)This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions.
ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call)Now remove them from all of the actions in this cla
ResolveActionKey(text name, Libraries.Containers.Iterator<Libraries.Language.Compile.Symbol.Variable> parameters, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)if it's a primitive, do nothi
ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
ResolveFrames()now with resolved type names and ke
ResolveParentLevels(Libraries.Language.Compile.Symbol.SymbolTable table)TODO: Add in compiler error line and locatio
ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)this is a conflict and a compiler err
ResolveType(Libraries.Language.Compile.Location location, Libraries.Language.Compile.Symbol.Type type, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)therefore, it is safe to ignore th
ResolveUseStatements(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)This action checks to see if all types have been resolved for this clas
SetColumnNumber(integer column)
SetColumnNumberEnd(integer column)
SetConstructor(Libraries.Language.Compile.Symbol.Action method)this does not need to go another level deepe
SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation)
SetFile(Libraries.System.File container)Sets a pointer to the file on disk that contains this clas
SetIndex(integer index)
SetIndexEnd(integer index)
SetIsProgramStartingClass(boolean main)
SetLineNumber(integer line)
SetLineNumberEnd(integer line)
SetLocation(Libraries.Language.Compile.Location location)This action uses the location and resets the current error's dat
SetName(text name)necessa
SetNameLocation(Libraries.Language.Compile.Location location)
SetPackage(Libraries.Language.Compile.QualifiedName pack):GetType
SetParentGenerics(text key, Libraries.Containers.Array<Libraries.Language.Compile.Symbol.Type> types)
SetStatic(boolean value)
ToText()This action is a helper action to get copies of the locatio
WeaveActionFromDirectParent(Libraries.Language.Compile.Symbol.Class mom, Libraries.Language.Compile.Symbol.Action act, Libraries.Language.Compile.CompilerErrorManager errors)mark this class so it cannot be instantiate

Actions Documentation

Add(Libraries.Language.Compile.Symbol.Action method)

get the index of the generic from the pare

Parameters

Return

Libraries.Language.Compile.CompilerError:

Add(Libraries.Language.Compile.Symbol.Variable variable)

This returns all classes that have valid use statements in the clas

Parameters

Return

Libraries.Language.Compile.CompilerError:

AddGeneric(text name)

Parameters

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

Parameters

AddUnresolvedParent(Libraries.Language.Compile.QualifiedName name)

Parameters

AddUnresolvedUseStatement(Libraries.Language.Compile.QualifiedName name)

Returns the file on disk that contains the implementation of this clas

Parameters

AddUseLocation(Libraries.Language.Compile.Location location)

Parameters

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

This action returns those parents that are directly specified in the class. Object is also always included in this lis

Parameters

Return

Libraries.Language.Compile.CompilerError:

CalculateFieldHints(Libraries.Language.Compile.CompilerErrorManager errors)

This action returns a class from a name, like Object, for Libraries.Language.Object. It assumes that the name passed in is not resolved. Fully resolvable names (Libraries.Language.Object) will not be resolved by this action, and as such, need to be resolved from the symbol tabl

Parameters

Compare(Libraries.Language.Object object)

Variable classInstance = call:variab

Parameters

Return

integer:

ComputeGenericsTables(Libraries.Language.Compile.CompilerErrorManager compilerErrorManager)

Parameters

ComputeVirtualActionTable(Libraries.Language.Compile.CompilerErrorManager errors)

This action looks at all actions listed in this class's declared action table, in addition to those actions declared in parents, and fills up a new virtual action table with all actions combined. If this action has an error, it is created and sent to the compiler error manager passed i

Parameters

ConvertStaticKeyToBytecodeInterfacePath()

This action returns the static key formatted as a class name in Java bytecod

Return

text:

ConvertStaticKeyToBytecodePath()

This action returns the static key formatted as a class name in Java bytecod

Return

text:

ConvertStaticKeyToBytecodePathTypeName()

This action returns the static key formatted as a type name in Java bytecod

Return

text:

ConvertStaticKeyToBytecodePathTypeNameInterface()

This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface typ

Return

text:

ConvertStaticKeyToFieldPath()

This action returns the static key formatted as a class name in the style of a fiel

Return

text:

ConvertStaticKeyToJavaScriptName()

This action returns the static key formatted as a class name in Java bytecod

Return

text:

ConvertStaticKeyToParentActionName()

This action digs through the generics and, if it finds one by this name, returns its index. If no generic by this name is found, then this returns -

Return

text:

ConvertStaticKeyToParentFieldInterfaceName()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object_

Return

text:

ConvertStaticKeyToParentFieldName()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object_

Return

text:

ConvertStaticKeyToPluginPath()

This action returns the static key formatted as a plugin class name in Java bytecod

Return

text:

ConvertStaticKeyToPluginPathTypeName()

This action returns the static key formatted as a plugin class type name in Java bytecod

Return

text:

ConvertStaticKeyToUnderScore()

This action returns the static key formatted as a class name in Java bytecod

Return

text:

ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter)

This action returns whether or not this particular class represents Libraries.Language.Objec

Parameters

Return

text:

CreateLocationCopy()

This action is a helper action to get copies of the locatio

Return

Libraries.Language.Compile.Location:

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(

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable)

This action returns true if this class is either Libraries.Language.Errors.Error or is a subclas

Parameters

Return

text:

GetAction(text key)

generate a hint for the gett

Parameters

Return

Libraries.Language.Compile.Symbol.Action:

GetActions()

the parents have been resolve

Return

Libraries.Containers.Iterator:

GetColumnNumber()

Return

integer

GetColumnNumberEnd()

Return

integer

GetConstructor()

This action returns whether or not the class has an explicity constructor defined. If it returns true, the user has defined a constructor. If it returns false, they have no

Return

Libraries.Language.Compile.Symbol.Action:

GetDirectParentClasses()

This action returns those parents that are directly specified in the class. Object is also always included in this lis

Return

Libraries.Containers.Iterator:

GetDisplayName()

This returns a key related to the package a class is contained in. For example, if a class's fully qualified name is Libraries.Language.Object, then this would return Libraries.Langauge. If the class's fully qualified name is Bob, then this would return the empty string, which indicates the default packag

Return

text:

GetDocumentation()

Return

Libraries.Language.Compile.Symbol.Documentation

GetFile()

Returns the file on disk that contains the implementation of this clas

Return

Libraries.System.File:

GetGeneric(integer location)

Parameters

Return

text

GetGenericList()

This action returns a list of of all generic names. For example, if the class is declared as A, then this action will return "Type, Value" without double quote

Return

text:

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.

GetHiddenVariableName()

This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface typ

Return

text:

GetIndex()

Return

integer

GetIndexEnd()

Return

integer

GetIndexOfGeneric(text name)

This action digs through the generics and, if it finds one by this name, returns its index. If no generic by this name is found, then this returns -

Parameters

Return

integer:

GetInterfaceName()

Return

text

GetLineNumber()

Return

integer

GetLineNumberEnd()

Return

integer

GetName()

Return

text

GetNameLocation()

Return

Libraries.Language.Compile.Location

GetNumberGenerics()

Return

integer

GetPackage()

This action converts the static key of this class to a name that can be used by the compiler as a class field name. An example would be that Libraries.Language.Object becomes Libraries_Language_Object_

Return

Libraries.Language.Compile.QualifiedName:

GetPackageKey()

This returns a key related to the package a class is contained in. For example, if a class's fully qualified name is Libraries.Language.Object, then this would return Libraries.Langauge. If the class's fully qualified name is Bob, then this would return the empty string, which indicates the default packag

Return

text:

GetParentActions()

this is an err

Return

Libraries.Containers.Iterator:

GetParentClass(text key)

This action returns the order in which parents should be instantiated. It provides an optimal ordering to ensure children do not get created before their parent

Parameters

Return

Libraries.Language.Compile.Symbol.Class:

GetParentClasses()

Obtains a list of all parents reachable from this class. This includes parents and the parents of parents as a flattened lis

Return

Libraries.Containers.Iterator:

GetParentCreationOrder()

This action returns the order in which parents should be instantiated. It provides an optimal ordering to ensure children do not get created before their parent

Return

Libraries.Containers.Iterator:

GetParentGenerics(text key)

Parameters

Return

Libraries.Containers.Array

GetPluginName()

Returns the name of the plugin for this clas

Return

text:

GetStaticKey()

is there a name in the use lis

Return

text:

GetUnresolvedParents()

get the parent corresponding to this k

Return

Libraries.Containers.Iterator:

GetUnresolvedUseStatement(text key)

it's fine to return undefined, because we just ignored the reque

Parameters

Return

Libraries.Language.Compile.QualifiedName:

GetUnresolvedUseStatements()

if it's the same name, but a different class, then throw an err

Return

Libraries.Containers.Iterator:

GetUseLocationIterator(Libraries.System.File file)

Parameters

Return

Libraries.Containers.Iterator

GetValidUseName(text name)

This action returns a class from a name, like Object, for Libraries.Language.Object. It assumes that the name passed in is not resolved. Fully resolvable names (Libraries.Language.Object) will not be resolved by this action, and as such, need to be resolved from the symbol tabl

Parameters

Return

Libraries.Language.Compile.Symbol.Class:

GetValidUses()

This returns all classes that have valid use statements in the clas

Return

Libraries.Containers.Iterator:

GetVariable(text key)

generate a hint for the gett

Parameters

Return

Libraries.Language.Compile.Symbol.Variable:

GetVariables()

now check if there's a sett

Return

Libraries.Containers.Iterator:

GetVirtualAction(text key)

first check if there's a gett

Parameters

Return

Libraries.Language.Compile.Symbol.Action:

GetVirtualTable()

overrid

Return

Libraries.Containers.Iterator:

GuessBestUsage(Libraries.Language.Compile.Symbol.SymbolTable table, text key)

This action calculates the most likely class that might be meant from a key and returns undefined if it considers its guess to be non-exact. For example, if a name could mean multiple uses, it does this. This action should not be used except in the circumstances that type resolution is not complete and we need a stochastic best guess for the probable type, which is useful in code completion or potentially other application

Parameters

Return

Libraries.Language.Compile.Symbol.Class:

HasAction(text key)

the parent is now resolve

Parameters

Return

boolean:

HasBlueprints()

Return

boolean

HasConstructor()

This action returns whether or not the class has an explicity constructor defined. If it returns true, the user has defined a constructor. If it returns false, they have no

Return

boolean:

HasGeneric(text name)

This action determines whether a generic of a particular name exists in this clas

Parameters

Return

boolean:

HasGenericMapToParent(text key)

Parameters

Return

boolean

HasGenerics()

Return

boolean

HasMainAction()

Sets a pointer to the file on disk that contains this clas

Return

boolean:

HasParentClass(text key)

This action returns true only if the action ResolveParents is currently executing for this class. It is useful in detecting circular inheritance, which is not allowed in Quoru

Parameters

Return

boolean:

HasParentGenerics(text key)

Parameters

Return

boolean

HasSystemAction()

check to see if the action is overrid

Return

boolean:

IsError()

This action returns true if this class is either Libraries.Language.Errors.Error or is a subclas

Return

boolean:

IsObject()

This action returns whether or not this particular class represents Libraries.Language.Objec

Return

boolean:

IsProgramStartingClass()

Return

boolean

IsResolved()

This action checks to see if all types have been resolved for this clas

Return

boolean:

IsResolvingParents()

This action returns true only if the action ResolveParents is currently executing for this class. It is useful in detecting circular inheritance, which is not allowed in Quoru

Return

boolean:

IsStatic()

Return

boolean

MapParentGenericToMe(text parentKey, integer index)

Parameters

Return

integer

RemoveCallLocationsFromActions(Libraries.System.File file)

This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. As such, it removes them both from these actions and those defined and used by the paren

Parameters

RemoveCallLocationsFromDependencies(Libraries.System.File file)

now get all of the parents and do tho

Parameters

RemoveUseLocations(Libraries.System.File file)

This action removes all of the call locations from a particular file to a particular set of actions in this class's available actions. As such, it removes them both from these actions and those defined and used by the paren

Parameters

ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call)

Now remove them from all of the actions in this cla

Parameters

Return

Libraries.Language.Compile.Symbol.ActionCallResolution:

ResolveActionKey(text name, Libraries.Containers.Iterator<Libraries.Language.Compile.Symbol.Variable> parameters, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)

if it's a primitive, do nothi

Parameters

Return

text:

ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)

Parameters

ResolveFrames()

now with resolved type names and ke

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

TODO: Add in compiler error line and locatio

Parameters

ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)

this is a conflict and a compiler err

Parameters

ResolveType(Libraries.Language.Compile.Location location, Libraries.Language.Compile.Symbol.Type type, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)

therefore, it is safe to ignore th

Parameters

ResolveUseStatements(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)

This action checks to see if all types have been resolved for this clas

Parameters

SetColumnNumber(integer column)

Parameters

SetColumnNumberEnd(integer column)

Parameters

SetConstructor(Libraries.Language.Compile.Symbol.Action method)

this does not need to go another level deepe

Parameters

SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation)

Parameters

SetFile(Libraries.System.File container)

Sets a pointer to the file on disk that contains this clas

Parameters

SetIndex(integer index)

Parameters

SetIndexEnd(integer index)

Parameters

SetIsProgramStartingClass(boolean main)

Parameters

SetLineNumber(integer line)

Parameters

SetLineNumberEnd(integer line)

Parameters

SetLocation(Libraries.Language.Compile.Location location)

This action uses the location and resets the current error's dat

Parameters

SetName(text name)

necessa

Parameters

SetNameLocation(Libraries.Language.Compile.Location location)

Parameters

SetPackage(Libraries.Language.Compile.QualifiedName pack)

:GetType

Parameters

SetParentGenerics(text key, Libraries.Containers.Array<Libraries.Language.Compile.Symbol.Type> types)

Parameters

SetStatic(boolean value)

Parameters

ToText()

This action is a helper action to get copies of the locatio

Return

text:

WeaveActionFromDirectParent(Libraries.Language.Compile.Symbol.Class mom, Libraries.Language.Compile.Symbol.Action act, Libraries.Language.Compile.CompilerErrorManager errors)

mark this class so it cannot be instantiate

Parameters