Libraries.Language.Compile.Symbol.Class Documentation
Inherits from: Libraries.Language.Compile.Location, Libraries.Language.Object, Libraries.Language.Compile.Symbol.Symbol
Actions Documentation
Add(Libraries.Language.Compile.Symbol.Action method)
get the index of the generic from the parent
Parameters
Return
Add(Libraries.Language.Compile.Symbol.Variable variable)
This returns all classes that have valid use statements in the class.
Parameters
Return
AddGeneric(text name)
Parameters
- text name
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 class.
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 list.
Parameters
Return
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 table.
Parameters
Compare(Libraries.Language.Object object)
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. If this action has an error, it is created and sent to the compiler error manager passed in.
Parameters
ConvertStaticKeyToBytecodeInterfacePath()
This action returns the static key formatted as a class name in Java bytecode.
Return
text:
ConvertStaticKeyToBytecodePath()
This action returns the static key formatted as a class name in Java bytecode.
Return
text:
ConvertStaticKeyToBytecodePathTypeName()
This action returns the static key formatted as a type name in Java bytecode.
Return
text:
ConvertStaticKeyToBytecodePathTypeNameInterface()
This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface type.
Return
text:
ConvertStaticKeyToFieldPath()
This action returns the static key formatted as a class name in the style of a field.
Return
text:
ConvertStaticKeyToJavaScriptName()
This action returns the static key formatted as a class name in Java bytecode.
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 -1.
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 bytecode.
Return
text:
ConvertStaticKeyToPluginPathTypeName()
This action returns the static key formatted as a plugin class type name in Java bytecode.
Return
text:
ConvertStaticKeyToUnderScore()
This action returns the static key formatted as a class name in Java bytecode.
Return
text:
ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter)
This action returns whether or not this particular class represents Libraries.Language.Object.
Parameters
- Libraries.Language.Compile.Symbol.Variable
- boolean isGetter
Return
text:
CreateLocationCopy()
This action is a helper action to get copies of the location.
Return
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)
GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable)
This action returns true if this class is either Libraries.Language.Errors.Error or is a subclass.
Parameters
Return
text:
GetAction(text key)
GetActions()
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 not.
Return
GetDirectParentClasses()
This action returns those parents that are directly specified in the class. Object is also always included in this list.
Return
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 package.
Return
text:
GetDocumentation()
GetFile()
Returns the file on disk that contains the implementation of this class.
Return
GetGeneric(integer location)
Parameters
- integer location
Return
text
GetGenericList()
This action returns a list of of all generic names. For example, if
the class is declared as A
Return
text:
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()
GetHiddenVariableName()
This action returns the static key formatted as a type name in Java bytecode. This version acts as an interface type.
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 -1.
Parameters
- text name
Return
integer:
GetInterfaceName()
Return
text
GetLineNumber()
Return
integer
GetLineNumberEnd()
Return
integer
GetName()
Return
text
GetNameLocation()
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
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 package.
Return
text:
GetParentActions()
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 parents.
Parameters
- text key
Return
GetParentClasses()
Obtains a list of all parents reachable from this class. This includes parents and the parents of parents as a flattened list.
Return
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 parents.
Return
GetParentGenerics(text key)
GetParentSize()
get the parent corresponding to this key
Return
integer:
GetPluginName()
Returns the name of the plugin for this class.
Return
text:
GetStaticKey()
use that.
Return
text:
GetUnresolvedParents()
GetUnresolvedUseStatement(text key)
it's fine to return undefined, because we just ignored the request
Parameters
- text key
Return
GetUnresolvedUseStatements()
if it's the same name, but a different class, then throw an error
Return
GetUseLocationIterator(Libraries.System.File file)
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 table.
Parameters
- text name
Return
GetValidUses()
This returns all classes that have valid use statements in the class.
Return
GetVariable(text key)
GetVariables()
GetVirtualAction(text key)
GetVirtualTable()
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 applications.
Parameters
Return
HasAction(text key)
TODO: Add in compiler error line and location.
Parameters
- text key
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 not.
Return
boolean:
HasGeneric(text name)
This action determines whether a generic of a particular name exists in this class.
Parameters
- text name
Return
boolean:
HasGenericMapToParent(text key)
Parameters
- text key
Return
boolean
HasGenerics()
Return
boolean
HasMainAction()
Sets a pointer to the file on disk that contains this class.
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 Quorum.
Parameters
- text key
Return
boolean:
HasParentGenerics(text key)
Parameters
- text key
Return
boolean
HasSystemAction()
check to see if the action is overriden
Return
boolean:
IsError()
This action returns true if this class is either Libraries.Language.Errors.Error or is a subclass.
Return
boolean:
IsImplicitClass()
now resolve the constructor, if one exists
Return
boolean:
IsObject()
This action returns whether or not this particular class represents Libraries.Language.Object.
Return
boolean:
IsProgramStartingClass()
Return
boolean
IsResolved()
This action checks to see if all types have been resolved for this class.
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 Quorum.
Return
boolean:
IsStatic()
Return
boolean
IsUserCode()
end
Return
boolean:
MapParentGenericToMe(text parentKey, integer index)
Parameters
- text parentKey
- integer index
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 parent.
Parameters
RemoveCallLocationsFromDependencies(Libraries.System.File file)
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 parent.
Parameters
ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call)
Now remove them from all of the actions in this class
Parameters
Return
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 nothing
Parameters
- text name
- Libraries.Containers.Iterator
- Libraries.Language.Compile.Symbol.SymbolTable
- Libraries.Language.Compile.CompilerErrorManager
Return
text:
ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
ResolveFrames()
now with resolved type names and keys
ResolveParentLevels(Libraries.Language.Compile.Symbol.SymbolTable table)
TODO: Add in compiler error line and location.
Parameters
ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
this is a conflict and a compiler error
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 this
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 class.
Parameters
SetColumnNumber(integer column)
Parameters
- integer column
SetColumnNumberEnd(integer column)
Parameters
- integer column
SetConstructor(Libraries.Language.Compile.Symbol.Action method)
SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation)
SetFile(Libraries.System.File container)
SetIndex(integer index)
Parameters
- integer index
SetIndexEnd(integer index)
Parameters
- integer index
SetIsProgramStartingClass(boolean main)
Parameters
- boolean main
SetLineNumber(integer line)
Parameters
- integer line
SetLineNumberEnd(integer line)
Parameters
- integer line
SetLocation(Libraries.Language.Compile.Location location)
This action uses the location and resets the current error's data.
Parameters
SetName(text name)
necessary
Parameters
- text name
SetNameLocation(Libraries.Language.Compile.Location location)
Parameters
SetPackage(Libraries.Language.Compile.QualifiedName pack)
SetParentGenerics(text key, Libraries.Containers.Array<Libraries.Language.Compile.Symbol.Type> types)
Parameters
- text key
- Libraries.Containers.Array
SetStatic(boolean value)
Parameters
- boolean value
SetUserCode(boolean isUserCode)
end
Parameters
- boolean isUserCode
ToText()
This action is a helper action to get copies of the location.
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 instantiated.
Parameters
On this page
Variables TableAction Documentation- Add(Libraries.Language.Compile.Symbol.Action method)
- Add(Libraries.Language.Compile.Symbol.Variable variable)
- AddGeneric(text name)
- AddParentClass(Libraries.Language.Compile.Symbol.Class clazz)
- AddUnresolvedParent(Libraries.Language.Compile.QualifiedName name)
- AddUnresolvedUseStatement(Libraries.Language.Compile.QualifiedName name)
- AddUseLocation(Libraries.Language.Compile.Location location)
- AddValidUse(Libraries.Language.Compile.Symbol.Class clazz)
- CalculateFieldHints(Libraries.Language.Compile.CompilerErrorManager errors)
- Compare(Libraries.Language.Object object)
- ComputeGenericsTables(Libraries.Language.Compile.CompilerErrorManager compilerErrorManager)
- ComputeVirtualActionTable(Libraries.Language.Compile.CompilerErrorManager errors)
- ConvertStaticKeyToBytecodeInterfacePath()
- ConvertStaticKeyToBytecodePath()
- ConvertStaticKeyToBytecodePathTypeName()
- ConvertStaticKeyToBytecodePathTypeNameInterface()
- ConvertStaticKeyToFieldPath()
- ConvertStaticKeyToJavaScriptName()
- ConvertStaticKeyToParentActionName()
- ConvertStaticKeyToParentFieldInterfaceName()
- ConvertStaticKeyToParentFieldName()
- ConvertStaticKeyToPluginPath()
- ConvertStaticKeyToPluginPathTypeName()
- ConvertStaticKeyToUnderScore()
- ConvertToActionNameFromField(Libraries.Language.Compile.Symbol.Variable variable, boolean isGetter)
- CreateLocationCopy()
- Equals(Libraries.Language.Object object)
- GenerateSetterNameFromField(Libraries.Language.Compile.Symbol.Variable variable)
- GetAction(text key)
- GetActions()
- GetColumnNumber()
- GetColumnNumberEnd()
- GetConstructor()
- GetDirectParentClasses()
- GetDisplayName()
- GetDocumentation()
- GetFile()
- GetGeneric(integer location)
- GetGenericList()
- GetHashCode()
- GetHiddenVariableName()
- GetIndex()
- GetIndexEnd()
- GetIndexOfGeneric(text name)
- GetInterfaceName()
- GetLineNumber()
- GetLineNumberEnd()
- GetName()
- GetNameLocation()
- GetNumberGenerics()
- GetPackage()
- GetPackageKey()
- GetParentActions()
- GetParentClass(text key)
- GetParentClasses()
- GetParentCreationOrder()
- GetParentGenerics(text key)
- GetParentSize()
- GetPluginName()
- GetStaticKey()
- GetUnresolvedParents()
- GetUnresolvedUseStatement(text key)
- GetUnresolvedUseStatements()
- GetUseLocationIterator(Libraries.System.File file)
- GetValidUseName(text name)
- GetValidUses()
- GetVariable(text key)
- GetVariables()
- GetVirtualAction(text key)
- GetVirtualTable()
- GuessBestUsage(Libraries.Language.Compile.Symbol.SymbolTable table, text key)
- HasAction(text key)
- HasBlueprints()
- HasConstructor()
- HasGeneric(text name)
- HasGenericMapToParent(text key)
- HasGenerics()
- HasMainAction()
- HasParentClass(text key)
- HasParentGenerics(text key)
- HasSystemAction()
- IsError()
- IsImplicitClass()
- IsObject()
- IsProgramStartingClass()
- IsResolved()
- IsResolvingParents()
- IsStatic()
- IsUserCode()
- MapParentGenericToMe(text parentKey, integer index)
- RemoveCallLocationsFromActions(Libraries.System.File file)
- RemoveCallLocationsFromDependencies(Libraries.System.File file)
- RemoveUseLocations(Libraries.System.File file)
- ResolveAction(Libraries.Language.Compile.Symbol.ActionCall call)
- ResolveActionKey(text name, Libraries.Containers.Iterator
parameters, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors) - ResolveAllTypes(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
- ResolveFrames()
- ResolveParentLevels(Libraries.Language.Compile.Symbol.SymbolTable table)
- ResolveParents(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
- ResolveType(Libraries.Language.Compile.Location location, Libraries.Language.Compile.Symbol.Type type, Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
- ResolveUseStatements(Libraries.Language.Compile.Symbol.SymbolTable table, Libraries.Language.Compile.CompilerErrorManager errors)
- SetColumnNumber(integer column)
- SetColumnNumberEnd(integer column)
- SetConstructor(Libraries.Language.Compile.Symbol.Action method)
- SetDocumentation(Libraries.Language.Compile.Symbol.Documentation documentation)
- SetFile(Libraries.System.File container)
- SetIndex(integer index)
- SetIndexEnd(integer index)
- SetIsProgramStartingClass(boolean main)
- SetLineNumber(integer line)
- SetLineNumberEnd(integer line)
- SetLocation(Libraries.Language.Compile.Location location)
- SetName(text name)
- SetNameLocation(Libraries.Language.Compile.Location location)
- SetPackage(Libraries.Language.Compile.QualifiedName pack)
- SetParentGenerics(text key, Libraries.Containers.Array
types) - SetStatic(boolean value)
- SetUserCode(boolean isUserCode)
- ToText()
- WeaveActionFromDirectParent(Libraries.Language.Compile.Symbol.Class mom, Libraries.Language.Compile.Symbol.Action act, Libraries.Language.Compile.CompilerErrorManager errors)